Wie ich den libvirt-Fehler behoben habe: unsupported configuration: Emulator '/usr/bin/qemu-system-x86_64' does not support virt type 'kvm'

Problem

Beim Versuch, eine Domain in libvirt auf einem neuen Server zu definieren, trat der folgende Fehler auf:

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'

während KVM ordnungsgemäß eingerichtet war:

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

Lösung

Das Problem in meinem Fall war, dass der Benutzer, als den virsh ausgeführt wurde, nicht Mitglied der kvm-Gruppe war.

Bestimmen Sie zuerst den Benutzer mit

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"

Die Zeile, nach der Sie suchen müssen, ist user = "libvirt-qemu" - ob auskommentiert oder nicht.

In meinem Fall war der Benutzer einfach der Standard-libvirt-qemu. Um das Problem zu beheben, fügte ich diesen Benutzer zur kvm-Gruppe hinzu:

add_kvm_group.sh
sudo usermod -aG kvm libvirt-qemu

Danach müssen Sie den libvirt-Daemon neu starten:

restart_libvirtd.sh
sudo systemctl restart libvirtd

danach sollten Sie die Domain ohne Probleme definieren können:

virsh_define.sh
virsh define domain.xml

Check out similar posts by category: Virtualization, Linux