OpenNebulapipe理的libvirt不允许访问/ dev / kvm

我有一个新的开放星云3.2.1安装,我试图去工作,并pipe理一些新鲜安装的debian挤kvm主机。

我的问题是,当Open Nebula部署VM时,KVM进程无法访问主机上的/dev/kvm设备。

我已经根据文档设置了一切:

 root@onhost1:~# ls -al /dev/kvm crw-rw---- 1 root kvm 10, 232 Feb 8 11:24 /dev/kvm root@onhost1:~# id oneadmin uid=500(oneadmin) gid=500(oneadmin) groups=500(oneadmin),106(kvm),108(libvirt) libvirt/qemu.conf has: user = "oneadmin" group = "oneadmin" 

当libvirt创build虚拟机时,它们没有设置任何辅助组,因此进程无法通过文件权限访问/dev/kvm 。 好吧,公平的,虽然开放星云文件似乎表明它应该这样设置。

我已经尝试安装cgroups来尝试解决这个问题。 在我这样做后,kvm进程具有以下cgroup条目:

 1:devices,cpu:/libvirt/qemu/one-29 

对应于:

 /dev/cgroup/libvirt/qemu/one-29/devices.list:c 10:232 rwm 

我对cgroup的工作方式缺乏了解,表明这应该允许进程访问/dev/kvm ,但是不能。

我可以通过添加一个ACL条目( setfacl -mu:oneadmin:rw /dev/kvm )来使其工作,但是这看起来不对。 不应该打开星云/ libvirt处理这个?

  • 什么是正确的改变?
  • 文件是否应该更改?
  • 我错过了什么吗?

试试把libvirt / qemu.conf改为:

 user = "oneadmin" group = "kvm"