Исправление распространенных ошибок Hyper-V
Репликация ОС или Hyper-V экономит много времени. Однако репликация Hyper-V, также называемая «реплика Hyper-V», отличается. Процесс позволяет выполнять репликацию с одной виртуальной машины на другую среду виртуальной машины.
Проще говоря, он создает копию работающей виртуальной машины на автономной виртуальной машине. Обычно это полезно для стратегии аварийного восстановления.
Исправить ошибки репликации Hyper-V
Причиной сбоя репликации Hyper-V может быть несколько причин. Это могут быть проблемы с сетью, устаревший хост, целостность или что-то еще.
Ниже приведены некоторые из распространенных проблем и решений:
- Hyper-V приостановил репликацию для виртуальной машины из-за неисправимого сбоя. (Идентификатор виртуальной машины ).
- Hyper-V запретил запуск виртуальной машины, потому что она подготовлена к отработке отказа
- Hyper-V Не удалось разрешить имя сервера реплики
- Hyper-V не в состоянии принять репликацию на сервере реплики для виртуальной машины
- Не удалось выполнить операцию. Hyper-V не находится в допустимом состоянии репликации для выполнения операции
Интересно отметить, что большинство ошибок Hyper-V возникают из-за проблем синхронизации между ними. Либо хост находится в обслуживании, либо сервер реплики находится в автономном режиме или не готов.
1] Hyper-V приостановил репликацию для виртуальной машины из-за неисправимого сбоя. (Идентификатор виртуальной машины)
Полное описание включает: Hyper-V не может реплицировать изменения для виртуальной машины , поскольку сервер-реплика отклонил соединение. Это может быть связано с тем, что на сервере-реплике имеется ожидающая операция репликации для той же виртуальной машины, которая занимает больше времени, чем ожидалось или имеет существующее соединение.
Чтобы решить, проверьте по следующим пунктам:
- Щелкните правой кнопкой мыши виртуальную машину и выберите возобновление процесса репликации.
- Убедитесь, что сервер репликации подключен.
- На сервере реплик всегда должно быть достаточно места
- Достаточная пропускная способность сети, чтобы процесс репликации мог завершиться за один цикл.
- Обычно это может решить проблему, но если это не так, то удалите реплику и заново настройте репликацию, предлагает Microsoft. Вам придется подождать, пока синхронизация не будет завершена. Если сервер репликации долгое время находился в автономном режиме, исходный сервер акклиматизирует столько данных, что становится невозможным его пересылка.
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 может не запуститься, и вы получите сообщение об ошибке 0x80070005: общая ошибка «Отказано в доступе»
Эта статья поможет устранить ошибку 0x80070005, которая возникает при сбойе запуска виртуальной машины Hyper-V.
Исходная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 2249906
Симптомы
Виртуальная машина Hyper-V может не запуститься, и вы получите сообщение об ошибке, похожее на следующее:
При попытке запустить выбранные виртуальные машины произошла ошибка.
Не удалось запустить VMName.
Эмулированный Microsoft IDE-контроллер (ИД экземпляра <83F8638B-8DCA-4152-9EDA-2CA8B33039B4>): не удалось питание с ошибкой «General access denied error»
Учетная запись IDE/ATAPI не имеет достаточных привилегий для открытия вложения E:\VMs\VMName\Disk0.vhd. Ошибка: «Общая ошибка «Отказано в доступе»
Учетная запись не имеет достаточных прав для открытия вложения E:\VMs\VMName\Disk0.vhd. Ошибка: «Общая ошибка «Отказано в доступе»
При нажатии кнопки «Подробнее» в окне сообщения отображаются следующие сведения:
Не удалось запустить VMName. (ИД виртуальной машины 5FC5C385-BD98-451F-B3F3-1E50E06EE663)
Эмулированный IDE-контроллер Microsoft «VMName» (код экземпляра <83F8638B-8DCA-4152-9EDA-2CA8B33039B4>): ошибка «Общая ошибка «Отказано в доступе» (0x80070005). (ИД виртуальной машины 5FC5C385-BD98-451F-B3F3-1E50E06EE663)
«VMName»: учетная запись IDE/ATAPI не имеет достаточных привилегий для открытия вложения E:\VMs\VMName\Disk0.vhd. Ошибка: «Общая ошибка «Отказано в доступе» (0x80070005). (ИД виртуальной машины 5FC5C385-BD98-451F-B3F3-1E50E06EE663)
«VMName»: учетная запись не имеет достаточных привилегий для открытия вложения E:\VMs\VMName\Disk0.vhd. Ошибка: «Общая ошибка «Отказано в доступе» (0x80070005). (ИД виртуальной машины 5FC5C385-BD98-451F-B3F3-1E50E06EE663)
- Это сообщение об ошибке ссылается либо на эмулированный IDE-контроллер Майкрософт, либо на контроллер synthetic SCSI.
- Это сообщение об ошибке ссылается на файл виртуального жесткого диска (VHD) или файл моментального снимка (AVHD).
- ИД виртуальной машины уникален для каждой виртуальной машины.
Причина
Эта проблема возникает, если разрешения для файла виртуального жесткого диска (VHD) или файла моментального снимка (AVHD) неправильны.
Каждая виртуальная машина Hyper-V имеет уникальный ИД виртуальной машины (SID). Если sid виртуальной машины отсутствует в разрешениях безопасности в VHD- или AVHD-файле, виртуальная машина не запустится, и вы получите ошибку 0x80070005 (общая ошибка «Отказано в доступе»), упоминаемую в разделе «Признаки».
Решение
Чтобы устранить эту проблему, добавьте SID виртуальной машины в файл виртуального жесткого диска (VHD) или в файл моментального снимка (AVHD).
Чтобы добавить SID виртуальной машины в VHD-или AVHD-файл, выполните следующие действия.
Обратите внимание на ИД виртуальной машины, указанный в ошибке 0x80070005 (общая ошибка «Отказано в доступе»).
Например, рассмотрим следующее сообщение об ошибке:
«VMName»: учетная запись IDE/ATAPI не имеет достаточных привилегий для открытия вложения E:\VMs\VMName\Disk0.vhd. Ошибка: «Общая ошибка «Отказано в доступе» (0x80070005). (ИД виртуальной машины 5FC5C385-BD98-451F-B3F3-1E50E06EE663)
В этом примере ид виртуальной машины — 5FC5C385-BD98-451F-B3F3-1E50E06EE663.
Откройте окно командной строки с повышенными полномочиями.
Чтобы предоставить ИД виртуальной машины доступ к VHD-или AVHD-файлу, введите следующую команду и нажмите ввод:
Например, чтобы использовать ИД виртуальной машины, который вы указали на шаге 1, введите следующую команду и нажмите ввод:
Запустите виртуальную машину.
Дополнительные сведения
Если разрешения для файла конфигурации виртуальной машины Hyper-V (XML-файл) неправильны, виртуальная машина не запустится и возвращает следующее сообщение об ошибке:
Не удалось инициализировать неинициализацию неназванной ВМ.
Не удалось прочитать или обновить конфигурацию виртуальной машины, так как доступ был отклонен.
Если щелкнуть «Подробнее» в окне сообщения, отобразилось следующее сообщение об ошибке:
Не удалось инициализировать неинициализацию неназванной ВМ. (Виртуальная машина 7E77503A-A26B-4BB5-9846-396F49A30141)
«Неименоваемая виртуальная машина» не смогла прочитать или обновить конфигурацию виртуальной машины, так как доступ был отклонен: общая ошибка «Отказано в доступе» (0×80070005). Проверьте параметры безопасности в папке, в которой хранится виртуальная машина. (Виртуальная машина 7E77503A-A26B-4BB5-9846-396F49A30141)
Чтобы устранить эту проблему, выполните действия, которые необходимо выполнить в разделе «Решение», чтобы добавить SID виртуальной машины в XML-файл. Например, выполните следующую команду:
Ссылки
Дополнительные сведения о 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 и обнаруживает, что виртуальные машины исчезли. Другие симптомы:
- проблемы с производительностью виртуальных машин;
- создание или запуск виртуальной машины заканчивается неудачей, при этом появляется одно из следующих сообщений:
- The requested operation cannot be performed on a file with a user-mapped section open. (0x800704C8);
- VMName’ Microsoft Synthetic Ethernet Port (Instance ID<7E0DA81A-A7B4-4DFD-869F-37002C36D816>): Failed to Power On with Error ‘The specified network resource or device is no longer available.’ (0x80070037);
- The I/O operation has been aborted because of either a thread exit or an application request. (0x800703E3).
Чтобы избежать этих проблем, добавьте в список исключений компонента сканирования в реальном времени в своем антивирусе перечисленные ниже папки и файлы.
- Папка, в которой по умолчанию хранятся настройки виртуальных машин (C:\ProgramData\Microsoft\Windows\Hyper-V).
- Другие папки конфигураций виртуальных машин.
- Папка, в которой по умолчанию хранятся VHD-файлы (C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks).
- Другие папки, в которых хранятся VHD-файлы.
- Папки, в которых хранятся снимки.
- Vmms.exe (возможно, придется настроить как процесс-исключение в антивирусной программе).
- Vmwp.exe (возможно, придется настроить как процесс-исключение в антивирусной программе).
Рекомендуемые исключения, необходимые для работы 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, требуется сделать следующее:
- Экспортировать виртуальную машину на том, где достаточно свободного места на диске.
- После завершения экспорта откройте консоль управления Hyper-V и удалите виртуальную машину, которую экспортировали.
- Импортируйте виртуальную машину из нового места хранения. Если версия Hyper-V ниже Windows Server 2008 R2, включите виртуальную машину, а затем выключите ее, чтобы запустить процесс объединения в новом месте хранения.
Полный список наработанных методов использования снимков можно найти в статье 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. Чтобы обновить настройки виртуальной машины, выполните следующие шаги.
- В консоли диспетчера отказоустойчивых кластеров откройте раздел Services and Applications, а затем щелкните по виртуальной машине, для которой хотите обновить настройки.
- В окне Actions прокрутите список вниз, щелкните мышью на кнопке More Actions, затем выберите функцию Refresh virtual machine configuration, как показано на экране 2.
Экран 2. Функция Refresh virtual machine configuration |
В системе Server 2008 R2 функцией Refresh virtual machine configuration можно не пользоваться, если вы меняете параметры виртуальной машины с помощью консоли диспетчера отказоустойчивых кластеров. Для изменения параметров виртуальной машины в этой консоли сделайте следующее:
- в консоли диспетчера отказоустойчивых кластеров откройте раздел Services and Applications, затем щелкните по виртуальной машине, для которой хотите изменить параметры;
- в окне Actions щелкните мышью на кнопке Settings, чтобы изменить параметры виртуальной машины.
Сбои в работе 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
Поделитесь материалом с коллегами и друзьями