Проблема
При попытке определить домен в libvirt на новом сервере я столкнулся со следующей ошибкой:
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'в то время как KVM был настроен правильно:
kvm_ok_output.txt
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be usedРешение
В моём случае проблема заключалась в том, что пользователь, от имени которого запускался virsh, не был членом группы kvm.
Сначала определите пользователя с помощью
qemu_conf_user.txt
$ grep "user =" /etc/libvirt/qemu.conf
# user = "qemu" # Пользователь с именем "qemu"
# user = "+0" # Суперпользователь (uid=0)
# user = "100" # Пользователь с именем "100" или пользователь с uid=100
#user = "libvirt-qemu"
swtpm_user = "swtpm"Строка, которую нужно искать, — user = "libvirt-qemu" — независимо от того, закомментирована она или нет.
В моём случае пользователем был просто libvirt-qemu по умолчанию. Чтобы исправить проблему, я добавил этого пользователя в группу kvm:
add_kvm_group.sh
sudo usermod -aG kvm libvirt-qemuПосле этого необходимо перезапустить демон libvirt:
restart_libvirtd.sh
sudo systemctl restart libvirtdзатем вы сможете определить домен без каких-либо проблем:
virsh_define.sh
virsh define domain.xml
Check out similar posts by category:
Virtualization Linux
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow