не удалось выполнить операцию так как файл не найден hyper v
Hyper-V Ошибка доступа (0x80070005). Не удается создать хранилище
Симптомы:
С этой ошибкой я с толкнулся при попытке резервного копирования виртуальных машин на хосте Hyper-V. Вот так она выглядела в Veeam:
Hyper-V Ошибка доступа (0x80070005)
На самом хосте Hyper-V, при попытке создать контрольную точку выскакивала ошибка:
Hyper-V Ошибка доступа (0x80070005)
Причины:
Ясно было, что проблема с правами. Скажу, что хост настраивал не я, и что там было «наверчено», непонятно. После «раскопок» обнаружил, что виртуальные машины были расположены в нескольких папках. Машины из одной папки позволяли создать контрольные точки, а из другой — нет.
В свойствах безопасности папки, ВМ из которой работали нормально, была группа пользователей Virtual Machines, а в свойствах другой ее не было. (и найти ее мне не удалось…))
Решение:
Для исправления ситуации можно было, конечно, разрешить доступ к папке виртуальных машин всем пользователям с правами на изменение, но это как-то…
Поэтому я решил переместить «проблемные» виртуальные машины в другое место. Для этого в диспетчере Hyper-V выбираем ВМ и жмем «Переместить».
Откроется мастер перемещения. Жмем «Далее».
На следующем экране выбираем «Переместить хранилище ВМ».
Указываем папку для расположения виртуальной машины.
На следующем шаге жмем «Готово».
Начнется перемещение виртуальной машины.
После его завершения проблема с созданием контрольных точек исчезла.
Хочу отметить, что проблема не воспроизводилась и после обратного перемещения ВМ в исходное расположение.
Еще статьи про виртуализацию VMware и Hyper-V.
Ошибка доступа к виртуальному диску в Hyper-V
Ситуация следующая: виртуальная машина Hyper-V не может запуститься, выдавая при старте ошибку примерно такого содержания «VM failed to start. Synthetic SCSI controller (Instance ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx): Failed to Power on with Error ‘General access denied error’.».
Если развернуть окно и посмотреть детальную информацию об ошибке, то станет понятно, что проблема кроется в отсутствии доступа к файлу виртуального диска. Дело в том, что виртуальной машине (как и обычному пользователю) для работы с файлом необходимы NTFS-права на этот файл. В том случае, когда у виртуальной машины отсутствуют необходимые разрешения, то она не сможет стартовать и вывалится с ошибкой.
Как видно на рисунке, каждая виртуальная машина имеет свой уникальный идентификатор (Virtual machine ID). Для устранения ошибки надо взять этот ID и добавить его в список контроля доступа VHD-файла. Сделать это можно из командной строки, с помощью утилиты с неблагозвучным 🙂 названием Icacls. В нашем примере команда будет выглядеть так:
Icacls H:\Hyper-V\SRV1.vhdx /grant ″NT Virtual Machine\f72e624c-4cc2-4167-b852-a47d412de8440″:(F)
Этой командой мы выдали виртуальной машине права Full Control на файл. В этом можно убедиться, открыв свойства файла и перейдя на вкладку Security. Как видите, разрешения в порядке и теперь виртуальная машина должна успешно запуститься.
Примечание. Подобную операцию необходимо проделать для каждого vhdx, и, если у машины имеются моментальные снимки (checkpoint), то для каждого avhdx файла, имеющего отношение к данной ВМ.
В заключение опишу некоторые ситуации, которые могут привести к потере прав:
• Перенос файла виртуального диска в другое расположение. Напомню, что при переносе файла на другой диск разрешения файловой системы удаляются и заменяются наследуемыми. Избежать этого можно, перенося файлы виртуальных машин с помощью встроенных средств Hyper-V, таких как Storage migration или Export\Import;
• Копирование файла виртуального диска. Ошибка может возникнуть при попытке подсунуть виртуальной машине чужой диск. Поэтому для ″размножения″ лучше воспользоваться либо экспортом, либо, при наличии VMM, клонированием виртуальных машин;
• Восстановление ВМ из бэкапа. Некоторые программы резервного копирования, например тот же DPM, при восстановлении в другое расположение не выставляют на файлы нужные права.
Исправление распространенных ошибок Hyper-V
Репликация ОС или Hyper-V экономит много времени. Однако репликация Hyper-V, также называемая «реплика Hyper-V», отличается. Процесс позволяет выполнять репликацию с одной виртуальной машины на другую среду виртуальной машины.
Проще говоря, он создает копию работающей виртуальной машины на автономной виртуальной машине. Обычно это полезно для стратегии аварийного восстановления.
Исправить ошибки репликации Hyper-V
Причиной сбоя репликации Hyper-V может быть несколько причин. Это могут быть проблемы с сетью, устаревший хост, целостность или что-то еще.
Ниже приведены некоторые из распространенных проблем и решений:
Интересно отметить, что большинство ошибок Hyper-V возникают из-за проблем синхронизации между ними. Либо хост находится в обслуживании, либо сервер реплики находится в автономном режиме или не готов.
1] Hyper-V приостановил репликацию для виртуальной машины из-за неисправимого сбоя. (Идентификатор виртуальной машины)
Чтобы решить, проверьте по следующим пунктам:
2] Hyper-V запретил запуск виртуальной машины, так как она подготовлена к отработке отказа
При настройке страницы сервера реплики необходимо ввести NetBIOS или полное доменное имя сервера реплики. Если сервер реплики является частью отказоустойчивого кластера, введите имя посредника реплики Hyper-V.
Если есть что-то кроме того, что мы рассказали выше, у вас будет эта ошибка, потому что процесс восстановления после сбоя не может ее найти. Чтобы исправить это, вам нужно будет отредактировать страницу настройки репликации и заменить имя на NetBIOS или FQDN. Как только исправление будет сделано, вы не получите сообщение об ошибке репликации Hyper-V.
3] Hyper-V Не удалось разрешить имя сервера реплики
То же, что и выше, и это явная ошибка. Если Hyper-V не может разрешить имя сервера реплики, необходимо проверить, используете ли вы NetBIOS или FQDN. Если вы используете правильный формат, то проблема с DNS. Вы должны проверить DNS-сервер, чтобы выяснить почему он не может разрешить ожидаемый адрес сервера.
4] Hyper-V не в состоянии принять репликацию на сервере реплики для виртуальной машины
Когда репликация включена на виртуальной машине, процесс создает файлы виртуальной машины реплики, где все хранится. У каждой из этих папок есть имя, которое представляет GUID. Это уникально для каждого исходного сервера.
Если по какой-либо причине мастер установки Hyper-V имеет такой же UID, поскольку он уже был настроен один раз, вы получите эту ошибку. Поскольку процесс проверяет наличие дублирующейся виртуальной машины перед завершением, появляется ошибка.
Альтернативой этому методу является не использование GUID. Документы Microsoft предлагают следующее:
5] Не удалось выполнить операцию, Hyper-V не находится в допустимом состоянии репликации для выполнения операции
Это происходит по двум причинам:
Первый — это когда сервер не настроен как сервер реплики. Поэтому, когда источник инициирует процесс репликации, другая сторона не знает, что делать с вводом.
Второй — когда сервер блокирует доступ к Hyper-V на сервере репликации.
Хотя первая причина может быть устранена путем подготовки сервера реплики, вторая — это скорее проблема брандмауэра, которую Системный администратор может решить за вас.
Распространенные ошибки в настройке Hyper-V
Как старший программный менеджер в группе Product Quality and Online (PQO), я особое внимание уделяю технологиям виртуализации, то есть продуктам Microsoft Hyper-V Server, System Center Virtual Machine Manager (SCVMM), Microsoft Application Virtualization (App-V), Microsoft Enterprise Desktop Virtualization (MED-V) и Windows Virtual PC. Совместно с командами разработчиков я работаю над решением проблем, о которых пользователи сообщают в службу поддержки Microsoft. Данные проблемы следует учитывать всем, кто планирует устанавливать Hyper-V или уже работает с ним
Исключения в антивирусе
Если на сервере Hyper-V установлено антивирусное программное обеспечение и файлы виртуальной машины Hyper-V не добавлены в список исключений компонента сканирования в реальном времени, то вы можете столкнуться со множеством трудностей. Наиболее распространенная проблема — администратор открывает консоль управления Hyper-V и обнаруживает, что виртуальные машины исчезли. Другие симптомы:
Чтобы избежать этих проблем, добавьте в список исключений компонента сканирования в реальном времени в своем антивирусе перечисленные ниже папки и файлы.
Рекомендуемые исключения, необходимые для работы Hyper-V, а также известные проблемы, связанные с антивирусным программным обеспечением, описаны в статье Microsoft «Virtual machines are missing in the Hyper-V Manager Console or when you create or start a virtual machine, you receive one of the following error codes: ‘0x800704C8’, ‘0x80070037’ or ‘0x800703E3’» (support.microsoft.com/kb/961804).
Снимки и нехватка места на диске
Если снимки не могут быть объединены из-за нехватки места на диске (то есть error0x80070070), не удаляйте файлы с расширением. avhd (файлы снимков). В результате удаления файлов. avhd произойдет потеря данных, которая приведет к тому, что виртуальная машина перестанет запускаться. Если у вас нет возможности освободить необходимое дисковое пространство на томе, где хранятся файлы. avhd, требуется сделать следующее:
Полный список наработанных методов использования снимков можно найти в статье TechNet «Hyper-V Virtual Machine Snapshots: FAQ» по ссылке technet.microsoft.com/en-us/library/dd560637(WS.10).aspx.
Компоненты интеграции не обновлены
После того как исправление или обновление для Hyper-V установлено на сервер (Windows 2008 R2, Server 2008 или Microsoft Hyper-V Server), просмотрите документацию, связанную с исправлением, чтобы узнать, требует ли это исправление обновления компонентов интеграции виртуальной машины. Вы также можете просмотреть список обновлений Hyper-V на сайте TechNet, чтобы выяснить, включает ли обновление усовершенствованные компоненты интеграции.
Пример проблемы, которая может возникнуть из-за устаревших компонентов интеграции, можно найти в статье Microsoft «The network connection is lost on a Hyper-V virtual machine» (support.microsoft.com/kb/2223005), где говорится об исправлении для Hyper-V, которое решает проблему сетевого подключения к виртуальной машине. Для этого исправления требуется обновить компоненты интеграции виртуальных машин с системами Windows XP и Windows Server 2003. Если исправление установить на сервер Hyper-V, но не обновить компоненты интеграции виртуальной машины, то, вероятно, сетевая проблема, которую должно было устранить исправление, останется.
Чтобы определить, какие виртуальные машины имеют устаревшие компоненты интеграции, можно просмотреть журнал событий Microsoft-Windows-Hyper-V-Integration/Admin. Если виртуальная машина использует устаревшие компоненты интеграции, то при ее запуске в журнал будет записано следующее событие:
Log Name: Microsoft-Windows-Hyper-VIntegration-Admin
Description: Hyper-V Heartbeat connected to virtual machine ‘vmname’, but the version does not match the version expected by Hyper-V (Virtual machine ID A5C22E8D-5F58-4186-832F-E7C2AE0B4804). This is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.
Событие с идентификатором 4010 будет записано для каждой устаревшей службы интеграционного компонента виртуальной машины (экран 1).
Экран 1. Событие 4010 в журнале |
Вы также можете задействовать инструмент Hyper-V Best Practices Analyzer (BPA) или сценарии PowerShell, чтобы определить, какие виртуальные машины имеют устаревшие компоненты интеграции. Узнать, как получить инструмент Hyper-V BPA, можно из статьи Microsoft «Hyper-V BPA for Windows Server 2008 R2 is now available» (support.microsoft.com/kb/977238). Команда разработчиков Hyper-V разместила сценарий PowerShell в хранилище сценариев TechNet по ссылке gallery.technet.microsoft.com/scriptcenter/251337c5-ab97-40b3-a888-80b68102d1d5.
Функция Refresh virtual machine configuration и кластер
Консоль управления Hyper-V не поддерживает кластеры, и это означает, что изменения настроек виртуальных сетей или виртуальных машин в данной консоли должны быть продублированы на другие узлы кластеров с помощью функции Refresh virtual machine configuration в консоли диспетчера отказоустойчивых кластеров.
Если не воспользоваться этой функцией, то виртуальная машина либо вообще не сможет перемещаться между узлами кластера, либо ее параметры (например, VLAN ID), которые были изменены, будут потеряны при перемещении виртуальной машины на другой узел кластера Hyper-V. Чтобы обновить настройки виртуальной машины, выполните следующие шаги.
Экран 2. Функция Refresh virtual machine configuration |
В системе Server 2008 R2 функцией Refresh virtual machine configuration можно не пользоваться, если вы меняете параметры виртуальной машины с помощью консоли диспетчера отказоустойчивых кластеров. Для изменения параметров виртуальной машины в этой консоли сделайте следующее:
Сбои в работе Hyper-V
Чтобы посмотреть полный список распространенных проблем в настройке Hyper-V, обратитесь к статье TechNet «Hyper-V: Gotchas» по ссылке social.technet.microsoft.com/wiki/contents/articles/hyper-v-gotchas.aspx. Этот список обновляется раз в квартал при выявлении новых проблем.
Джефф Паттерсон (jeffpatt@microsoft.com) — старший менеджер в команде Product Quality and Online в Microsoft
Поделитесь материалом с коллегами и друзьями
Устранение неполадок с Hyper-V в Windows 10
После обновления до Windows 10 не удается подключиться к узлу нижнего уровня (Windows 8.1 или Server 2012 R2)
В Windows 10 диспетчер Hyper-V перемещен в WinRM для удаленного управления. Это значит, что теперь для управления удаленным узлом Hyper-V с помощью диспетчера Hyper-V на нем необходимо включить удаленное управление.
Создается неправильный тип контрольной точки даже после его изменения
При создании контрольной точки в программе «Подключение к виртуальной машине» используется тип, который был указан на момент ее открытия, даже если вы изменили его в диспетчере Hyper-V.
Закройте и снова откройте программу «Подключение к виртуальной машине», чтобы она создала правильный тип контрольной точки.
При попытке создать виртуальный жесткий диск на устройстве флэш-памяти отображается сообщение об ошибке
Hyper-V не поддерживает диски в формате FAT или FAT32, так как эти файловые системы не предоставляют списки управления доступом (ACL) и не поддерживает файлы размером более 4 ГБ. Диски в формате ExFAT имеют ограниченную функциональность ACL, поэтому также не поддерживаются из соображений безопасности. В PowerShell отображается сообщение об ошибке «Системе не удалось создать «\[путь к VHD\]»: запрошенная операция не может быть завершена из-за ограничения файловой системы (0x80070299)».
Используйте диск с файловой системой NTFS.
При попытке установки появляется сообщение: «Не удается установить Hyper-V: процессор не поддерживает преобразование адресов второго уровня (SLAT)».
Для запуска виртуальных машин с помощью Hyper-V требуется поддержка SLAT. Если ваш компьютер не поддерживает SLAT, размещение на нем виртуальных машин невозможно.
Если вы просто хотите установить средства управления, снимите флажок Платформа Hyper-V в разделе Программы и компоненты Включение или отключение компонентов Windows.