La imagen KVM no pudo comenzar con virsh, permiso denegado


12

Mi sistema operativo host es Ubuntu Server 11.04 (natty)

Después de seguir las instrucciones detalladas por la ayuda de Ubuntu , creé una imagen KVM usando

sudo ubuntu-vm-builder kvm hardy --libvirt qemu:///system

El archivo de imagen fue creado como

-rw-r--r-- 1 root root 438M 2011-06-17 14:39 ubuntu-kvm/tmpK9hbU5.qcow2

El puedo enumerarlo con virsh por sudo virsh -c qemu: /// system "list --all"

Id   Name                 State
----------------------------------
  - ubuntu               shut off  

Pero cuando llamo

sudo virsh -c qemu:///system "start ubuntu"

El error fue arrojado:

error: Failed to start domain ubuntu
error: internal error process exited while connecting to monitor: kvm: -drive file=/home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2: Permission denied

El usuario "myuser" se había agregado al grupo libvirt.

He ido tan lejos como para modificar el archivo de imagen y su directorio a 777, pero el error sigue ahí.

Respuestas:


9

Las imágenes KVM están restringidas por selinux. Ponerlos en / var / lib / libvirt / images debería ser suficiente.

http://libvirt.org/drvqemu.html#securityselinux entra en más detalles.


¡¡Hombre!! Esto funcionó para mí. Muchas gracias hombre. Aparentemente, el directorio $ HOME de su cuenta está protegido, y es donde a virsh le gusta instalar cosas por defecto. Después de instalar mi vms, ejecuté mv $ HOME / vmfolder / var / lib / libvirt / images. Luego ejecuté virsh edit vmname y cambié la ubicación del archivo de imagen en consecuencia.
Antwan W. A-Dubb

También tuve que cambiar el propietario de uno de mis vms. Perteneció a la raíz que condujo a un acceso denegado. sudo chown -R libvirt-qemu: kvm dbos / ubuntu-kvm /. Puede ejecutar ls -l en / your / vm / dir / y / its / subdirs / para verificar los permisos en cada nivel. Asegúrese de que ninguno de ellos pertenezca al grupo raíz y al usuario.
Antwan W. A-Dubb

He descubierto que la forma más fácil y segura de crear sus máquinas virtuales es asegurarse de que se cd a este directorio / var / lib / libvirt / images y ejecutar su instalación desde allí. De esa manera, no tendrá que preocuparse por los permisos de nivel de carpeta. Simplemente usarán de forma predeterminada el usuario actual en lugar de root.
Antwan W. A-Dubb

4

una solución fácil sería editar el archivo /etc/libvirt/qemu.conf y descomentar las siguientes líneas:

User = "root"
group = "root"

No olvides reiniciar libvirtd


44
Eso podría permitirle ejecutarlo, pero ¿cuáles son las implicaciones de seguridad?
cpast

1
Probablemente mejor para agregarse a la kvmde grupo, ajustar los permisos de archivo de imagen en consecuencia, y conjunto user="<yourname>"en qemu.conf.
Marc.2377

1

En Arch Linux:

sudo usermod -a -G kvm username

establecer permisos para procesos QEMU en /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

para actualizar la pertenencia al grupo en la misma terminal:

su - username

Agrega un alias a tu ~/.bashrc

alias virsh='EDITOR=nano sudo virsh && cd /etc/libvirt/qemu'

finalmente

source ~/.bashrc
virsh
list --all
start mydomain
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.