Устранение распространенных ошибок Hyper-V (часть 1)

Опубликовано: 21 Апреля, 2023

Введение

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

Ошибки памяти

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

Изображение 27092
Рисунок A: Hyper-V не может запускать виртуальные машины при наличии достаточного объема памяти.

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

Ошибка контроллера IDE, эмулируемого Microsoft

Еще одна особенно распространенная ошибка, с которой вы, вероятно, столкнетесь, — это состояние, при котором виртуальная машина не может запуститься, ссылаясь на проблему с эмулируемым Microsoft контроллером IDE. Вы можете видеть, что эта ошибка выглядит так, как показано на рисунке B ниже:

Изображение 27093
Рисунок B: Проблемы с эмулируемым IDE-контроллером иногда могут препятствовать запуску виртуальных машин.

Эта ошибка возникает, когда две виртуальные машины пытаются использовать один и тот же DVD-привод. Чтобы устранить эту ошибку, перейдите в меню «Мультимедиа» виртуальной машины и отключите захват DVD-привода. Если виртуальной машине требуется доступ к DVD-приводу, вам нужно будет определить, какая виртуальная машина в настоящее время использует его, и освободить DVD-привод от этой виртуальной машины.

Виртуальная машина приостановлена — критично

Иногда вы можете столкнуться с ситуацией, когда виртуальная машина, которая ранее работала без каких-либо проблем, внезапно останавливается и отображает статус «Приостановлено — критично». Эта конкретная проблема возникает, когда на физическом томе, на котором размещен файл виртуального жесткого диска, заканчивается место на диске.

Когда вы создаете виртуальную машину Hyper-V, вас спрашивают, насколько большим должен быть файл виртуального жесткого диска. По умолчанию Windows создает динамически расширяемый файл виртуального жесткого диска. Это означает, что виртуальный жесткий диск изначально очень мал, независимо от указанного вами размера. По мере добавления данных на виртуальный жесткий диск файл виртуального жесткого диска динамически расширяется для размещения данных. Из-за того, как работают динамически расширяющиеся виртуальные жесткие диски, можно перегрузить хранилище сервера Hyper-V. Излишнее выделение ресурсов хранения изначально не вызывает никаких проблем, но по мере роста виртуальных жестких дисков они могут в конечном итоге привести к тому, что серверу не хватит места на физическом диске, что приведет к приостановке виртуальных машин и отображению состояния «Приостановлено — критично».

Неподдерживаемая гостевая ОС

Когда вы пытаетесь установить службы интеграции Hyper-V, вы можете получить сообщение об ошибке, в котором говорится, что гостевая работа не поддерживается. В некоторых случаях это сообщение об ошибке допустимо. Например, вы не сможете установить службы Integration Services на виртуальную машину под управлением Windows NT или Linux. Однако могут быть случаи, когда вы получаете сообщение об ошибке «Неподдерживаемая гостевая ОС» в операционной системе, которая поддерживает службы интеграции.

Когда это происходит, проблема почти всегда связана с отсутствующим пакетом обновлений. В некоторых случаях Hyper-V фактически сообщит вам, какой пакет обновлений требуется. Например, на рисунке ниже показано сообщение об ошибке, которое отображалось на виртуальной машине под управлением Windows Server 2003 с пакетом обновления 1. В данном конкретном случае ошибка фактически говорит нам о том, что требуется пакет обновления 2. Однако в некоторых случаях вы можете просто увидеть сообщение об ошибке, в котором говорится, что гостевая операционная система не поддерживается, без какой-либо дополнительной информации. В этом случае лучше всего посетить веб-сайт Microsoft, чтобы узнать, какой пакет обновлений требуется для того, чтобы операционная система поддерживала службы интеграции.

Изображение 27094
Рисунок C. Гипервизор не запущен

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

Изображение 27095
Рисунок D: Эта ошибка возникает в результате неправильной настройки BIOS. Чтобы гипервизор работал, аппаратная виртуализация и предотвращение выполнения данных должны быть включены в BIOS системы.

Куст реестра восстановлен

Одна конкретная ошибка, которая практически привела к тому, что я вырвал себе волосы, связана с повреждением реестра на гостевой машине. Ошибка (которая возникает на гостевых машинах под управлением Windows Server 2003 и Windows Server 2003 R2) указывает на то, что раздел реестра ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ был поврежден и восстановлен. Далее ошибка говорит о том, что некоторые данные могли быть потеряны, как показано на рисунке E.

Изображение 27096
Рисунок E. Проблемы с повреждением реестра досаждают некоторым виртуальным машинам Hyper-V.

До сих пор Microsoft еще не признала эту конкретную проблему, хотя кажется, что она возникает на довольно постоянной основе. Не поймите меня неправильно. Не каждая виртуальная машина Hyper-V под управлением Windows Server 2003 или Windows Server 2003 R2 подвержена этой проблеме. Проблема похоже аппаратная. Например, в моей собственной лаборатории есть два физических сервера, на которых ошибка возникает регулярно, но три других сервера ни разу не выдавали эту ошибку. Серверы, которые демонстрируют проблемное поведение, старше, чем те, которые этого не делают. В какой-то момент я надеялся, что прошивка биоса решит проблему, но этого не произошло.

Проблема с повреждением реестра возникает полуслучайно, но всегда совпадает с перезагрузкой виртуальной машины. У меня возникла проблема с гостевыми операционными системами, работающими как с 32-разрядными, так и с 64-разрядными версиями Windows Server 2003 и Windows Server 2003 R2. Проблема возникает независимо от того, работает ли хост-сервер под управлением RTM-версии Windows Server 2008 или Windows Server 2008 R2. Мой совет по устранению этой конкретной ошибки — по возможности избегать запуска виртуальных машин Windows Server 2003. Если вам необходимо запустить Windows Server 2003 или Windows Server 2003 R2, попробуйте разместить эти виртуальные машины на новейших физических серверах.

Вывод

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