Added info for Proxmox guest agent
This commit is contained in:
2
Proxmox/Qemu-guest-agent - Proxmox VE.url
Normal file
2
Proxmox/Qemu-guest-agent - Proxmox VE.url
Normal file
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://pve.proxmox.com/wiki/Qemu-guest-agent
|
||||
84
Proxmox/client_agent.md
Normal file
84
Proxmox/client_agent.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Qemu-guest-agent
|
||||
|
||||
## Introduction - What is qemu-guest-agent
|
||||
|
||||
The qemu-guest-agent is a helper daemon, which is installed 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 resumed after pause (for example after shapshot) it immediately synchronizes 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 Option
|
||||
|
||||
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 install qemu-guest-agent``
|
||||
|
||||
and on Redhat based systems (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 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.
|
||||
|
||||
#### Windows
|
||||
First you have to download the virtio-win driver iso (see Windows 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 Windows Version (e.g. 2k12R2 for Windows 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) or ``qemu-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 running, you can use the **Services** control panel to start it and make sure that it will start automatically on the next boot.
|
||||
|
||||
### Testing that the communication with the guest agent is working
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user