- Поддерживаемые виртуальные машины Linux и FreeBSD для Hyper-V в Windows Server и Windows
- В этом разделе
- Вики IT-KB
- Установка и проверка компонент интеграции Hyper-V в CentOS Linux
- Обсуждение
- Установка служб интеграции Hyper-V (LIS) в Linux
- Установка 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
Поддерживаемые виртуальные машины Linux и FreeBSD для Hyper-V в Windows Server и Windows
Область применения: Windows Server 2022, Azure Stack HCI версии 20H2; Windows Server 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10 , Windows 8.1, Windows 8, Windows 7.1, Windows 7
Hyper-V поддерживает эмулированные и зависящие от Hyper-V устройства для виртуальных машин Linux и FreeBSD. При запуске с эмулированными устройствами для установки дополнительного программного обеспечения не требуется. Однако эмулированные устройства не обеспечивают высокую производительность и не могут использовать богатую инфраструктуру управления виртуальными машинами, которую предлагает технология Hyper-V. Чтобы полностью использовать все преимущества, предоставляемые Hyper-V, лучше всего использовать устройства, зависящие от Hyper-V, для Linux и FreeBSD. Коллекция драйверов, необходимых для запуска устройств Hyper-V, называется Службами Интеграции Linux (LIS) или FreeBSD Integration Services (BIS).
LiS добавлена в ядро Linux и обновлена для новых выпусков. Но дистрибутивы Linux на основе старых ядер могут не иметь последних улучшений или исправлений. Корпорация Майкрософт предоставляет скачивание, содержащее устанавливаемые драйверы LIS для некоторых установок Linux на основе этих старых ядер. Так как поставщики дистрибутивов включают версии служб Интеграции Linux, лучше установить последнюю скачиваемую версию LIS, если применимо, для установки.
Для других дистрибутивов Linux изменения LIS регулярно интегрируются в ядро операционной системы и приложения, поэтому отдельная загрузка или установка не требуются.
Для более старых выпусков FreeBSD (до 10.0) корпорация Майкрософт предоставляет порты, содержащие устанавливаемые драйверы BIS и соответствующие управляющие программы для виртуальных машин FreeBSD. Для новых выпусков FreeBSD bis встроено в операционную систему FreeBSD, а отдельное скачивание или установка не требуется, за исключением скачивания портов KVP, необходимых для FreeBSD 10.0.
Цель этого содержимого — предоставить информацию, которая помогает упростить развертывание Linux или FreeBSD в Hyper-V. К конкретным сведениям относятся:
- Дистрибутивы Linux или выпуски FreeBSD, требующие скачивания и установки драйверов LIS или BIS.
- Дистрибутивы Linux или выпуски FreeBSD, содержащие встроенные драйверы LIS или BIS.
- Карты распространения компонентов, указывающие функции в основных дистрибутивах Linux или выпусках FreeBSD.
- Известные проблемы и обходные пути для каждого дистрибутива или выпуска.
- Описание функции для каждой функции LIS или BIS.
В этом разделе
Вики IT-KB
Установка и проверка компонент интеграции Hyper-V в CentOS Linux
При развёртывании виртуальной машины Hyper-V с гостевой ОС CentOS Linux крайне желательно устанавливать службы интеграции ОС Linux c средой виртуализации. Если не обеспечить установку компонент интеграции, то в гостевой ОС не будут работать некоторые важные функции, например, могут возникуть проблемы с корректным резервным копирование ВМ «на горячую» средствами VSS.
Например, попытки резервного копирования ВМ из System Center DPM могут приводить к всевозможным ошибкам в логе гостевой Linux-системы и невозможности создания рабочей резервной копии ВМ.
Установку компонент интеграции Hyper-V можно выполнить двумя основными способами:
С диска Linux Integration Services (LinuxIC).
Информация о выпусках LinuxIC доступна по ссылке.
Загрузка текущей версии LIS 4.2 возможна по ссылке Linux Integration Services v4.2 for Hyper-V and Azure
Из репозиториев EPEL.
Подключить репозиторий EPEL можно, установив пакет epel-release. Примеры установки этого пакета можно найти здесь
Установку компонент интеграции Hyper-V из репозитория EPEL можно считать более предпочтительной так, как размещаемые там пакеты проходят дополнительную проверку на корректность развёртывания и работы.
# yum install epel-release # yum install hyperv-daemons # reboot
После установки желательно перезагрузить гостевую ОС, чтобы убедиться в успешном автоматическом запуске служб. На CentOS 6 проверку состояния служб можно проверить командой:
# service --status-all | grep hv_* hv_fcopy_daemon is stopped hv_kvp_daemon (pid 1183) is running. hv_vss_daemon (pid 1204) is running.
Теперь ещё раз попробуем запустить резервное копирование ВМ из System Center DPM, которое должно вызвать взаимодействое со службой VSS (hv_vss_daemon) в гостевой ОС CentOS Linux. В этот момент смотрим лог и убеждаемся в том, что события VSS-заморозки диска отрабатывают без ошибок.
# tail -f /var/log/messages | grep Hyper-V Mar 2 13:10:18 centosserver Hyper-V VSS: VSS: freeze of /boot: Success Mar 2 13:10:19 centosserver Hyper-V VSS: VSS: freeze of /: Success Mar 2 13:10:19 centosserver Hyper-V VSS: VSS: thaw of /boot: Success Mar 2 13:10:19 centosserver Hyper-V VSS: VSS: thaw of /: Success
Проверено на следующих конфигурациях:
Версия ОС хоста Hyper-V | Гостевая ОС | Пакет интеграции |
---|---|---|
Windows Server 2012 R2 Datacenter EN (6.3.9600) | SHMZ (CentOS) 6.6 (2.6.32-642.6.2.el6.x86_64) | hyperv-daemons 0.15.20130826git.el6 |
Автор первичной редакции:
Алексей Максимов
Время публикации: 02.03.2019 14:43
Обсуждение
microsoft-windows/windows-server-2012-r2/hyper-v/installing-and-validating-hyper-v-integration-services-components-in-centos-linux.txt · Последнее изменение: 02.03.2019 14:58 — Алексей Максимов
Установка служб интеграции Hyper-V (LIS) в Linux
При развёртывании виртуальной машины Hyper-V с Linux необходимо установить в гостевой ОС Linux службы интеграции со средой виртуализации. Hyper-V LIS (Linux Integration Services) позволяют гостевой ОС взаимодействовать с гипервизором – передавать свое состояние, также нужны для корректной работы резервного копирования через VSS. В этой статье мы рассмотрим, как установить Hyper-V Linux Integration Services в популярных дистрибутивах CentOS, Debian и Ubuntu.
Установка Hyper-V Linux Integration Services в Ubuntu
Перед установкой Hyper-V Linux Integration Services в виртуальную машину с Ubuntu, нужно добавить модули hv_modules в initramfs-tools:
# echo ‘hv_vmbus’ >> /etc/initramfs-tools/modules
# echo ‘hv_storvsc’ >> /etc/initramfs-tools/modules
# echo ‘hv_blkvsc’ >> /etc/initramfs-tools/modules
# echo ‘hv_netvsc’ >> /etc/initramfs-tools/modules
После этого обновите текущие пакеты:
# 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 с помощью команды:
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:
hv_vmbus hv_storvsc hv_blkvsc hv_netvsc
Установите компоненты интеграции и перезагрузите 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:
- VSS daemon (используется для резервного копирования на базе снимков) — пакет hypervvssd;
- File copy daemon (позволяет использовать PowerShell для прямого копирования файлов между ВМ и хостом через шину vmbus) и служба обмена данными KVP (пакет hypervfcopyd).
Установка этих служб выполняется из базовых репозиториев CentOS:
# yum install hyperv-daemons
# yum list installed | grep hyperv
# systemctl enable hypervkvpd hypervvssd
# systemctl start hypervkvpd hypervvssd
После установки перезагрузите ВМ и проверьте, что служба Hyper-V VSS daemon работает:
# systemctl status hypervvssd
В старых версия CentOS 6 службы интеграции Hyper-V можно установить с диска Linux Integration Services (LinuxIC). ISO образ LIS 4.3 можно скачать здесь Linux Integration Services v4.3 for Hyper-V and Azure.
Или можно установить компонент интеграции Hyper-V из репозитория EPEL:
# yum install epel-release
# yum install hyperv-daemons
# reboot
Проверьте, что службы интеграции Hyper-V запущены в CentOS 6:
# service —status-all | grep hv_*
hv_fcopy_daemon is stopped hv_kvp_daemon (pid 1121) is running. hv_vss_daemon (pid 1329) is running.
Если попробовать выполнить резервное копирование Linux ВМ с CentOS любым средством с поддержкой VSS, в логе должны быть строки от службы hv_vss_daemon:
# tail -f /var/log/messages | grep Hyper-V
Если VSS не работает, проверьте что запущена служба hypervvssd:
# systemctl status hypervvssd
Управление Linux Integration Services в Hyper-V
После установки компонентов интеграции Hyper-V в виртуальную машину Linux вы можете получить информацию о гостевых ОС с хоста Hyper-V. Чтобы вывести версии компонентов LIS в Linux, выполните команду PowerShell:
Get-VM | Format-Table Name, IntegrationServicesVersion
Можно получить состояние компонентов интеграции Hyper-V на конкретной ВМ:
Get-VMIntegrationService -VMName LinuxVM1
- Guest Service Interface
- Heartbeat
- Key-Value Pair Exchange
- Shutdown
- Time Synchronization
- VSS
В данном примере Key-Value Pair Exchange показывает No Contact. Это может значит, что компонент отключен в гостевой Linux или отключен в настройках ВМ.
Вы можете включить/отключить компонент интеграции для ВМ с помощью команд:
- Enable-VMIntegrationService -VMName LinuxVM1 -Name “Key-Value Pair Exchange”
- Disable-VMIntegrationService -VMName LinuxVM1 -Name “Key-Value Pair Exchange”
Или вы можете включить компонент в консоли Hyper-V в настройках ВМ на вкладке Integration Services.
Для прямого копирования фалов между Hyper-V и гостевой ВМ с Linux можно использовать команду PowerShell:
Copy-VMFile -Name LinuxVM1 -SourcePath ‘C:\pc\ifcfg-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 (Generation 2) и в настройках виртуального оборудования включена поддержка Secure Boot для Linux. Для корректной работы Secure Boot нужно изменить шаблон в настройках ВМ с изменить “Microsoft Windows” to “Microsoft UEFI Certificate Authority”. Иначе при загрузке появится ошибка:
The image's hash and certificate are not allowed (DB).
$ wget https://raw.githubusercontent.com/Microsoft/linux-vm-tools/master/ubuntu/18.04/install.sh$ sudo chmod +x install.sh
$ sudo ./install.sh