Введение — что такое qemu-guest-agent
Qemu-guest-agent — это вспомогательный демон, который устанавливается в гостевой системе. Он используется для обмена информацией между хостом и гостевой системой, а также для выполнения команд в гостевой системе.
В Proxmox VE qemu-guest-agent используется в основном для трёх целей:
- Чтобы правильно завершить работу гостевой системы, не полагаясь на команды ACPI или политики Windows
- Чтобы заморозить гостевую файловую систему при создании резервной копии/снимка (в Windows используйте службу теневого копирования томов VSS). Если гостевой агент включен и работает, он вызывает guest-fsfreeze-freeze и guest-fsfreeze-thaw для повышения согласованности.
- На этапе возобновления работы гостевой (виртуальной) машины после паузы (например, после создания снимка состояния) она немедленно синхронизирует своё время с гипервизором с помощью qemu-guest-agent (в качестве первого шага).
Установка
Ведущий
Вам нужно установить гостевой агент на каждую виртуальную машину, а затем включить его. Это можно сделать в веб-интерфейсе Proxmox VE (графический интерфейс)
или через CLI: qm set VMID --agent 1
Гость
Linux
В Linux вам нужно просто установить qemu-guest-agent, пожалуйста, обратитесь к документации по вашей системе.
Здесь мы приводим команды для систем на базе Debian/Ubuntu и Redhat:
в системах на базе Debian/Ubuntu (с apt-get) выполните:
apt-get установить qemu-guest-agent
а также в системах на базе Redhat (с yum):
yum установить qemu-guest-agent
В зависимости от дистрибутива гостевой агент может не запуститься автоматически после установки.
Начните его либо непосредственно с
systemctl запустить qemu-guest-agent
Затем включите автозапуск службы (на постоянной основе), если она не запускается автоматически.
включить системный сервис qemu-guest-agent
(должно работать в большинстве дистрибутивов) или перезагрузите гостевую систему.
Windows
Сначала вам нужно скачать образ драйвера virtio-win (см. Драйверы Windows VirtIO).
Затем установите драйвер virtio-serial:
- Подключите ISO-образ к виртуальной машине Windows (virtio-*.iso)
- Перейдите в Диспетчер устройств Windows
- Найдите «простой коммуникационный контроллер PCI»
- Щелкните правой кнопкой мыши -> «Обновить драйвер» и выберите подключенный ISO-образ в разделе «DRIVE:\vioserial\<OSVERSION>\», где <OSVERSION> — это ваша версия Windows (например, 2k12R2 для Windows 2012 R2)
После этого вам нужно будет установить qemu-guest-agent:
- Перейдите в раздел «Подключённый ISO» в проводнике
- Установщик гостевого агента находится в каталоге guest-agent
- Запустите установщик двойным щелчком (либо qemu-ga-x86_64.msi (64-разрядная версия), либо qemu-ga-i386.msi (32-разрядная версия)
После этого qemu-guest-agent должен быть запущен. Вы можете проверить это в списке служб Windows или в PowerShell с помощью:
PS C:\Users\Administrator> Get-Service QEMU-GA Состояние Имя Отображаемое имя ------ ---- ----------- Работает QEMU-GA Гостевой агент QEMU
Если он не запущен, вы можете использовать панель управления «Службы», чтобы запустить его и убедиться, что он запустится автоматически при следующей загрузке.
Проверка работоспособности связи с гостевым агентом
Связь с гостевым агентом осуществляется через сокет unix, расположенный в /var/run/qemu-server/<my_vmid>.qga Вы можете протестировать коммуникационный qm-агент:
запрос агента qm <vmid>
если qemu-guest-agent корректно работает на виртуальной машине, он вернет сообщение без ошибок.