Problemas de permisos para ejecutar las máquinas KVM después actualizar a Ubuntu 10.10 Server

Introducción.

Después de actualizar mi servidor de desarrollo a Ubuntu 10.10 server empecé a tener problemas para iniciar las máquinas virtuales basadas en KVM.  Básicamente se quejaba por problemas de permisos en /u/vms donde se almacenan las imágenes de los discos duros virtuales (por defecto es /var/lib/libvirt/images -global- o ~/.libvirt/storage -usuario-).

En los logs de las máquinas virtuales ubicados bajo /var/log/libvirt/qemu se pueden apreciar mensajes como el siguiente.

char device redirected to /dev/pts/1
qemu: could not open disk image /u/vms/sandbox_ubuntuserver-10.10_x64.img: Permission denied

Las imágenes de los discos duros pertenecen a root:root y esta relación es restaurada cada vez que se intenta ejecutar cada una de las máquinas virtuales así que modificarlas manualmente es infructuoso.

$ ls -l /u/vms

-rw——- 1 root root 7516192768 2010-08-11 23:32 c-head.img
-rw——- 1 root root 7516192768 2010-08-04 18:21 c-wn1.img
-rw——- 1 root root 7516192768 2010-07-24 16:42 c-wn2.img
-rw——- 1 root root 7516192768 2010-07-15 00:34 c-wn3.img

Solución.

Indicar explícitamente que root será el grupo y el usuario que ejecutará los procesos de QEMU.  Para hacer esto es necesario realizar el siguiente ajuste de configuración.

$ sudo vi /etc/libvirt/qemu.conf

# The user ID for QEMU processes run by the system instance
user = “root”

# The group ID for QEMU processes run by the system instance
group = “root”

Reiniciar el servicio para tener en cuenta los cambios recién realizados.

$ sudo service libvirt-bin restart

Conclusiones.

Aparentemente la nueva versión de KVM en Ubuntu trae consigo cambios en la forma como este se ejecuta, siendo ahora bajo usuarios sin privilegios y antes como root.  El proceso de actualización, al menos en mi caso, parece que no consiguió realizar todas las modificaciones necesarias para alcanzar este objetivo y por ello fue necesario indicar explícitamente que se utilizaba a root para ejecutar los procesos (método antíguo).

Otra posible solución a este problema podría haber sido indicarle a QEMU/libvirt (o a quien corresponda) que efectivamente se desea ejecutar los procesos con usuarios sin privilegios (método nuevo) sin embargo por el momento no he logrado encontrar quien es el responsable de los cambios de estos cambios de propiedad de los archivos.

Enlaces.

One thought on “Problemas de permisos para ejecutar las máquinas KVM después actualizar a Ubuntu 10.10 Server”

  1. Este procedimiento también es la solución para el siguiente mensaje de error.

    Error starting domain: operation failed: failed to retrieve chardev info in qemu with ‘info chardev’.

Leave a Reply

Your email address will not be published. Required fields are marked *