How to Check and Restore QEMU Guest Agent?

QEMU Guest Agent is a daemon program that is installed on a VM. QEMU Guest Agent provides execution of commands on VMs and information exchange between VMs and the cluster node.
VMmanager uses QEMU Guest Agent to change network settings without rebooting. If the QEMU Guest Agent is unavailable for the platform for five minutes, VMmanager will reboot the VM to apply the settings.
To manage VM with CentOS OS, guest-exec function should be enabled in QEMU Guest Agent.
To avoid an unplanned reboot of the VM, you can check the status of the QEMU Guest Agent before changing the settings. This can be done on a VM or the cluster node.

Diagnostics

    .1Connect to the VM via SSH.
    .2Define the status of the QEMU Guest Agent:
systemctl status qemu-guest-agent
Examples of responses:
QEMU Guest Agent is running
● qemu-guest-agent.service - QEMU Guest Agent Loaded:
loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled; vendor preset: enabled) Active:
active (running) since Вт 2021-08-10 05:25:54 UTC; 1 weeks 3 days ago
QEMU Guest Agent is stopped
● qemu-guest-agent.service - QEMU Guest Agent Loaded:
loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled; vendor preset: enabled) Active:
inactive (dead) since Пт 2021-08-20 06:27:16 UTC; 2s ag
QEMU Guest Agent is not installed
Unit qemu-guest-agent.service could not be found.

Restoring work

If QEMU Guest Agent is not installed

    .1Connect to the VM via SSH.
    .2Install QEMU Guest Agent:CentOS
yum install qemu-guest-agent
Debian, Ubuntu
apt install qemu-guest-agent
    .3Add QEMU Guest Agent to the autostart:
systemctl enable --now qemu-guest-agent
    .4Check the status of QEMU Guest Agent:
systemctl status qemu-guest-agent
    .5Check the status of the SELinux service:
sestatus
If the status is different from disable:
    .aDisable SELinux. Replace the below line in the /etc/selinux/config file
SELINUX=enforcing
with
SELINUX=disabled
    .bReboot the VM.
    .6The file /etc/sysconfig/qemu-ga contains a line in the below format
BLACKLIST_RPC=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush,guest-exec,guest-exec-status
    .aMark this line as a comment or delete it.
    .bRestart QEMU Guest Agent:
systemctl restart qemu-guest-agent

If QEMU Guest Agent is stopped

    .1Connect to the VM via SSH.
    .2Start QEMU Guest Agent:
systemctl start qemu-guest-agent

If guest-exec function is disabled

    .1Connect to the VM via SSH.
    .2Run the command:
sed -i '/BLACKLIST_RPC=/cBLACKLIST_RPC=' /etc/sysconfig/qemu-ga
    .3Restart QEMU Guest Agent:
systemctl restart qemu-guest-agent