Impossible de restaurer une machine virtuelle avec virt-manager sur Ubuntu 14.04
- Ubuntu |
- libvirt |
- Ubuntu |
- virt-manager |
- Virtualisation
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.