Tente acessar o libvirt / qemu.conf para:
user = "oneadmin"
group = "kvm"
Eu tenho uma nova instalação do Open Nebula 3.2.1 que estou tentando trabalhar e gerenciar alguns hosts kvm do debian squeeze recém-instalados.
Meu problema é que, quando a Open Nebula implanta VMs, o processo KVM não tem acesso ao dispositivo /dev/kvm
no host.
Eu configurei tudo de acordo com a documentação:
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"
Quando o libvirt cria VMs, eles não têm nenhum dos grupos secundários definidos, portanto, o processo não tem acesso a /dev/kvm
via permissões de arquivo. OK, é justo, embora a documentação da Open Nebula pareça indicar que ela deve ser configurada dessa maneira.
Eu tentei montar cgroups para tentar resolver esse problema. Depois disso, o processo kvm tem a seguinte entrada do cgroup:
1:devices,cpu:/libvirt/qemu/one-29
correspondendo a:
/dev/cgroup/libvirt/qemu/one-29/devices.list:c 10:232 rwm
Minha falta de compreensão de como os cgroups funcionam indica que isso deve permitir que o processo acesse /dev/kvm
, mas não vá.
Eu posso fazer as coisas funcionarem adicionando uma entrada ACL ( setfacl -m u:oneadmin:rw /dev/kvm
), mas isso não parece certo. A Open Nebula / libvirt não deveria estar lidando com isso?
Tente acessar o libvirt / qemu.conf para:
user = "oneadmin"
group = "kvm"