Для более удобного управления виртуальными машинами, а так же для служебных задач и увеличения производительности существуют службы интеграции Hyper V. Службы интеграций (Integration Services) это набор компонентов, в частности драйверов, частью из которых можно управлять отключая и включая для определенных нужд. Если вы работали с VMWare vSphere или Workstation, то сталкивались с похожим функционалом под названием VMWare Tools.
Если мы зайдем в свойства ВМ, то можем увидеть эти службы:
В зависимости от редакции операционной системы гипервизора не все службы могут быть:
- Operation System Shutdown (Завершение работы операционной системы) - этот пакет интеграции Hyper V позволяет корректно завершать работу операционной системы ВМ из панели гипервизора. Если эта служба отключена при завершении работы появится ошибка 'The operation system shutdown integration service is not enabled'. Кнопка горячего выключения VM будет доступна. Добавлено в Windows Server 2012/8.
- Time Synchronization (Синхронизация времени) - синхронизирует время ВМ и хоста гипервизора. Добавлено в версиях 2012/8.
- Data Exchange (Обмен данными) - распределяет небольшие объёмы машинной информации между ВМ и гипервизором. Если ОС виртуальной машины от Microsoft, то значения хранятся в реестре, если Linux, то в файлах. Так же называется KVP. Добавлено в 2012/8.
- Heartbeat (Пульс) - мониторинг состояния VM. Например это определение состояния включена или отключена виртуальная машина.
- Backup (volume shadow copy/Архивация) - позволяет корректно выполнять бэкап работающей виртуальной машины с помощью технологии Volume Shadow Copy. Добавлено в 2012 и 8.
- Guest services (Интерфейс гостевой службы) - позволяет копировать в Hyper V данные между хостом гипервизора и VM. Добавлено в Windows Server 2012 R2/8.
Состояние этих сервисов можно посмотреть и через Powershell:
# Статус сервисов
Get-Service -Name '*vmic*'
# Включены ли они у конкретной VM
Get-VMIntegrationService -VMName 'Win10'
# Для всех VM
Get-VM | Get-VMIntegrationService
Можно так же включить пакеты интеграций с помощью Powershell:
# Включение гостевого сервиса
Enable-VMIntegrationService -VMName "Win10" -Name "Guest Service Interface"
# Отключение сервиса гостевой службы
Disable-VMIntegrationService -VMName "Win10" -Name "Guest Service Interface"
# Включение всех сервисов
Get-VMIntegrationService -VMName 'Win10' | Enable-VMIntegrationService
К компонентам интеграции Hyper V относится Powershell Direct, которая позволяет управлять виртуальной машиной из Powershell минуя конфигурацию сети. Такая возможность появилась в службах интеграции Windows Server 2016 и 10. Например так:
# Удаленная сессия
Enter-PSSession -VMName 'Win10'
# Выполнение удаленной команды
Invoke-Command -VMName 'Win10' -ScriptBlock {ping 'fixmypc.ru'}
Кроме описанных выше возможностей к пакетам интеграции относятся и драйвера, которое относятся к разному типу оборудований. Таких типов оборудования всего два.
Эмулированное оборудование - используется для поддержки старых или неизвестных операционных систем. В основном, какой тип оборудования будет использоваться решается в момент выбора поколения при создании виртуальных машин Hyper V. Это оборудование медленней, чем следующее поколение и хоть почти все системы могут с ним работать, его не следует выбирать при возможности. Пример такого оборудования - это контроллер IDE и Legacy Network Adapter. Пример с ВМ Generation 1:
Синтетическое оборудование - чаще используется в виртуальных машинах второго поколения. Основное преимущество в том, что оно работает быстрее.
Пример разной работы этих типов оборудования.
Если после установки операционной системы возникает проблема, например, с мышкой или звуком, это говорит об отсутствие пакета интеграции в Hyper V. В этом случае мы так же можем зайти в "Диспетчер устройств" и увидеть, что драйвера отсутствуют. Мы разбирали такую ситуацию на примере установки Windows XP в Hyper V. Такая проблема решилась установкой службы интеграции Hyper V через файл vmguest.iso из другой версии гипервизора.
В разных версиях Hyper V пакеты интеграции устанавливались по-разному. Начиная с версий Windows 10 и 2012 R2 драйвера уже содержаться внутри операционной системы ВМ и обновляются через центр обновления. В случаях версий ниже компоненты интеграции Hyper V устанавливались путем добавления в виртуальный привод файла vmguest.iso, который лежал по пути C:\Windows\System32\. Начиная с версии гипервизора на Windows Server 2016/10 такой файл уже не включается в сборку, так как подразумевается что никто не будет использовать старые виртуальные машины. Для установки драйверов, например, на Windows 7 нужно скачивать старый гипервизор и вытаскивать этот файл оттуда.
Это файл vmguest.iso, который я использовал при установке XP. Скорее всего он подойдет и для других версий систем.
...
Подписывайтесь на наш Telegram канал
Теги: #hyper-v