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

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

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

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

Диагностика на ВМLink to Диагностика на ВМ


  1. Подключитесь к ВМ по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.

  2. Определите статус QEMU Guest Agent:

    systemctl status qemu-guest-agent
    CODE

    Примеры ответов:

    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
    CODE

    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
    CODE

    QEMU Guest Agent не установлен

    Unit qemu-guest-agent.service could not be found.
    CODE

Диагностика на узле кластераLink to Диагностика на узле кластера


  1. Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Определите статус QEMU Guest Agent:

    virsh qemu-agent-command <vm_id>_<vm_name> '{"execute": "guest-info", "arguments": {}}'
    CODE
    <vm_id>_<vm_name> — имя файла ВМ, содержащее id и имя ВМ. Например, для ВМ с id 12 и именем test-vm имя файла должно быть 12_test_vm

    Если QEMU Guest Agent запущен, вы получите ответ вида:

    Фрагмент ответа в JSON

    {"return":{"version":"2.12.0","supported_commands":[{"enabled":true,"name":"guest-get-osinfo","success-response":true}
    CODE

    Если QEMU Guest Agent не запущен или остановлен, вы получите ответ вида:

    ошибка: Guest agent is not responding: QEMU guest agent is not connected
    CODE
  3. Для ВМ с ОС CentOS определите статус функции guest-exec: 

    virsh qemu-agent-command <vm_id>_<vm_name> '{"execute":"guest-info"}' --pretty | grep -B1 "guest-exec"
    BASH

    <vm_id>_<vm_name> — имя файла ВМ, содержащее id и имя ВМ. Например, для ВМ с id 12 и именем test-vm имя файла должно быть 12_test_vm

    Фрагмент ответа, если функция включена

    "enabled": true,
    "name": "guest-exec",
    CODE

    Фрагмент ответа, если функция выключена

    "enabled": false,
    "name": "guest-exec",
    CODE