Ich möchte eine robuste Methode zum Sichern von KVM VPS der qcow2-Datei während der Ausführung. Nachdem ich lange gesucht hatte, stellte ich fest, dass wir rsync für Live-Backups verwenden können. Ich habe folgenden Befehl für rsync verwendet:
rsync -avh /vms/base.qcow2 /backup/backup.qcow2
Es hat richtig funktioniert. Ich befürchte jedoch, dass das Backup-qcow2-Image beschädigt werden kann, wenn ein Backup erstellt wird, während VPS aufgrund von Schreib- und Löschvorgängen geändert wird (z. B. Installation neuer Software oder Aktualisierung).
Daher erscheint es interessanter, ein Backup vom Snapshot eines Live-VPS zu erstellen.
Ich habe die folgenden Befehle zum Sichern des laufenden VPS verwendet:
1. Schnappschuss erstellen:
qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2
2.Konvertieren Sie den Schnappschuss im Rohbildformat (.img):
qemu-img convert -O raw snapshot.qcow2 /backup/backup.img
So stellen Sie VPS wieder her:
3.Konvertieren Sie das Rohbild in das qcow2-Bild:
qemu-img convert -O qcow2 /backup/backup.img base.qcow2
Dann können wir VPS auf virsh create base.xml
Befehl starten .
Obwohl diese Methode auch perfekt funktioniert, bin ich mir immer noch nicht sicher, ob dies die richtige Methode ist, um ein Backup des laufenden VPS zu erstellen. Ich habe hier und hier eine schöne Dokumentation zu qemu-img-Befehlen gefunden . Sie haben jedoch nichts über das Konvertieren von Schnappschüssen von Live-VPS in Rohbilder erwähnt.
Welche Methode eignet sich besser für Live-VPS-Backups? Ist das Konvertieren von Schnappschüssen in Rohbilder sicher?
Wenn ich eine ausführliche Dokumentation darüber erhalten könnte, wie sich Snapshot- und Basisdateien unter bestimmten Bedingungen verhalten, wäre dies sehr hilfreich.
Vielleicht können wir auch das Basis-qcow2-Image in eine unformatierte Sicherungsdatei konvertieren, anstatt den Snapshot zu konvertieren. Der Befehlsablauf lautet also:
1. Snapshot erstellen
2. Basis-qcow2 in Backup-Raw-Image konvertieren
3. Snapshot-Änderungen in Basis-Image übertragen
4. Snapshot löschen
Ich habe es versucht und es hat gut funktioniert mit kleinen VPS von 5 GB. Aber gibt es eine Möglichkeit für Fehler oder VPS-Beschädigungen, wenn die VPS-Größe sehr groß ist?
Danke im Voraus...
Antworten:
Das einzige, was Sie vermissen, ist, das Gastdateisystem vor dem Erstellen des Snapshots in den Ruhezustand zu versetzen, um sicherzustellen, dass er konsistent ist. Dies ist möglich,
virsh domfsfreeze
wenn Sie libvirtd verwenden.Die Reihenfolge der Operationen lautet beispielsweise:
Beachten Sie auch, dass dies
qemu-guest-agent
in der VM installiert sein und ausgeführt werden muss. Abhängig von der Auswahl der Verteilung und Installation kann dies der Fall sein oder nicht.Das
qemu-guest-agent
ist auch erweiterbar; Sie können Skripts hinzufügen, um bestimmte Software zu unterstützen. Zum Beispiel enthält es ein Beispielskript, um MySQL in einen konsistenten Zustand zu versetzen.quelle
virsh domfsfreeze $VM_NAME
wird mir die Berechtigung für mein Gastdateisystem verweigert. Meine Gastdateisysteme sind verschlüsselt, nicht sicher, ob das wichtig ist.Es gibt einen anderen Ansatz, bei dem temporäre Snapshots während der Sicherung erstellt und anschließend wieder festgeschrieben werden.
Weitere Informationen finden Sie unter: https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit
quelle