Архитектура служб интеграции Hyper-V и их работа в различных ОС
Я часто использую слова «службы интеграции» или «Integration Services» (также известные как «компоненты интеграции» или «Integration Components» в предварительных версиях Hyper-V). Но еще не писал, что стоит за этими словами и из чего собственно состоят сами службы интеграции. Еще во времена Virtual Server 2005 мы устанавливали в гостевых ОС специальные дополнения — VMAdditions, — которые, во-первых, существенно ускоряли работу ОС в виртуальной машине, а во-вторых предоставляли дополнительные возможности. В Hyper-V эта ситуация изменилась не принципиально. Но я бы хотел немного глубже затронуть вопрос о том, из чего же состоят компоненты интеграции Hyper-V и какой функционал приносит их установка в зависимости от версии ОС в виртуальных машинах.
Итак, из чего же состоят компоненты интеграции. Все их возможности можно разделить на две группы.
- Драйверы синтетических устройств
- Контроллер IDE (фильтр Fast Path) — ускоряет операции ввода/вывода на виртуальных дисках IDE за счет того, что не использует драйвер из поставки ОС, а направляет данные напрямую в VMbus. (Штатный драйвер ОС работает через эмуляцию, но используется только на этапе загрузки).
- Контроллер SCSI — эмулируемого аналога не существует, и синтетический драйвер требуется для подключения виртуальных дисков SCSI. Скорость виртуального SCSI лишь немногим больше скорости виртуального IDE при использовании фильтра. Сравнивать эмулируемый IDE (без использования фильтра) с синтетическим SCSI бессмысленно, так как эмулируемый заведомо значительно медленнее.
- Сетевой адаптер — драйвер для «Network Adapter», который работает через VMbus. Без установки служб интеграции можно работать только через эмулируемый «Legacy Network Adapter», который значительно медленнее синтетического.
- Видеоадаптер — драйвер видеоконтроллера в ВМ, который поддерживает начальные функции ускорения 3D и работает заметно быстрее, чем без установки служб интергации. Однако, если для вас действительно важна производительность подсистемы видео в виртуальной машине, я все равно рекомендую использовать терминальный доступ к ней, так как драйвер RDP работает быстрее.
- Мышь — требуется для корректной работы с виртуальными машинами через подключение к «Удаленному рабочему столу». Решает проблемы «зависания» курсора и его скачков по экрану. Без этого драйвера мышь в ВМ не работает вообще, если вы подключаетесь сначала через «Удаленный рабочий стол» (например, к родительской системе), а затем вызываете подключение к ВМ с помощью инструмента «Virtual Machine Connection» консоли Hyper-V Manager.
- Службы в гостевой ОС
- Выключение — позволяет вам корректно погасить ОС в виртуальной машине одним нажатием кнопки, не заходя в ВМ и не пользуясь сетью. В отличии от «грязного» выключения ВМ (который является аналогом принудительного отключения питания) сохраняет настройки и останавливает операции с диском, оставляя файловую систему в корректном состоянии.
- Синхронизация времени. Вообще говоря, ВМ всегда использует время из «родительской» системы при включении. Службы интеграции для этого не нужны — более того, отключить это вы не можете. Но службы интеграции используются в том случае, если ваша ВМ уже работает включенной, и вы не хотите зависеть от капризов виртуального таймера. В этом случае автоматическая синхронизация времени происходит раз в пять секунд, а также в следующих ситуациях:
- запуск службы «Hyper-V Time Synchronization»;
- восстановление из сохраненного состояния (Saved State);
- возобновление после паузы.
- Обмен данными — мы уже писали о том, что такое Data Exchange, и как можно настроить обмен некоторой информацией между родительской системой и виртуальной машиной. Скоро будет опубликована и заключительная статья из этого цикла.
- «Пульс» (Heartbeat) — возможность понимать, что ВМ «жива и здорова» и продолжает общаться с родительской системой. Состояние ВМ отображается в консоли «Hyper-V Manager», и в случае проблем вы увидите сообщение «Lost Communication». Оно говорит о том, что ВМ по каким-то причинам перестала передавать свой пульс. SCVMM также умеет обрабатывать такие события.
- Резервное копирование при помощи VSS — для тех гостевых ОС, которые поддерживают Volume Shadow Services, возможно резервное копирование запущенных ВМ при помощи VSS.
Важно понимать, что все пять последних возможностей включены по умолчанию — но не всегда это может оказаться желательным. Впрочем, эти возможности отключаются индивидуально в настройках каждой ВМ. Итак, теперь давайте взглянем на матрицу по версиям ОС. Какие функции служб интеграции доступны в каких гостевых ОС?
Увы, службы интеграции для Windows 2000 и Windows XP x86 не включают драйвер синтетического контроллера SCSI. Он использует архитектуру virtual miniport, которая в этих ОС отсутствует. Также в них отсутствует полноценная поддержка VSS — а значит, нет и службы Hyper-V Volume Shadow Copy Requestor. В Windows XP x64 все это есть, так как она имеет общий код с Windows Server 2003 — для которой и разрабатывались эти драйвер и служба. О компонентах интеграции для Linux я вообще лучше промолчу. Или напишу отдельную статью.
Comments
Anonymous
January 01, 2003
Не очень понял про "интегрировать". Если речь идет об изменении дистрибутива, так чтобы они автоматически устанавливались, то при помощи OPK вы можете добавть установку ICs в заключительную секцию процесса инсталляции ОС. Туда, куда обычно ОЕМ вендоры размещают свои приложения. В отличии от сервера 2003 в Vista/WS08 используется Servicing Stack, позволяющий напрямую интегрировать обновление Hyper-V (т.к. бета есть в составе WS08/VistaSP1). Оно же войдет в SP2 весной.Anonymous
January 01, 2003
Один из заказчиков помимо Windows использует для некоторых задач серверы Linux. Работая над этим проектом, я заметил, что в списке виртуальных машин консоли SCVMM статус служб интеграции не отображается. Причём это касается именно виртуальных машин сAnonymous
October 06, 2008
а как правильно интегрировать службы интеграции в 2003 сервер ?