Skip to Content

Impossible de restaurer une machine virtuelle avec virt-manager sur Ubuntu 14.04

Probablement suite à une mise à jour de qemu sur Ubuntu 14.04 :

# vim /var/log/apt/history.log

Start-Date: 2016-11-10  16:11:08
Commandline: apt-get upgrade
Upgrade: qemu-system-common:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-user:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), flashplugin-installer:amd64 (11.2.202.643ubuntu0.14.04.1, 11.2.202.644ubuntu0.14.04.1), qemu-kvm:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-keymaps:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-system-ppc:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-system-arm:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-utils:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-system-x86:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-system:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-system-sparc:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), linux-libc-dev:amd64 (3.13.0-100.147, 3.13.0-101.148), qemu-system-mips:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-system-misc:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30), qemu-common:amd64 (2.0.0+dfsg-2ubuntu1.28, 2.0.0+dfsg-2ubuntu1.30)
End-Date: 2016-11-10  16:12:36

Un message d'erreur s'affiche à la restauration (image sauvegardée) d'une image virtuelle dans le logiciel virt-manager :

Erreur lors de la restauration du domaine: internal error: process exited while connecting to monitor: qemu-system-x86_64: -drive file=/XXX/libvirt/XXX.img,if=none,id=drive-virtio-disk0,format=qcow2: could not open disk image /XXX/libvirt/XXX.img: Could not open '/XXX/libvirt/XXX.img': Permission denied

En cliquant sur le bouton Détails :

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1162, in startup
    self._backend.create()
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 866, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error: process exited while connecting to monitor: qemu-system-x86_64: -drive file=/XXX/libvirt/XXX.img,if=none,id=drive-virtio-disk0,format=qcow2: could not open disk image /XXX/libvirt/XXX.img: Could not open '/XXX/libvirt/XXX.img': Permission denied

Après avoir vérifié que les droits sur l'image sont bons, il a fallu chercher une autre piste :

# ls -la /var/lib/libvirt/images/
total 3412
drwx--x--x 2 root root        4096 nov.  24 16:49 .
drwxr-xr-x 7 root root        4096 nov.  25 10:47 ..
-rw------- 1 root root 21478375424 nov.  24 16:49 debian8.qcow2
#

Pour résoudre le dysfonctionnement, il faut éditer le fichier de configuration /etc/libvirt/qemu.conf et enlever le # de commentaire devant les 2 lignes suivantes :

#user = "root"

#group = "root"

Il faut ensuite relancer le service pour prendre en compte les changements :

# service libvirt-bin restart
libvirt-bin stop/waiting
libvirt-bin start/running, process 7274
#

Tout rentre dans l'ordre.