Когда в консоли 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
Дополнительно убедитесь, что в системе установлены драйверы 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 | Консистентная файловая система | Снапшот «как при сбросе питания» |
Типичные проблемы и их решение
Наиболее частая жалоба — команда 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 потребляет минимум ресурсов и активизируется только при получении команд от гипервизора — например, при выключении, создании снапшота или запросе сетевой информации.