J'essaie de vivre instantané en utilisant KVM selon cette procédure .
J'ai dû gâcher à un moment donné parce que je suis dans un état que je ne comprends pas.
Ma VM est appelée prod
. Il a été créé dans un fichier /srv/vm/prod.qcow2
.
Apparemment, il n'y a pas d'instantané en cours d'exécution: je travaille sur le fichier de base. Je peux deviner parce que la date de modification du fichier /srv/vm/prod.qcow2
change toutes les minutes environ. Cette commande le confirme d'ailleurs:
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
Et il n'y a rien à bloquer:
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
Cependant, libvirt conserve la trace d'un ancien instantané:
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
Son fichier descripteur est /var/lib/libvirt/qemu/snapshot/prod/snap.xml
:
<domainsnapshot>
<name>snap</name>
<state>disk-snapshot</state>
<creationTime>1433844693</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='vda' snapshot='external' type='file'>
<driver type='qcow2'/>
<source file='/srv/vm/snap.qcow2'/>
</disk>
</disks>
[...]
Le fichier source a /srv/vm/snap.qcow2
été supprimé.
Compte tenu de la méthode que j'essaie d'implémenter, il est fort probable que cet instantané ait été créé avec la commande suivante:
virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic
Je ne peux pas le supprimer:
# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet
Je suis donc dans un état où un instantané a été créé, n'est apparemment plus utilisé et ne peut pas être supprimé.
Y a-t-il quelque chose que je puisse faire à ce sujet?
Dois-je m'en soucier ou puis-je simplement l'ignorer?
Éditer
Je viens de supprimer le descripteur de fichier d'instantané.
# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt
Ma machine virtuelle est à nouveau opérationnelle et je ne vois plus aucune référence à l'instantané.
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
Rien dans virt-manager non plus.
Suis-je bien ou y a-t-il encore du ménage à faire?
Modifier 2
Apparemment, passer -–no-metadata
à virsh snapshot-create-as
éviterait ce problème en ne créant pas le fichier .xml, ne conservant ainsi aucune trace de l'instantané.
qemu-img info /srv/vm/prod.qcow2
. Mais je ne sais pas comment supprimer cette trace moi-même ...