Was ist der sicherste Weg für das Sichern und Wiederherstellen eines externen Snapshots mit virsh libvirtd?

510
Jason4Ever

Lieber S,

Ich habe die folgenden Schritte ausgeführt, um eine Momentaufnahme eines Laufs VMauf meinem zu erhalten KVM, aber eigentlich bin ich nicht sicher, ob das der richtige Weg ist oder nicht:

/usr/bin/virsh snapshot-create-as \ --domain VM_NAME SNAPSHOT \ --diskspec vda,file=/var/lib/libvirt/images/snapshot.dsk ,snapshot=external \ --disk-only \ --atomic  
  • Dann bearbeite ich die XML-Konfiguration, um den Plattenpfad in das Original zu ändern:

    virsh edit VM_NAME

ersetzen: /var/lib/libvirt/images/snapshot.dsk mit /var/lib/libvirt/images/VM.dsk

  • Ich lösche den erstellten Schnappschuss:

/usr/bin/virsh snapshot-delete VM_NAME SNAPSHOT --metadata

  • dann bekomme ich eine kopie von der blockscheibe:
/usr/bin/virsh -q blockcopy VM_NAME vda /backup/block.dsk --wait --verbose - -shallow --pivot 
  • dann :

/ usr / bin / virsh blockcommit VM_NAME vda --active --verbose --pivot

  • dann definiere ich die VM erneut mit dem Dump XML.

Sind diese Schritte korrekt, um eine sichere Sicherung für die Instanz zu erstellen? obwohl die Größen der ausgegebenen Dateien im Vergleich zum Original klein sind?

und der wichtigste Teil ist jetzt:

Wie kann ich den Snapshot oder den Block wiederherstellen, falls ich Probleme habe? Ich habe versucht, den Block wiederherzustellen, bevor ich diesen Befehl verwendet habe, aber er formatierte die Originalplatte und ersetzte sie durch den kleinen Block, den ich zuvor gesichert hatte, wodurch der VMVerlust verloren ging:

# virsh stop VM_NAME  # qemu-img create \ -b /var/lib/libvirt/images/snapshot.dsk \ -f qcow2 \ var/lib/libvirt/images/VM.dsk  # virsh start VM_NAME 
0

0 Antworten auf die Frage