Hyper v не удалось создать виртуальный жесткий диск

Обновлено: 07.07.2024

Как старший программный менеджер в группе 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 и обнаруживает, что виртуальные машины исчезли. Другие симптомы:

Чтобы избежать этих проблем, добавьте в список исключений компонента сканирования в реальном времени в своем антивирусе перечисленные ниже папки и файлы.

  • Папка, в которой по умолчанию хранятся настройки виртуальных машин (C:\ProgramData\Microsoft\Windows\Hyper-V).
  • Другие папки конфигураций виртуальных машин.
  • Папка, в которой по умолчанию хранятся VHD-файлы (C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks).
  • Другие папки, в которых хранятся VHD-файлы.
  • Папки, в которых хранятся снимки.
  • Vmms.exe (возможно, придется настроить как процесс-исключение в антивирусной программе).
  • Vmwp.exe (возможно, придется настроить как процесс-исключение в антивирусной программе).

Снимки и нехватка места на диске

Если снимки не могут быть объединены из-за нехватки места на диске (то есть error0x80070070), не удаляйте файлы с расширением. avhd (файлы снимков). В результате удаления файлов. avhd произойдет потеря данных, которая приведет к тому, что виртуальная машина перестанет запускаться. Если у вас нет возможности освободить необходимое дисковое пространство на томе, где хранятся файлы. avhd, требуется сделать следующее:

  1. Экспортировать виртуальную машину на том, где достаточно свободного места на диске.
  2. После завершения экспорта откройте консоль управления Hyper-V и удалите виртуальную машину, которую экспортировали.
  3. Импортируйте виртуальную машину из нового места хранения. Если версия Hyper-V ниже Windows Server 2008 R2, включите виртуальную машину, а затем выключите ее, чтобы запустить процесс объединения в новом месте хранения.

Компоненты интеграции не обновлены

После того как исправление или обновление для Hyper-V установлено на сервер (Windows 2008 R2, Server 2008 или Microsoft Hyper-V Server), просмотрите документацию, связанную с исправлением, чтобы узнать, требует ли это исправление обновления компонентов интеграции виртуальной машины. Вы также можете просмотреть список обновлений Hyper-V на сайте TechNet, чтобы выяснить, включает ли обновление усовершенствованные компоненты интеграции.

Чтобы определить, какие виртуальные машины имеют устаревшие компоненты интеграции, можно просмотреть журнал событий Microsoft-Windows-Hyper-V-Integration/Admin. Если виртуальная машина использует устаревшие компоненты интеграции, то при ее запуске в журнал будет записано следующее событие:

Log Name: Microsoft-Windows-Hyper-VIntegration-Admin

Событие с идентификатором 4010 будет записано для каждой устаревшей службы интеграционного компонента виртуальной машины (экран 1).


Экран 1. Событие 4010 в журнале

Функция Refresh virtual machine configuration и кластер

Консоль управления Hyper-V не поддерживает кластеры, и это означает, что изменения настроек виртуальных сетей или виртуальных машин в данной консоли должны быть продублированы на другие узлы кластеров с помощью функции Refresh virtual machine configuration в консоли диспетчера отказоустойчивых кластеров.

Если не воспользоваться этой функцией, то виртуальная машина либо вообще не сможет перемещаться между узлами кластера, либо ее параметры (например, VLAN ID), которые были изменены, будут потеряны при перемещении виртуальной машины на другой узел кластера Hyper-V. Чтобы обновить настройки виртуальной машины, выполните следующие шаги.

  1. В консоли диспетчера отказоустойчивых кластеров откройте раздел Services and Applications, а затем щелкните по виртуальной машине, для которой хотите обновить настройки.
  2. В окне Actions прокрутите список вниз, щелкните мышью на кнопке More Actions, затем выберите функцию Refresh virtual machine configuration, как показано на экране 2.


Экран 2. Функция Refresh virtual machine configuration

В системе Server 2008 R2 функцией Refresh virtual machine configuration можно не пользоваться, если вы меняете параметры виртуальной машины с помощью консоли диспетчера отказоустойчивых кластеров. Для изменения параметров виртуальной машины в этой консоли сделайте следующее:

Ситуация следующая: виртуальная машина 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 виртуальных дисков VHD и VHDX

Виртуальные диски Hyper V заменяют обычные жесткие диски в операционной системе и на виртуальных машинах. В Hyper V есть три типа накопителей:

  • vhd - максимальный размер до 2 ТБ, нет возможности сжимать и расширять диск при работающей машине. Чаще выбирается в случае, когда машины до Windows Server 2012. Размер сектора 512 байт.
  • vhdx - максимальный размер до 64 ТБ, есть возможность уменьшения и увеличения размера у работающей машины, лучше защита данных от повреждения, есть поддержка TRIM. Работает с Windows Server 2012. Размер сектора 4 КБ
  • vhds - работает только в кластере Hyper V на файловой системе CSV. Позволяет работать с одним диском нескольким виртуальным машинам. Доступен с Windows Server 2016.

Перед тем как в Hyper V добавить виртуальный жесткий диск нужно его создать.

Виртуальные жесткие диски Hyper V можно создать несколькими путями. Первый - это через оснастку управления дисками. Так как виртуальные накопитель можно использовать не только для виртуальных машин, но и для подключения как разделов и, установки ОС, такую возможность создания добавили и в эту оснастку:

Создание VHD в оснастке управление дисками

Конечно мы можем создать накопитель и в Powershell, но это будет рассмотрено в конце. И можно создать в оснастке Hyper V:

hyper v виртуальный диск

Если пропустить стартовое окно, то мы увидим форматы дисков Hyper V, которые описаны выше:

hyper v vhdx vhd

В следующем окне мы видим типы накопителей, которые делятся на:

  • Фиксированного размера (Fixed) - если в последующем указать, что его размер 50 Гб, то он сразу их займет. Аналог Lazy zeroed thick disks в VMware
  • Динамического изменяемого размера (Dynamic) - если указать размер в 50 Гб, то диск изначально будет весить 0 Кб и будет заполняться до этого предела. Аналог в VMWare Thin disks.
  • Разностные диски (Differencing) - подразумевает вложенность. По аналогии с дифференциальным бэкапом этот диск отдельно сохраняет только изменения, сделанные в родительском диске. Что бы воспользоваться этим диском в последующем нужно будет указать место основного диска.

Картинка немного описывающая разностный тип:

Разностный диск Hyper V

В тестовых средах используется динамический и дифференциальный, а в рабочей среде фиксированные накопители. В рамках работы Hyper V динамический диск не подходит по нескольким причинам:

  1. Медленней работает, так как уходит время на работу с новыми блоками.
  2. Сложно предсказуем так как с большим количеством виртуальных машин можно не заметить куда уходить свободное пространство жесткого диска.

Минусов скорее всего больше, но причины выше для меня имеют ключевое значение. Я использую динамические диски в тестовых средах.

Минусы разностных дисков Hyper V такие:

  1. Если сломается родительский диск, то не будет работать и дочерний.
  2. Медленная работа.
  3. Большая фрагментация.

hyper v добавить диск

Тут выбирается имя файла и его расположение. Рекомендую указывать корректное имя так как при удалении виртуальной машины диски не удаляются и можно запутаться:

v hyper жесткий диск

На предпоследнем шаге мы выбираем из трех возможных вариантов:

  1. Создать пустой виртуальный жесткий диск (Create a new blank virtual hard disk) - создаст пустой диск.
  2. Копировать содержимое указанного физического диска (Copy the contents of the specified physical disk) - в случае клонирования содержимого диска он должен быть подключен и не должен использоваться во время всего времени копирования. Это не может быть системный диск хоста, который вы в данный момент используете.
  3. Копировать содержимое указанного виртуального жесткого диска (Copy the contents of the specified virtual hard disk) - виртуальный диск Hyper V должен быть отключен и не использоваться.

Я бы не рекомендовал использовать клонирование в случаях, когда вам нужно получить копию виртуальной машины. Для этого есть импорт и экспорт Hyper V.

hyper v клонирование диска

В финальном окне еще раз проверяем данные и подтверждаем создание. Если был выбран фиксированный тип диска, то он может создаваться долго.

hyper v динамический диск

Этот диск можно подключить во время создания виртуальной машины либо подключить уже к существующей виртуальной машине. Что бы в Hyper V подключить жесткий диск к существующей машине сделайте следующее:

Настройки виртуальной машины Hyper V

Далее выбрать тип контроллера, который вы используете (в большинстве случаем SCSI) и нажать на добавление устройства:

hyper v подключить жесткий диск

В этой вкладке так же можно создать виртуальный диск Hyper V. В отличие от предыдущего способа здесь не будет вопроса о выборе VHD и VHDX. Этот выбор будет сделан автоматически от типа VM.

Через проводник мы можем найти уже созданный диск и импортировать его:

hyper v подключить жесткий диск

После включения виртуальной машины, в зависимости от предназначения диска, его нужно будет проинициализировать и отформатировать.

Создание виртуальных дисков Hyper V VHD и VHDX в Powershell

Для создания виртуальных дисков в Powershell есть команда:

Если ее запустить без параметров, то у нас появится опрос по необходимым значениям, но он работает странно и у нас могут появиться ошибки:

На примере ниже я создал виртуальный динамический диск VHDX в Powershell размером 1GB:

По умолчанию создается динамический накопитель. Формат виртуального диска определяется в пути, если бы я хотел VHD диск нужно было бы так написать. Размер может указываться и в мегабайтах (MB), терабайтах (TB) и так далее.

Тип накопителя указывается в самом ключе. Если нужно создать фиксированный диск напишите:

При создании разностных дисков Hyper V нужно указать и родительский диск:

Копирование содержимого диска на новый тоже возможно, по правилам описанным выше. Сначала мы должны узнать номер накопителя, который будем копировать:

А затем передать этот номер:

VHDX Powershell

Чтобы в Hyper V подключить диск средствами Powershell нужно указать тип контроллера:

Ошибка Hyper-V при смене жесткого диска - крупный план клавиатуры с логотипом

Некоторые пользователи сталкивались с ошибкой Hyper-V при внесении изменений на жесткий диск всякий раз, когда они пытались изменить настройки своей виртуальной машины.

Люди испытывают большое разочарование по поводу этой проблемы. Невозможность изменить настройки вашей виртуальной машины будет означать, что вы застряли с первоначальной настройкой вашей виртуальной машины.

Вот что сказал один пользователь об этой проблеме в блогах Microsoft:

Это может создать еще больше проблем, если вам нужно обновить объем оперативной памяти вашей виртуальной машины, чтобы она работала правильно.

Посмотрим, что вы можете сделать с этим вопросом. Пожалуйста, внимательно следуйте методам в этом списке, чтобы избежать других осложнений.

1. Убедитесь, что другие виртуальные машины не используют тот же жесткий диск

hard disk - Hyper-V error applying hard drive changes

Этот метод применяется в случае, если вы используете несколько виртуальных машин с одного хоста.

Пожалуйста, проверьте виртуальные жесткие диски, связанные с каждой из ваших виртуальных машин, чтобы убедиться, что между ними нет конфликтов.

  1. Откройте диспетчер Hyper-V.
  2. Выберите хост-компьютер, который вы хотите проверить на жестком диске -> щелкните по нему правой кнопкой мыши -> выберите Настройки Hyper-V.
  3. В открывшемся окне -> проверьте расположение вашего виртуального жесткого диска (нажмите «Обзор», чтобы изменить его при необходимости).

2. Проверьте, не блокирует ли какой-либо антивирус или программное обеспечение для резервного копирования

hard-drive - Hyper-V error applying hard drive changes

Точные действия для использования этого метода зависят от используемого вами антивирусного или резервного копирования. Тем не менее, убедитесь, что вы занесены в белый список вашего виртуального жесткого диска внутри программного обеспечения.

3. Измените настройки контроллера ISCSI или IDE

laptop on desk with notepad - Hyper-V error applying hard drive changes

  1. Откройте диспетчер Hyper-V.
  2. Щелкните правой кнопкой мыши хост-компьютер -> выберите настройки Hyper-V.
  3. В разделе « Контроллер SCSI» в правом меню -> щелкните правой кнопкой мыши на жестком диске -> выберите « Свойства».
  4. Щелкните раскрывающееся меню в разделе « Контроллер » -> выберите другой параметр (в зависимости от настроек по умолчанию точные параметры будут различаться).

4. Извлеките и снова добавьте привод DVD из виртуальной машины Hyper-V

DVD drive - Hyper-V error applying hard drive changes

Удалять:

  1. Откройте диспетчер Hyper-V.
  2. Нажмите Пуск -> Администрирование -> щелкните Диспетчер Hyper-V.
  3. Под именем виртуальной машины на панели действий -> нажмите Настройки.
  4. Выберите DVD-привод на левой панели.
  5. Нажмите Удалить в окне DVD-привода.
  6. Нажмите ОК.

Для повторного добавления:

Вывод

В этом руководстве мы рассмотрели лучшие варианты, доступные для сортировки Hyper-V без применения изменений на жестком диске. Мы надеемся, что вы нашли это руководство полезным.

Пожалуйста, не стесняйтесь сообщить нам, если это руководство было полезно для вас, оставив комментарий.

Репликация ОС или Hyper-V экономит много времени. Однако репликация Hyper-V, также называемая «реплика Hyper-V», отличается. Процесс позволяет выполнять репликацию с одной виртуальной машины на другую среду виртуальной машины.

Проще говоря, он создает копию работающей виртуальной машины на автономной виртуальной машине. Обычно это полезно для стратегии аварийного восстановления.

hyper-v replication errors

hyper-v replication errors

Причиной сбоя репликации Hyper-V может быть несколько причин. Это могут быть проблемы с сетью, устаревший хост, целостность или что-то еще.

Ниже приведены некоторые из распространенных проблем и решений:

  1. Hyper-V приостановил репликацию для виртуальной машины из-за неисправимого сбоя. (Идентификатор виртуальной машины ).
  2. Hyper-V запретил запуск виртуальной машины, потому что она подготовлена ​​к отработке отказа
  3. Hyper-V Не удалось разрешить имя сервера реплики
  4. Hyper-V не в состоянии принять репликацию на сервере реплики для виртуальной машины <имя виртуальной машины>
  5. Не удалось выполнить операцию. Hyper-V не находится в допустимом состоянии репликации для выполнения операции

Интересно отметить, что большинство ошибок Hyper-V возникают из-за проблем синхронизации между ними. Либо хост находится в обслуживании, либо сервер реплики находится в автономном режиме или не готов.

1] Hyper-V приостановил репликацию для виртуальной машины из-за неисправимого сбоя. (Идентификатор виртуальной машины)

Полное описание включает: Hyper-V не может реплицировать изменения для виртуальной машины , поскольку сервер-реплика отклонил соединение. Это может быть связано с тем, что на сервере-реплике имеется ожидающая операция репликации для той же виртуальной машины, которая занимает больше времени, чем ожидалось или имеет существующее соединение.

Чтобы решить, проверьте по следующим пунктам:

  • Щелкните правой кнопкой мыши виртуальную машину и выберите возобновление процесса репликации.
  • Убедитесь, что сервер репликации подключен.
  • На сервере реплик всегда должно быть достаточно места
  • Достаточная пропускная способность сети, чтобы процесс репликации мог завершиться за один цикл.
  • Обычно это может решить проблему, но если это не так, то удалите реплику и заново настройте репликацию, предлагает Microsoft. Вам придется подождать, пока синхронизация не будет завершена. Если сервер репликации долгое время находился в автономном режиме, исходный сервер акклиматизирует столько данных, что становится невозможным его пересылка.

2] Hyper-V запретил запуск виртуальной машины, так как она подготовлена ​​к отработке отказа

При настройке страницы сервера реплики необходимо ввести NetBIOS или полное доменное имя сервера реплики. Если сервер реплики является частью отказоустойчивого кластера, введите имя посредника реплики Hyper-V.

3] Hyper-V Не удалось разрешить имя сервера реплики

То же, что и выше, и это явная ошибка. Если Hyper-V не может разрешить имя сервера реплики, необходимо проверить, используете ли вы NetBIOS или FQDN. Если вы используете правильный формат, то проблема с DNS. Вы должны проверить DNS-сервер, чтобы выяснить почему он не может разрешить ожидаемый адрес сервера.

4] Hyper-V не в состоянии принять репликацию на сервере реплики для виртуальной машины

Когда репликация включена на виртуальной машине, процесс создает файлы виртуальной машины реплики, где все хранится. У каждой из этих папок есть имя, которое представляет GUID. Это уникально для каждого исходного сервера.

Если по какой-либо причине мастер установки Hyper-V имеет такой же UID, поскольку он уже был настроен один раз, вы получите эту ошибку. Поскольку процесс проверяет наличие дублирующейся виртуальной машины перед завершением, появляется ошибка.

Hyper-V не в состоянии принять репликацию

Hyper-V не в состоянии принять репликацию

Альтернативой этому методу является не использование GUID. Документы Microsoft предлагают следующее:

  • Включите репликацию для виртуальной машины и убедитесь, что начальная репликация не запускается сразу (вы можете запланировать начальную репликацию на более позднее время)
  • После создания виртуальной машины-реплики используйте мастер перемещения, чтобы переместить хранилище виртуальной машины на выбранный вами путь (миграция хранилища).
  • После завершения миграции хранилища вы можете запустить начальную репликацию для виртуальной машины.

5] Не удалось выполнить операцию, Hyper-V не находится в допустимом состоянии репликации для выполнения операции

Читайте также: