Elimina lo snapshot "orfano" di libvirt


11

Sto provando a creare un'istantanea dal vivo usando KVM secondo questa procedura .

Devo aver sbagliato a un certo punto perché sono in uno stato che non capisco.

La mia macchina virtuale viene chiamata prod. È stato creato nel file /srv/vm/prod.qcow2.

Apparentemente, non esiste alcuna istantanea in esecuzione: sto lavorando sul file di base. Posso indovinare perché la data di modifica del file /srv/vm/prod.qcow2cambia ogni minuto o giù di lì. Inoltre, questo comando lo conferma:

# virsh domblklist prod
Target     Source
------------------------------------------------
vda        /srv/vm/prod.qcow2

E non c'è nulla da bloccare:

# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file

Tuttavia, libvirt tiene traccia di una vecchia istantanea:

# virsh snapshot-list prod
 Name                 Creation Time             State
------------------------------------------------------------
 snap                 2015-06-09 12:11:33 +0200 disk-snapshot

Il suo file descrittore è /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>
[...]

Il file di origine è /srv/vm/snap.qcow2stato eliminato.

Considerando il metodo che sto cercando di implementare, è molto probabile che questa istantanea sia stata creata con il seguente comando:

virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic

Non riesco a rimuoverlo:

# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet

Quindi sono in uno stato in cui è stata creata un'istantanea, apparentemente non viene più utilizzata e non può essere eliminata.

C'è qualcosa che posso fare al riguardo?

Dovrei preoccuparmi o posso semplicemente ignorarlo?

modificare

Ho appena rimosso il descrittore del file di snapshot.

# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt

La mia macchina virtuale è di nuovo attiva e non vedo più alcun riferimento all'istantanea.

# virsh snapshot-list prod
 Name                 Creation Time             State
------------------------------------------------------------

Nulla nel virt-manager.

Sto bene o ci sono ancora delle pulizie da fare?

Modifica 2

Apparentemente, passare -–no-metadataa virsh snapshot-create-aseviterebbe questo problema non creando il file .xml, mantenendo così nessuna traccia dell'istantanea.


1
Dopo aver eliminato il descrittore del file di snapshot, dovrebbero essere ancora presenti alcune prove di uno snapshot esistente nell'immagine VM stessa che può essere verificato con qemu-img info /srv/vm/prod.qcow2. Ma non sono sicuro di come rimuovere quella traccia da solo ...
Sdittmar,

@sdittmar potresti voler contattare la mailing-list degli utenti libvirt (vedi la mia risposta) per ottenere una risposta precisa a questo.
Jérôme,

Risposte:


16

Il metodo corretto era

virsh snapshot-delete prod --metadata snap

(Questo comando può essere trovato sul wiki . L'ho provato prima di chiedere qui ma non è riuscito a causa di un errore di battitura che è stato corretto da allora.)

Non so che cosa non sia coperto rimuovendo il file .xml mentre libvirtd è inattivo. Forse l'unica differenza è che non è necessario interrompere libvirtd. Anche così, forse questo potrebbe evolversi in futuro. In ogni caso, si consiglia di utilizzare l'API di libvirt anziché giocare direttamente con i file.

Questa chiamata infatti non è necessaria se l'istantanea è stata creata con l' --no-metadataargomento.

Ho ottenuto questo chiarimento in questo thread della mailing-list degli utenti libvirt .

Chiunque desideri fare backup tramite istantanee dal vivo dovrebbe leggere la suddetta pagina wiki e potrebbe essere interessato al thread del forum che risponde alle mie domande su Noob e punta alle diapositive di Eric Blake , nonché a questo post del blog e ai seguenti commenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.