Документация пользователя VMmanager

Как проверить и восстановить работу QEMU Guest Agent?

QEMU Guest Agent — это программа-демон, которая устанавливается на ВМ. QEMU Guest Agent обеспечивает выполнение команд на ВМ и обмен информацией между ВМ и узлом кластера.

VMmanager использует QEMU Guest Agent чтобы изменять сетевые настройки ВМ без перезагрузки. Если QEMU Guest Agent недоступен для платформы в течение пяти минут, VMmanager перезагрузит ВМ для применения настроек.

Чтобы управлять ВМ с ОС CentOS, в QEMU Guest Agent должна быть включена функция guest-exec.

Чтобы избежать незапланированного перезапуска ВМ, вы можете проверить статус QEMU Guest Agent перед изменением настроек. Это можно сделать на ВМ или узле кластера.

Диагностика

  1. Подключитесь к ВМ по SSH.
  2. Определите статус 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 не установлен

  1. Подключитесь к ВМ по SSH.
  2. Установите QEMU Guest Agent:

    ОС CentOS
    yum install qemu-guest-agent
    ОС Debian, Ubuntu
    apt install qemu-guest-agent
  3. Добавьте QEMU Guest Agent в автозагрузку:

    systemctl enable --now qemu-guest-agent
  4. Проверьте статус QEMU Guest Agent:

    systemctl status qemu-guest-agent
  5. Проверьте статус службы SELinux:

    sestatus

    Если статус отличается от disable:

    1. Отключите SELinux. Для этого замените в файле /etc/selinux/config строку

      SELINUX=enforcing

      на

      SELINUX=disabled
    2. Перезагрузите ВМ.
  6. Если в файле /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


    1. Закомментируйте или удалите эту строку.
    2. Перезапустите QEMU Guest Agent:

      systemctl restart qemu-guest-agent

Если QEMU Guest Agent остановлен

  1. Подключитесь к ВМ по SSH.
  2. Запустите QEMU Guest Agent:

    systemctl start qemu-guest-agent

Если функция guest-exec отключена

  1. Подключитесь к ВМ по SSH.
  2. Выполните команду: 

    sed -i '/BLACKLIST_RPC=/cBLACKLIST_RPC=' /etc/sysconfig/qemu-ga
  3. Перезапустите QEMU Guest Agent: 

    systemctl restart qemu-guest-agent

Работа QEMU Guest Agent в ОС Windows

Установка

  1. Чтобы подготовить ВМ к установке драйверов virtio, создайте диск размером 1 ГБ с типом подключения virtio и подключите его к ВМ: раздел Виртуальные машины → выберите ВМ → кнопка Параметры → раздел Виртуальные диски Подключить еще дискСоздать диск и подключить → выберите Размер 1 ГБ и Тип подключения virtio → кнопка Подключить диск.
  2. Скачайте и установите на ВМ драйверы Virtio
  3. Скачайте и установите на ВМ ПО QEMU Guest Agent.

Диагностика

Запустите диспетчер управления службами services.msc и проверьте, что в списке запущенных служб есть QEMU Guest Agent. Если служба остановлена, запустите её. Если такой службы нет в списке, установите ПО QEMU Guest Agent.

Пример отображения статуса QEMU Guest Agent в диспетчере