A libvirt gerenciada pelo OpenNebula não permite acesso a / dev / kvm

2

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?

  • Quais são as alterações corretas a serem feitas?
  • A documentação deve ser alterada?
  • Eu perdi alguma coisa?
por MikeyB 08.02.2012 / 19:35

1 resposta

0

Tente acessar o libvirt / qemu.conf para:

user = "oneadmin"
group = "kvm"
    
por 08.02.2012 / 20:19