有些发行版中,普通用户可能没法用KVM:
virsh capabilities | grep domain
<domain type='qemu'/>
<domain type='qemu'/>
作为对比:
sudo virsh capabilities | grep domain
<domain type='qemu'/>
<domain type='kvm'/>
<domain type='qemu'/>
<domain type='kvm'/>
所以应该是权限问题,stat /dev/kvm
:
Access: (0660/crw-rw----) Uid: ( 0/ root) Gid: ( 106/ kvm)
解决方案就是将用户添加进kvm
(好像不用加入libvirt
?):
# sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
然后重新登录,运行id
确认已经加入kvm
组了,然后:
virsh capabilities | grep domain
<domain type='qemu'/>
<domain type='kvm'/>
<domain type='qemu'/>
<domain type='kvm'/>
就正常了。
来源:https://serverfault.com/questions/1002043/libvirt-has-no-kvm-capabilities-even-though-qemu-kvm-works
ps: CentOS Stream
8默认配置下普通用户可使用KVM,不知道是不是因为qemu
用户默认就在kvm
组里。