При развёртывании виртуальной машины Hyper-V с Linux необходимо установить в гостевой ОС Linux службы интеграции со средой виртуализации. Hyper-V LIS (Linux Integration Services) позволяют гостевой ОС взаимодействовать с гипервизором – передавать свое состояние, также нужны для корректной работы резервного копирования через VSS. В этой статье мы рассмотрим, как установить Hyper-V Linux Integration Services в популярных дистрибутивах CentOS, Debian и Ubuntu.
LIS в Hyper-V являются аналогом VMware Tools в VMWare ESXi и гостевого агента QEMU в Proxmox
- Установка Hyper-V Linux Integration Services в Ubuntu
- Установка компонент интеграции LIS Hyper-V в Debian
- Linux Integration Services в CentOS Linux
- Управление Linux Integration Services в Hyper-V
- Включить Hyper-V Enhanced Session Mode для виртуальной машины Ubuntu
- Как включить репликацию ВМ в Windows Server 2016 Hyper-V
- Установка роли Hyper-V Replica Broker
- Настройка репликации виртуальной машины
- Find out the version of Hyper-V integration services installed
- Download KB3071740 update (Hyper-V Integration Services) on Windows 8
- Install KB3071740 update (Hyper-V Integration Services) on Windows 8
Установка Hyper-V Linux Integration Services в Ubuntu
Перед установкой Hyper-V Linux Integration Services в виртуальную машину с Ubuntu, нужно добавить модули hv_modules в initramfs-tools:
После этого обновите текущие пакеты:
# apt update && apt -y upgrade
Теперь нужно установить компоненты интеграции с Hyper-V:
# apt -y install linux-virtual linux-cloud-tools-virtual linux-tools-virtual# update-initramfs -u# reboot
Проверьте, что компоненты интеграции LIS установлены:
Команда выведет список подключенных модулей.
В дистрибутивах Ubuntu 16.04, 18.04, 20.04, 22.04 LTS можно установить драйверы интеграции Hyper-V, которые Microsoft использует для ВМ в Azure:
# apt update# apt install linux-azure
Проверьте версию модулей ядра Linux Integration Services с помощью команды:
# /sbin/modinfo hv_vmbus
filename: /lib/modules/2.6.32-71.el6.x86_64/extra/microsoft-hyper-v/hv_vmbus.ko
version: 4.3.5
Если у вас в Ubuntu установлена более старая версия LIS, вы можете обновить ее с помощью команд:
# wget https://download.microsoft.com/download/6/8/F/68FE11B8-FAA4-4F8D-8C7D-74DA7F2CFC8C/lis-rpms-4.3.5.x86_64.tar.gz# tar -xzf lis-rpms-4.3.5.x86_64.tar.gz# cd LISISO/# ./upgrade.sh# rebootПроверьте версию hv_vmbus после обновления:
Установка компонент интеграции LIS Hyper-V в Debian
В версиях Debian 9 и более ранних, вам нужно вручную добавить модули LIS в initramfs:
# nano /etc/initramfs-tools/modules
Установите компоненты интеграции и перезагрузите Debian:# apt-get install -t jessie-backports hyperv-daemons# update-initramfs -u# reboot
Linux Integration Services по умолчанию уже включены в дистрибутив Debian 10 (Buster) и вам нужно только установить службы интеграции Hyper-V Debian из официального репозитория Debian:
# apt-get install hyperv-daemons# reboot
В новом Debian 11 (Bullseye) по умолчанию установлены как LIS так и hyper-v-daemons, поэтому отдельно ничего устанавливать не нужно.
Проверьте, что службы настроены на автоматический запуск:
# systemctl status hyperv-daemons.hv-*
Linux Integration Services в CentOS Linux
В CentOS начиная с версии 6.4, компоненты Linux Integration Services уже включены в базовый образ CentOS и отдельно их устанавливать не нужно. Однако есть несколько дополнительных гостевых служб Hyper-V, которые расширяют взаимодействие Hyper-V и гостевой CentOS:
Установка этих служб выполняется из базовых репозиториев CentOS:
# systemctl enable hypervkvpd hypervvssd# systemctl start hypervkvpd hypervvssd
После установки перезагрузите ВМ и проверьте, что служба Hyper-V VSS daemon работает:
# systemctl status hypervvssd
Или можно установить компонент интеграции Hyper-V из репозитория EPEL:
# yum install epel-release# yum install hyperv-daemons# reboot
Проверьте, что службы интеграции Hyper-V запущены в CentOS 6:
Если попробовать выполнить резервное копирование Linux ВМ с CentOS любым средством с поддержкой VSS, в логе должны быть строки от службы hv_vss_daemon:
Если VSS не работает, проверьте что запущена служба hypervvssd:
Управление Linux Integration Services в Hyper-V
После установки компонентов интеграции Hyper-V в виртуальную машину Linux вы можете получить информацию о гостевых ОС с хоста Hyper-V. Чтобы вывести версии компонентов LIS в Linux, выполните команду PowerShell:
Можно получить состояние компонентов интеграции Hyper-V на конкретной ВМ:
Get-VMIntegrationService -VMName LinuxVM1

В данном примере Key-Value Pair Exchange показывает No Contact. Это может значит, что компонент отключен в гостевой Linux или отключен в настройках ВМ.
Вы можете включить/отключить компонент интеграции для ВМ с помощью команд:
Или вы можете включить компонент в консоли Hyper-V в настройках ВМ на вкладке Integration Services.
Для прямого копирования фалов между Hyper-V и гостевой ВМ с Linux можно использовать команду PowerShell:
Copy-VMFile -Name LinuxVM1 -SourcePath ‘C:pcifcfg-eth0’ -DestinationPath ‘/etc/sysconfig/network-scripts/’ -FileSource Host -Force
Включить Hyper-V Enhanced Session Mode для виртуальной машины Ubuntu
Вы можете использовать Enhanced session mode для подключения к виртуальной машине Linux на хосте Hyper-V по RDP. В этом режиме вы можете использовать в консоли подключения Hyper-V в Linux все те фичи, которые доступны для виртуальных машин Windows (буфер обмена, перенаправление устройств, поддержка большого разрешения экрана, подключение к изолированной ВМ через шину vmbus и т.д.).
В этом примере мы настроим Enhanced session mode для включая Ubuntu 22.04 LTS:
Функционал репликации в Hyper-V позволяет настроить отказоустойчивость ВМ за счет постоянной синхронизации изменений виртуальной машины, запущенной на одном сервере Hyper-V на другой сервер (сервер-партнер по репликации может даже находится в другом датаценте). Репликации в гипервизоре Microsoft Hyper-V реализуется с помощью встроенных средств (никаких дополнительных средств или плагинов устанавливать не нужно). Рассмотрим, как настроить репликацию виртуальной машины между двумя хостами с Windows Server 2016 Hyper-V.
Как включить репликацию ВМ в Windows Server 2016 Hyper-V
Чтобы настроить репликацию конкретной ВМ в Hyper-V Windows Server 2016, просто щелкните правой кнопкой мыши по нужной виртуальной машине и выберите пункт меню Enable Replication.

Запустится мастер настройки репликации. Тут, прежде чем продолжить, позволю себе небольшую ремарку касательно моей инфраструктуры.
У меня имеется один отдельностоящий хост Hyper-V на Windows Server 2016, одну из виртуальных машин которого я хочу реплицировать на созданный ранее кластер Hyper-V. При реплицаии ВМ на кластер нужно указать имя сервера-брокера — Hyper-V Replica Broker. Это особая кластерная роль, которую нужно настроить на кластере перед настройкой репликации. При попытке настроить репликацию с кластером, у которого отсутствует эта роль, появится ошибка (“The specified replica server is part of a failover cluster”).

Установка роли Hyper-V Replica Broker
Чтобы настроить роль Hyper-V Replica Broker, нужно открыть консоль управления кластером Failover Cluster Manager. Щелкните ПКМ по имени кластера и выберите опцию Configure Role.

Выберите роль Hyper-V Replica Broker.

Нужно указать имя кластерной службы и IP адрес.

На этом все. В Active Directory появится новое имя, а на кластере новая роль.

Настройка репликации виртуальной машины
Еще раз включаем репликацию для ВМ. Указываем имя сервера-брокера репликации Hyper-V. У меня появилось предупреждение:
“The specified Replica server is not configured to receive replication from this server”
В этом случае нужно нажать на кнопку Configure Server для запуска окна настройки брокера в кластере.


Убедитесь, что ваш файервол разрешает входящий трафик по порту 80 — правило Hyper-V Replica HTTP Listener (TCP-In).
Вернемся в окно настройки репликации. Как вы видите, все предупреждения пропали.

Для единообразия с брокером, выберем тип аутентификации Use Kerberos authentication (HTTP).

Затем нужно указать vhdx файлы виртуальной машины, который нужно реплицировать (в моем случае он один).

Выберите частоту выполнения репликации (каждые 30 секунд, 5 или 15 минут).

На следующем шаге можно настроить параметры создания дополнительных снапшотов ВМ.

Затем нужно выбрать метод первичной репликации файла виртуальной машины (Initial replication Method). Можно вручную перенести файлы ВМ на целевой сервер с помощью внешнего диска (если канал между серверами недостаточно быстрый), либо скопировать файл прямо по сети.

Наконец, появится экран с выбранными опциями.

Нажимаем Finish и видим сообщение «Replication is enabled successfully».

Возвращаемся в консоль Hyper-V Manager нашего отдельного хоста (источника репликации) и видим, что для него запущен процесс создания контрольной точки и в статусе ВМ появилась надпись Sending Initial Replication и процент выполнения репликации.

На целевом хосте откроем Failover Cluster Manager. Как вы видите, на нем появилась новая виртуальная машина – реплика исходной ВМ.

Итак, репликации ВМ между двумя хостами Hyper-V в Windows Server 2016 настраивается крайне просто. Благодаря этой возможности можно довольно легко и прозрачно обеспечить катастрофоустойчивость критических виртуальных машин.
This article provides a mirrored download to the Hyper-V Integration Services ISO for Windows NT 10.0 and newer.
Microsoft Windows 10 and Microsoft Windows Server 2016 no longer include the Hyper-V Integration Services ISO, vmguest.iso. The rationale behind this change is that the latest supported Windows and Linux operating systems provide their own Hyper-V integration.
This means that there is no built-in way to install Hyper-V Integration Services into legacy operating systems such as Windows XP (Windows Embedded POSReady 2009).
Fortunately, there is a direct download link mirror to the Hyper-V Integration Services 6.3.9300.16384 ISO, which came from Windows 8.1 / Windows Server 2012 R2. You can download this file and mount it as a CD in your legacy Hyper-V guest to install Hyper-V Integration Services.
As of Windows Server 2016, the Hyper-V Integration Services installation disk is no longer available.
Indeed, these Hyper-V integration services are now integrated by default in recent versions of Windows (Windows 10 and later) and are then updated automatically via Windows Update.
However, Microsoft provides update KB3071740 for Windows 7, 8 and 8.1 which allows you to manually install these Hyper-V integration services on these older versions of Windows.
Source : Integration components available for virtual machines not connected to Windows Update.
Find out the version of Hyper-V integration services installed
To find out the version of Hyper-V Integration Services currently installed in a virtual machine, open the Windows Registry Editor.

In the registry editor that appears, go to the «HKEY_LOCAL_MACHINESOFTWAREMicrosoftVirtual MachineAuto» registry key.
In this registry key, you will find an «IntegrationServicesVersion» data which corresponds to the version of the Hyper-V integration services installed.

Download KB3071740 update (Hyper-V Integration Services) on Windows 8
To download KB3071740 update (corresponding to Hyper-V Integration Services), go to «https://support.microsoft.com/en-us/kb/3071740».


On this page you will find a table with the download links for this update for Windows 7, 8 and 8.1 (both 32-bit (x86) and 64-bit (x64)).
In our case, we choose the «All supported x64-based versions of Windows 8.1» download.

By default, you will be redirected to the English version of the download page for this update «KB3071740».

If you want to download the update in another language, select the desired language from the list and wait for the page to refresh.

Once the page refreshes, click the download button.

In the case of Windows 8.1 x64, the file to download will be : windows6.2-hypervintegrationservices-x64.cab.

The CAB file has been downloaded.

Install KB3071740 update (Hyper-V Integration Services) on Windows 8

Type «powershell» (if you opened a «cmd» command prompt instead of powershell).
Then, use the command :

Wait while installing this Windows package.

Once this update is installed, you will need to restart your virtual machine.
To do this, type «Y».

The virtual machine restarts.

During the restart, you will see the «Installing updates» message appear.

Hyper-V Integration Services have been installed.

Чтобы убедиться, что эти службы интеграции Hyper-V установлены (или обновлены), вернитесь в раздел реестра «HKEY_LOCAL_MACHINESOFTWAREMicrosoftVirtual MachineAuto».
Как видите, значение данных «IntegrationServicesVersion» изменилось.
В нашем случае версия изменилась с «6.3.9600.16384» на «6.3.9600.17903».


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

Чтобы воспользоваться всеми службами интеграции, также установите флажок «Гостевые службы».


