我如何修复 libvirt 错误:unsupported configuration: Emulator '/usr/bin/qemu-system-x86_64' does not support virt type 'kvm'
问题
在一台新服务器上尝试在 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" # 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"你需要查找的行是 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按类别查看类似文章:
Virtualization, Linux
如果这篇文章对您有帮助,请考虑请我喝杯咖啡或通过 PayPal 捐款,以支持 TechOverflow 上新文章的研究与发布