Установка и настройка утилиты qemu-guest-agent для взаимодействия с гипервизором SpaceVM
Установка qemu-guest-agent из стандартных репозиториев
В Linux ВМ можно установить qemu-guest-agent из стандартных репозиториев. За дополнительной информацией необходимо обратиться к документации используемой ОС.
Для установки qemu-guest-agent выполнить команду:
-
для систем на базе Debian/Ubuntu (с apt-get):
apt-get install qemu-guest-agent
-
для систем на базе RedHat (с yum):
yum install qemu-guest-agent
Установка qemu-guest-agent с образа space-agent-vm
Существует возможность установить qemu-guest-agent с использованием образа space-agent-vm. Для этого необходимо выполнить следующие шаги:
-
Перейти в каталог образа space-agent-vm по пути
/linux/packages/qemu-guest-agent/
и установить необходимую версию qemu-guest-agent:dpkg -i qemu-guest-agent_5.2+dfsg-9_amd64.deb
Версия qemu-guest-agent
В команде используется версия пакета
qemu-guest-agent_5.2+dfsg-9_amd64.deb
в качестве примера. Необходимо выбрать необходимую пользователю версию. -
Убедиться в том, что утилита автоматически запустилась, выполнив команду (для дистрибутивов, использующих systemd):
systemctl status qemu-guest-agent
Статус сервиса должен быть
active (running)
. -
Если сервис не был запущен автоматически, это необходимо сделать вручную, выполнив команду (для дистрибутивов, использующих systemd):
systemctl start qemu-guest-agent
При использовании дистрибутивов, не использующих systemd необходимо перезагрузить ВМ.
Взаимодействие гипервизора с qemu-guest-agent
qemu-guest-agent - утилита, которая принимает команды от хоста через virtio-канал с именем org.qemu.guest_agent.0 и исполняет их в контексте гостя. На стороне гипервизора канал заканчивается unix-сокетом, в который можно записать текстовые команды. Для каждой ВМ создается отдельный канал взаимодействия гипервизора со Space Agent VM, не зависящий от наличия сети у ВМ.
Пример
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-89-d1134f72-2b4e-41c4-a/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
<alias name='channel3'/>
<address type='virtio-serial' controller='0' bus='0' port='4'/>
</channel>
В SpaceVM qemu-guest-agent используется для:
-
Получения сетевых адресов и hostname.
-
Корректного выключения ВМ вместо отправки ACPI-команд.
-
Фиксации и блокировки файловой системы перед созданием снимка, т.е. и при
создании резервных копий ВМ. -
Любых пользовательских команд и скриптов при необходимости.
Подробности работы qemu-guest-agent смотрите в QEMU Features/GuestAgent.
Настройка qemu-guest-agent
После установки qemu-guest-agent:
-
создать административную локальную учетную запись;
-
открыть службы Windows;
-
настроить запуск службы qemu-guest-agent не от учетной записи в локальной системе, а от ранее созданной учетной записи.
При блокировании пароля данной учетной записи служба Space Agent VM работать не будет.
Внимание
Если групповые политики блокируют локальные учетные записи, то необходимо создать доменную учетную запись с правами Log on as a Service. Затем средствами GPO необходимо сконфигурировать службу qemu-guest-agent на запуск от этой учетной записи. Подробнее в разделе Запуск qemu-guest-agent от групповой учетной записи служб в AD.
Проверка связи SpaceVM c компонентом qemu-guest-agent
Проверить, что связь с qemu_guest_agent есть, можно во вкладке Информация ВМ.
Также в CLI сервера имеются команды работы со Space Agent VM: vm guest_info.
После установки qemu_guest_agent в разделе ВМ Информация о виртуальной машине будут отображаться следующие сведения о гостевой ОС:
-
Версия Space Agent VM.
-
Имя хоста.
-
IP-адрес.
-
ID ОС.
-
Kernel-release.
-
Kernel version.
-
Machine.
-
Name.
-
Pretty-name.
-
Гостевые процессы ВМ.
-
Информация о ФС.