Linux integration service ubuntu

Поддерживаемые виртуальные машины Ubuntu в Hyper-V

Применимо к: Windows Server 2022, Azure Stack HCI версии 20H2; Windows Server 2019, Hyper-V Server 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows 10, Windows 8.1

На следующей схеме распределения компонентов указываются признаки в каждой версии. Известные проблемы и обходные пути для каждого дистрибутива перечислены после таблицы.

Условные обозначения таблицы

  • Встроенные службы Linux Integration Services (LIS) входят в состав этого дистрибутива Linux. Предоставленный корпорацией Майкрософт пакет для скачивания LIS не подходит для этого дистрибутива, поэтому не устанавливайте его. Номера версий модуля ядра для встроенного LIS (как показано, например, в lsmod) отличаются от номера версии в предоставленном Корпорацией Майкрософт пакете загрузки LIS. Несоответствие не означает, что встроенная функция LIS устарела.
  • ✔ — Доступные функции
  • (пусто) — функция недоступна

Примечания

  1. Внедрение статических IP-адресов может не работать, если диспетчер сети был настроен для заданного сетевого адаптера Hyper-V на виртуальной машине. Чтобы обеспечить бесперебойную работу статического внедрения IP-адресов, убедитесь, что диспетчер сети полностью отключен или отключен для определенного сетевого адаптера с помощью файла ifcfg-ethX .
  2. При использовании устройств виртуального оптоволоконного канала убедитесь, что логическая единица 0 (LUN 0) заполнена. Если LUN 0 не заполнен, виртуальная машина Linux может не подключить устройства с оптоволоконным каналом в собственном коде.
  3. Если во время операции резервного копирования виртуальной машины в реальном времени имеются открытые дескрипторы файлов, то в некоторых случаях виртуальным жестким дискам с резервными копиями может потребоваться пройти проверку согласованности файловой системы ( fsck ) при восстановлении.
  4. Операции динамического резервного копирования могут завершаться автоматическим сбоем, если к виртуальной машине подключено устройство iSCSI или хранилище с прямым подключением (также известное как сквозной диск).
  5. В выпусках долгосрочной поддержки (LTS) используется последнее ядро виртуального оборудования (HWE) для актуальных служб Linux Integration Services. Чтобы установить ядро, настроенное в Azure, в версиях 16.04, 18.04 и 20.04, выполните следующие команды от имени root (или sudo):
# apt-get update # apt-get install linux-azure 
  • Объем памяти при запуске и минимальный объем памяти должен быть равен или больше объема памяти, рекомендуемого поставщиком распространителя.
  • Приложения, которые, как правило, потребляют всю доступную память в системе, ограничены потреблением до 80 процентов доступной ОЗУ.
Set-VMFirmware -VMName "VMname" -EnableSecureBoot Off 
  1. Войдите на существующую виртуальную машину поколения 2.
  2. Измените каталог на каталог загрузки EFI:
# sudo mv shimx64.efi bootx64.efi 

См. также:

Источник

Установка служб интеграции 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

включить hv_modules в initramfs-tools на linux

После этого обновите текущие пакеты:

# 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

проверить IntegrationServicesVersion в Hyper-V виртуальных машинах

Можно получить состояние компонентов интеграции Hyper-V на конкретной ВМ:

Get-VMIntegrationService -VMName LinuxVM1

  • Guest Service Interface
  • Heartbeat
  • Key-Value Pair Exchange
  • Shutdown
  • Time Synchronization
  • VSS

Get-VMIntegrationService службы в виртуальной машине linux на hyperv

В данном примере 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 integration services для linux

Для прямого копирования фалов между 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).

hyperv включить secure boot для виртуальной машины linux

  • Установите Hyper-V LIS (Linux Integration Services) в гостевой Ubuntu как описано выше;
  • Установите XRDP+XORGXRDP:
    $ wget https://raw.githubusercontent.com/Microsoft/linux-vm-tools/master/ubuntu/18.04/install.sh$ sudo chmod +x install.sh
    $ sudo ./install.sh
  • Измените порт подключения в xrdp.ini: # nano /etc/xrdp/xrdp.ini

    Источник

    Enable Hyper-V Integration Services for your Ubuntu guest VMs

    For some legacy reasons, my main hypervisor has been Hyper-V running on a Windows Server. And contrary to popular belief, Linux actually supports Secure Boot and UEFI boot pretty well, and so you can create Generation 2 VM that runs Linux OS just fine. However, after installing the OS, you might have noticed that Hyper-V doesn’t talk to the guest VM very well – features such as shutdown or reset do not work. That is because the Linux kernel does not include Hyper-V drivers and agents. This is akin to VMware’s vmtools for the ESXi platform.

    This can be easily rectified by manually installing those components. First, you will have to edit the file at /etc/initramfs-tools/modules and add in the following modules:

    hv_utils hv_vmbus hv_storvsc hv_blkvsc hv_netvsc

    After saving the modules file, install the virtual tools:

    apt install linux-virtual linux-cloud-tools-virtual linux-tools-virtual

    Don’t forget to update initramfs :

    Finally, restart the VM. When all is done, you’ll notice your guest VM would run a little bit faster, and you are able to see Networking details of that Linux VM in your Hyper-V Manager. Shutdown and Reset commands from the Hyper-V to the Linux VM should also work.

    Azure Kernel

    If you do not want to mess with the above, you may also replace your Ubuntu main kernel with an Azure-tuned kernel. This is the same kernel which Microsoft runs on their Azure environment. Simply run the following command as root:

    Источник

    Читайте также:  Linux как проверить cron
  • Оцените статью
    Adblock
    detector