Jak jsem opravil chybu libvirt: unsupported configuration: Emulator '/usr/bin/qemu-system-x86_64' does not support virt type 'kvm'

Problém

Při pokusu o definici domény v libvirt na novém serveru jsem narazil na následující chybu:

virsh_define_error.txt
$ virsh define domain.xml
error: Failed to define domain from domain.xml
error: unsupported configuration: Emulator '/usr/bin/qemu-system-x86_64' does not support virt type 'kvm'

zatímco KVM bylo správně nastaveno:

kvm_ok_output.txt
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

Řešení

Problém v mém případě byl, že uživatel, pod kterým běžel virsh, nebyl členem skupiny kvm.

Nejprve určete uživatele pomocí

qemu_conf_user.txt
$ grep "user =" /etc/libvirt/qemu.conf
#       user = "qemu"   # A user named "qemu"
#       user = "+0"     # Super user (uid=0)
#       user = "100"    # A user named "100" or a user with uid=100
#user = "libvirt-qemu"
swtpm_user = "swtpm"

Řádek, který potřebujete najít, je user = "libvirt-qemu" - ať už je zakomentovaný nebo ne.

V mém případě byl uživatel výchozí libvirt-qemu. Pro opravu problému jsem přidal tohoto uživatele do skupiny kvm:

add_kvm_group.sh
sudo usermod -aG kvm libvirt-qemu

Poté musíte restartovat daemon libvirt:

restart_libvirtd.sh
sudo systemctl restart libvirtd

poté byste měli být schopni definovat doménu bez problémů:

virsh_define.sh
virsh define domain.xml

Podívejte se na podobné články podle kategorie: Virtualization Linux