Быть в курсе
Аватарка автора Ирина Клёпова
ИнструкцииОблако

Установка QEMU-агента

17 марта 2026

9 минут

Телеграм

ВКонтакте

Виртуальная машина может работать стабильно, но при попытке корректно ее выключить гипервизор просто «обрывает питание»? Или же снапшоты создаются без гарантии целостности данных, а получить информацию о состоянии гостевой системы без SSH невозможно. Такие ситуации чаще всего связаны с отсутствием QEMU-агента.

Этот небольшой сервис обеспечивает корректное взаимодействие между хостом и виртуальной машиной. Ниже разберем, как работает QEMU-агент, какие задачи решает и как правильно его установить в Linux и Windows.

Всё актуальное — в наших соцсетях. Подписывайтесь!

В коммерческой эксплуатации эти задачи ложатся на плечи провайдера. Платформа Рег.облако предлагает надежные облачные решения для бизнеса любого масштаба, а ее технологическая база включает полный спектр услуг виртуализации на базе открытого ПО.

Что такое QEMU-агент и зачем он нужен

QEMU-агент (QEMU Guest Agent) — служебный процесс внутри гостевой ОС, обеспечивающий связь с гипервизором.

Он позволяет отправлять команды внутрь виртуальной машины (ВМ) без подключения к ней по SSH или VNC. Без установленного агента гипервизор может только имитировать нажатие кнопки питания — принудительно отключать виртуальную машину, что чревато потерей несохраненных данных и повреждением файловой системы.

Сценарии использования

QEMU-агент решает несколько практических задач, каждая из которых закрывает конкретную потребность при администрировании:

  • корректное выключение и перезагрузка. Хост посылает агенту команду, и тот инициирует штатное завершение работы (shutdown -h now) с сохранением всех данных. Это безопаснее, чем принудительный «обрыв питания»;
  • создание консистентных снапшотов. Перед созданием снимка агент замораживает файловую систему (fsfreeze): сбрасывает кэши на диск и блокирует запись. Это гарантирует целостность данных в бэкапе — самая важная функция для резервного копирования;
  • сброс паролей и управление доступом. При утере доступа к ВМ можно отдать команду агенту на изменение пароля администратора, даже без подключения к консоли или по SSH;
  • сбор информации о системе. Гипервизор может напрямую запросить у агента IP-адреса, имя хоста, версию ОС и список установленных приложений. Эти данные автоматически отображаются в панели управления;
  • другие управляющие операции. Агент может выполнять произвольные скрипты по команде с хоста и синхронизировать состояние ВМ с панелью провайдера.
Источник: Freepik. QEMU-агент обеспечивает связь между гипервизором и гостевой операционной системой

Принцип работы агента

Связь организована через специальный последовательный канал virtio-serial. Внутри Linux это выглядит как устройство:

Гипервизор отправляет JSON-запрос в этот канал, агент принимает его, выполняет действие внутри гостя и возвращает ответ. Взаимодействие не зависит от сетевых настроек, поэтому управление возможно даже при неработающей сети или настроенном файерволе.

Предварительные шаги для начала работы

Перед тем как устанавливать агент QEMU, убедитесь, что:

  1. Используется гипервизор QEMU/KVM (или производные вроде Proxmox, oVirt).
  1. В конфигурации ВМ добавлен virtio-канал. В конфигурации libvirt это выглядит так:
  1. Есть доступ к консоли или по SSH.
  1. Операционная система обновлена.

Важно: без включенного канала в конфигурации виртуальной машины сервис не сможет взаимодействовать с хостом, даже если будет установлен внутри.

Источник: Freepik. Корректное выключение ВМ сохраняет данные и предотвращает повреждение файловой системы

Проверка наличия установленного QEMU-агента

В облачных образах пакет часто уже предустановлен. Для проверки выполните внутри ВМ:

Если статус — active (running), значит QEMU-агент уже работает.

Дополнительно проверьте пакет:

Источник: Freepik. Консистентные снапшоты гарантируют целостность данных при резервном копировании.

Установка QEMU-агента

После проверки наличия агента можно приступить к его установке: ниже приведены инструкции для разных операционных систем и дистрибутивов.

Debian / Ubuntu

RHEL 8/9, CentOS Stream 8/9, AlmaLinux 8/9, Rocky Linux 8/9, Fedora

Windows

  1. Скачайте установщик с официального зеркала Fedora People (qemu-ga-x86_64.msi или qemu-ga-i386.msi для 64-битных или 32-битных систем соответственно).
  2. Запустите скачанный MSI-файл от имени администратора и следуйте инструкциям установщика.
  3. После установки служба QEMU Guest Agent появится в оснастке services.msc. Убедитесь, что она запущена, а тип запуска — «Автоматически».
Источник: Freepik. Гипервизор получает информацию о системе напрямую от QEMU-агента

Перезапуск QEMU-агента

Для Linux-гостей

Для Windows-гостей

Через services.msc или PowerShell:

Важно: не перезапускайте агент во время создания снапшотов или выполнения операций fsfreeze. Это может привести к «замороженному» состоянию диска, так как хост будет ждать ответа от агента, а агент перезапустится и команда «зависнет».

Проверка связи со стороны хоста

Если агент внутри установлен и запущен, но панель управления или команды с хоста не работают, проблему нужно искать на стороне гипервизора. Проверить доступность агента можно командой virsh (выполняется на хосте):

Если команда вернет JSON с информацией о версии агента и поддерживаемых командах — связь есть, ищите проблему в панели управления.

Источник: Freepik. Сброс пароля администратора возможен через агент без доступа к консоли

Типичные проблемы и решения

Сервис не запускается автоматически после установки в Ubuntu 24.04+

В отдельных случаях (например, при использовании нестандартных сборок) systemd-юнит может не иметь секции [Install]. Для решения этой проблемы нужно отредактировать файл юнита (/lib/systemd/system/qemu-guest-agent.service) и в конец добавить строку:

Затем выполнить:

Это поведение не является массовым для официальных пакетов Ubuntu и встречается редко.

Агент установлен, но не отвечает на команды (RHEL/CentOS/AlmaLinux)

Проверьте журнал ошибок внутри гостя:

При использовании SELinux временно можно перевести его в разрешающий режим для диагностики (команда на гостевой ВМ):

Важно: это допустимо только для диагностики, а не как постоянное решение. Если проблема в SELinux, настройте корректные правила или установите соответствующий контекст (virt_qemu_guest_agent_t).

Гипервизор не видит агента

Проверьте наличие virtio-канала в конфигурации ВМ (на хосте). В определении домена libvirt должна быть секция, описанная в разделе «Предварительные шаги».

Конфликт с вендорными агентами

На платформах с проприетарными решениями (например, VMware Tools на конвертированных машинах) их агенты могут конфликтовать с открытым qemu-guest-agent. В таких случаях стандартный агент отключают и маскируют, либо, наоборот, удаляют проприетарный.

Рекомендации по эксплуатации

Чтобы агент работал стабильно и безопасно:

  • включайте автозапуск службы;
  • обновляйте пакет вместе с системой (apt upgrade, yum update, dnf update);
  • настройте SELinux или AppArmor, если они используются, не отключайте их без необходимости;
  • ограничьте доступные RPC-команды, если есть риск безопасности, через файлы конфигурации (например, --block-rpcs в параметрах демона);
  • регулярно проверяйте логи на наличие ошибок;
  • синхронизируйте время внутри гостя (NTP/Chrony), так как это критически важно для корректной работы многих сценариев, включая timestamps (метки времени) в логах и работу с сертификатами;
  • не отключайте сервис без необходимости.

Правильно настроенный QEMU-агент повышает надежность виртуального сервера и упрощает централизованное управление.

Итоги

Агент QEMU обеспечивает безопасное взаимодействие между гипервизором и гостевой системой, позволяет выполнять управляющие действия без подключения по сети и повышает устойчивость сервисов. Установка занимает несколько минут, но значительно расширяет возможности администрирования.

При создании или настройке нового сервера всегда проверяйте наличие активного агента — это избавит от множества проблем в будущем.

Источник: Freepik. Взаимодействие происходит через защищённый канал virtio-serial независимо от сети

FAQ

Как проверить, что QEMU-агент запущен?

В Linux выполните systemctl status qemu-guest-agent. В Windows проверьте службу «QEMU Guest Agent» через services.msc.

Что делать при ошибке запуска?

Изучите журнал через journalctl -u qemu-guest-agent (Linux) или Просмотр событий Windows. Проверьте наличие virtio-канала в конфигурации ВМ. Для RHEL-систем временно можно перевести SELinux в пермиссивный режим для диагностики.

Как обновить QEMU-агента?

В Linux: apt upgrade qemu-guest-agent или yum/dnf update qemu-guest-agent.

В Windows: скачайте свежий установщик virtio-win-guest-tools.exe и запустите поверх существующей установки либо обновите через MSI-пакет.

Как проверить видимость агента со стороны хоста?

Выполните на хосте: virsh qemu-agent-command '{"execute":"guest-info"}'. Если команда вернет ошибку, значит, соединения нет.

Какие функции самые важные?

Корректное выключение, заморозка файловой системы перед снапшотами и получение сетевых параметров гостевой ОС.

Влияет ли агент на производительность?

Нет. Агент потребляет минимальные ресурсы и активируется только при получении запроса от хоста. В простое он не нагружает систему.

Поддерживаются ли разные дистрибутивы Linux?

Да, пакет доступен в большинстве популярных дистрибутивов Linux. Отличается только команда установки через пакетный менеджер.

Новые статьи