QEMU Guest Agent — это программа-демон, которая устанавливается на ВМ. QEMU Guest Agent обеспечивает выполнение команд на ВМ и обмен информацией между ВМ и узлом кластера.
VMmanager использует QEMU Guest Agent чтобы изменять сетевые настройки ВМ без перезагрузки. Если QEMU Guest Agent недоступен для платформы в течение пяти минут, VMmanager перезагрузит ВМ для применения настроек.
Чтобы управлять ВМ с ОС CentOS, в QEMU Guest Agent должна быть включена функция guest-exec.
Чтобы избежать незапланированного перезапуска ВМ, вы можете проверить статус QEMU Guest Agent перед изменением настроек. Это можно сделать на ВМ или узле кластера.
Диагностика
- Подключитесь к ВМ по SSH.
-
Определите статус QEMU Guest Agent:
systemctl status qemu-guest-agent
Примеры ответов:
QEMU Guest Agent запущен● qemu-guest-agent.service - QEMU Guest Agent Loaded: loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled; vendor preset: enabled) Active: active (running) since Вт 2021-08-10 05:25:54 UTC; 1 weeks 3 days ago
QEMU Guest Agent остановлен● qemu-guest-agent.service - QEMU Guest Agent Loaded: loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled; vendor preset: enabled) Active: inactive (dead) since Пт 2021-08-20 06:27:16 UTC; 2s ag
QEMU Guest Agent не установленUnit qemu-guest-agent.service could not be found.
Восстановление работы
Если QEMU Guest Agent не установлен
- Подключитесь к ВМ по SSH.
-
Установите QEMU Guest Agent:
ОС CentOSyum install qemu-guest-agent
ОС Debian, Ubuntuapt install qemu-guest-agent
-
Добавьте QEMU Guest Agent в автозагрузку:
systemctl enable --now qemu-guest-agent
-
Проверьте статус QEMU Guest Agent:
systemctl status qemu-guest-agent
-
Проверьте статус службы SELinux:
sestatus
Если статус отличается от disable:
-
Отключите SELinux. Для этого замените в файле /etc/selinux/config строку
SELINUX=enforcing
на
SELINUX=disabled
- Перезагрузите ВМ.
-
-
Если в файле /etc/sysconfig/qemu-ga есть строка вида
BLACKLIST_RPC=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush,guest-exec,guest-exec-status
- Закомментируйте или удалите эту строку.
-
Перезапустите QEMU Guest Agent:
systemctl restart qemu-guest-agent
Если QEMU Guest Agent остановлен
- Подключитесь к ВМ по SSH.
-
Запустите QEMU Guest Agent:
systemctl start qemu-guest-agent
Если функция guest-exec отключена
- Подключитесь к ВМ по SSH.
-
Выполните команду:
sed -i '/BLACKLIST_RPC=/cBLACKLIST_RPC=' /etc/sysconfig/qemu-ga
-
Перезапустите QEMU Guest Agent:
systemctl restart qemu-guest-agent
Работа QEMU Guest Agent в ОС Windows
Установка
- Чтобы подготовить ВМ к установке драйверов virtio, создайте диск размером 1 ГБ с типом подключения virtio и подключите его к ВМ: раздел Виртуальные машины → выберите ВМ → кнопка Параметры → раздел Виртуальные диски → Подключить еще диск → Создать диск и подключить → выберите Размер 1 ГБ и Тип подключения virtio → кнопка Подключить диск.
- Скачайте и установите на ВМ драйверы Virtio.
- Для Windows Server 2012 R2 используйте virtio-win-guest-tools версии 0.1.189.
- Для Windows Server 2008 используйте virtio-win-guest-tools версии 0.1.137.
- Скачайте и установите на ВМ ПО QEMU Guest Agent.
Диагностика
Запустите диспетчер управления службами services.msc и проверьте, что в списке запущенных служб есть QEMU Guest Agent. Если служба остановлена, запустите её. Если такой службы нет в списке, установите ПО QEMU Guest Agent.
Пример отображения статуса QEMU Guest Agent в диспетчере