Proxmox гостевой агент Windows: установка и настройка QEMU Guest Agent

Когда в консоли Proxmox VE виртуальная машина с Windows не отвечает на команды Shutdown и Reboot, а в сводке VM не отображается IP-адрес гостевой системы, почти наверняка причина в отсутствующем или незапущенном QEMU Guest Agent. Этот небольшой системный сервис устанавливается внутри Windows и обеспечивает двусторонний канал связи между гипервизором и гостевой ОС через виртуальный последовательный порт virtio-serial.

Без агента Proxmox взаимодействует с Windows «вслепую»: корректное выключение заменяется принудительным сбросом питания, заморозка файловой системы при снапшотах невозможна, а информация о сетевых интерфейсах и загрузке гостя недоступна. В этой статье разберём, как правильно установить гостевой агент, включить его на стороне Proxmox и устранить типичные проблемы.

Зачем нужен QEMU Guest Agent в Windows

Гостевой агент — это служба QEMU Guest Agent VSS Provider и основной процесс qemu-ga.exe, которые работают внутри Windows. Агент принимает команды от гипервизора через специальное устройство virtio-serial и выполняет их в контексте гостевой системы.

  • 🖥️ Корректное выключение и перезагрузка VM по команде из веб-интерфейса Proxmox вместо «жёсткого» сброса.
  • 📸 Согласованные снапшоты и бэкапы: агент через VSS (Volume Shadow Copy) замораживает файловую систему, чтобы данные на диске были консистентны.
  • 🌐 Отображение IP-адресов и сетевых интерфейсов гостевой Windows прямо в сводке VM.
  • ⏱️ Синхронизация времени гостевой системы с хостом после миграции или восстановления из снапшота.
  • 📊 Передача гипервизору сведений о состоянии ОС: версия, имя хоста, запущенные пользователи.

Для серверных ролей Windows — контроллеров домена, файловых серверов, баз данных — согласованность снапшотов особенно важна: без агента резервная копия может оказаться в «грязном» состоянии, как после внезапного отключения питания.

Подготовка: ISO с драйверами virtio-win

Гостевой агент распространяется в составе пакета virtio-win — набора драйверов и утилит для Windows в KVM-виртуализации. Отдельного установщика у агента нет, поэтому первым шагом нужно получить актуальный ISO-образ virtio-win.iso. Он публикуется проектом Fedora и свободно загружается с официального сервера.

Загруженный ISO необходимо поместить в хранилище Proxmox: либо через веб-интерфейс (Datacenter → Storage → ISO Images → Upload), либо скопировав файл напрямую в каталог хранилища на хосте. Затем образ подключается к виртуальной машине как второй CD-ROM — первый обычно занят установочным диском Windows.

Включение агента на стороне Proxmox

Установка службы внутри Windows — только половина задачи. Гипервизор должен создать канал связи, для этого в настройках VM включается опция гостевого агента. Откройте VM → Options → QEMU Guest Agent и установите Enabled: Yes. Для Windows тип канала оставляйте стандартным — virtio.

То же самое можно сделать из командной строки хоста, указав ID виртуальной машины:

qm set 100 --agent enabled=1
⚠️ Внимание: если включить опцию QEMU Guest Agent в Proxmox до установки службы в Windows, запуск VM может зависать на этапе загрузки с ошибкой таймаута подключения к агенту. Правильный порядок — сначала установка агента в гостевой системе, затем активация опции на хосте.

После включения опции полностью выключите и снова запустите виртуальную машину — простой перезагрузки изнутри Windows недостаточно, так как устройство канала создаётся при старте VM.

Установка гостевого агента внутри Windows

Загрузите Windows и откройте подключённый диск virtio-win. Установщик агента находится в каталоге guest-agent и представлен двумя файлами: qemu-ga-x86_64.msi для 64-битных систем и qemu-ga-i386.msi для 32-битных. Подавляющему большинству современных установок нужен первый вариант.

Запустите MSI-пакет и дождитесь завершения установки — она занимает несколько секунд и не требует перезагрузки. Инсталлятор создаёт две службы: QEMU Guest Agent (основная) и QEMU Guest Agent VSS Provider (для согласованных снапшотов).

☑️ Проверка установки агента в Windows

Выполнено: 0 / 4

Дополнительно убедитесь, что в системе установлены драйверы virtio-serial — без них Windows не увидит канал связи с гипервизором. В диспетчере устройств не должно быть неизвестных устройств с жёлтым значком; если они есть, укажите поиск драйвера на диске virtio-win.

Проверка работоспособности

Самый быстрый способ убедиться, что связка работает, — выполнить на хосте Proxmox команду ping к агенту:

qm agent 100 ping

Отсутствие ошибки означает, что канал жив. Далее запросите сетевую информацию гостя:

qm agent 100 network-get-interfaces

В выводе должны отобразиться интерфейсы Windows с их IP-адресами. Параллельно в веб-интерфейсе, на вкладке Summary виртуальной машины, появится список адресов гостевой системы — это наглядный признак того, что агент успешно обменивается данными с гипервизором.

ПризнакАгент работаетАгент не работает
Команда qm agent pingЗавершается без ошибокОшибка таймаута
IP-адреса в Summary VMОтображаютсяПоле пустое
Кнопка Shutdown в ProxmoxКорректное выключение WindowsКоманда игнорируется
Служба в services.mscСостояние «Выполняется»Остановлена или отсутствует
Снапшот с VSSКонсистентная файловая системаСнапшот «как при сбросе питания»
📊 Для каких задач вы используете Windows в Proxmox?
Тестовые стенды и лаборатории
Серверные роли (AD, файловый сервер)
Удалённые рабочие места (RDP)
Разное, по ситуации

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

Наиболее частая жалоба — команда qm agent ping возвращает ошибку таймаута, хотя служба в Windows запущена. Возможная причина — отсутствие драйвера virtio-serial: проверьте диспетчер устройств и при необходимости установите драйвер с диска virtio-win. Вторая вероятная причина — опция агента была включена в Proxmox, но VM не выключалась полностью, и канал просто не создан.

⚠️ Внимание: антивирусные продукты в гостевой Windows иногда блокируют запуск или сетевую активность qemu-ga.exe. Если служба падает сразу после старта, проверьте журналы антивируса и добавьте процесс в исключения.

Ещё одна ситуация — агент работал, но «отвалился» после обновления Windows. В таком случае проверьте, не сбросился ли тип запуска службы, и при необходимости переустановите MSI-пакет более свежей версии с актуального образа virtio-win. Обновление агента безопасно и не затрагивает данные виртуальной машины.

Как проверить канал virtio-serial вручную

В диспетчере устройств Windows в разделе «Системные устройства» должен присутствовать VirtIO Serial Driver, а в разделе портов — VirtIO Serial Port. Если устройства нет, убедитесь, что опция QEMU Guest Agent включена в настройках VM и машина была полностью выключена и запущена заново.

FAQ: частые вопросы

Обязателен ли QEMU Guest Agent для работы Windows в Proxmox?

Нет, виртуальная машина будет работать и без него. Однако вы потеряете корректное выключение из веб-интерфейса, отображение IP-адресов, синхронизацию времени и согласованные через VSS снапшоты. Для продуктивных систем установка агента фактически является стандартом.

Где скачать установщик QEMU Guest Agent для Windows?

Агент входит в состав ISO-образа virtio-win, который публикуется проектом Fedora. Отдельного дистрибутива у агента нет — установщик находится в каталоге guest-agent внутри этого образа.

Команда qm agent ping выдаёт ошибку таймаута. Что проверить в первую очередь?

Проверьте три вещи: включена ли опция QEMU Guest Agent в настройках VM, была ли машина полностью выключена и запущена после включения опции, и запущена ли служба QEMU Guest Agent внутри Windows. Чаще всего проблема кроется в одном из этих пунктов.

Нужно ли обновлять гостевой агент?

Да, периодически стоит обновлять virtio-win до актуальной версии и переустанавливать MSI-пакет агента. Обновления содержат исправления ошибок и улучшения совместимости с новыми версиями QEMU и Windows.

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

Заметного влияния нет: процесс qemu-ga.exe потребляет минимум ресурсов и активизируется только при получении команд от гипервизора — например, при выключении, создании снапшота или запросе сетевой информации.