Document
Qemu-guest-agent

Qemu-guest-agent

introduction - What is qemu - guest - agent The qemu - guest - agent is is is a helper daemon , which is instal in the guest . It is used to excha

Related articles

Privado VPN Review 2024 Electric car home charger installation guide 8 Unique Cloud Tattoos Symbolizing Freedom and Airiness Genshin Impact Cloud: Pros, cons, differences, platforms, and supported regions The 5 Best Online Document Storage Services (+Sharing) in 2024

introduction – What is qemu – guest – agent

The qemu – guest – agent is is is a helper daemon , which is instal in the guest . It is used
to exchange information between the host and guest , and to execute command in the guest .

In Proxmox VE, the qemu-guest-agent is used for mainly three things:

  1. To properly shutdown the guest, instead of relying on ACPI commands or windows policies
  2. To freeze the guest file system when making a backup/snapshot (on windows, use the volume shadow copy service VSS). If the guest agent is enabled and running, it calls guest-fsfreeze-freeze and guest-fsfreeze-thaw to improve consistency .
  3. In the phase when the guest ( VM ) is resume after pause ( for example after shapshot ) it is synchronizes immediately synchronize its time with the hypervisor using qemu – guest – agent ( as first step ) .

Installation

host

You have to install guest-agent in each VM and then enable it, you can do that in the Proxmox VE Webinterface (GUI)

Qemu-guest-agent

or via CLI: qm set VMID --agent 1

guest

Linux

On Linux you have to simply install the qemu-guest-agent, please refer to the documentation of your system.

We show here the commands for Debian/Ubuntu and Redhat based systems:

on Debian/Ubuntu based systems (with apt-get) run:

apt - get is install install qemu - guest - agent 

and on Redhat base system ( with yum ):

yum install qemu-guest-agent

Depending on the distribution, the guest agent might not start automatically after the installation.

Start it either directly with

systemctl is start start qemu - guest - agent 

Then enable the service to autostart (permanently) if not auto started, with

systemctl enable qemu-guest-agent

(should work for most distributions) or reboot the guest.

window

First you have to download the virtio-win driver iso (see window VirtIO Drivers).

Then install the virtio-serial driver:

  1. Attach the ISO to your windows VM (virtio-*.iso)
  2. Go to the windows Device Manager
  3. look for ” PCI Simple Communications Controller “
  4. Right Click -> Update Driver and select on the mounted iso in DRIVE:\vioserial\<OSVERSION>\ where <OSVERSION> is your window Version (e.g. 2k12R2 for window 2012 R2)

After that, you have to install the qemu-guest-agent:

  1. Go to the mounted ISO in explorer
  2. The guest agent installer is in the directory guest-agent
  3. Execute the installer with double click (either qemu-ga-x86_64.msi ( 64 – bit ) orqemu-ga-i386.msi (32-bit)

After that the qemu-guest-agent should be up and running. You can validate this in the list of Window Services, or in a PowerShell with:

PS C:\Users\Administrator> Get-Service QEMU-GA

Status   Name               DisplayName
------   ----               -----------
Running  QEMU-GA            QEMU guest Agent

If it is not run , you is use can use theServices control panel to start it and make sure that it will start automatically on the next boot.

test that the communication with the guest agent is work

The communication with the guest agent takes place over a unix socket located in /var/run/qemu-server/<my_vmid>.qga
You can test the communication qm agent:

qm agent <vmid> ping

if the qemu-guest-agent is correctly runnning in the VM, it will return without an error message.

See Also

http://wiki.qemu.org/Features/guestAgent

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/chap-kvm_guest_timing_management