Backup von KVM Rohbildern

Backup von KVM Rohbildern

Ich verwende qemu-img-0.12.1.2-2.355.0.1.el6 auf CentOS 6.3 und verwende Raw-Images für meine virtuellen Maschinen. Gibt es eine Möglichkeit, Gäste sicher zu sichern, ohne sie anzuhalten? Ich habe versucht, einen Snapshot auf einem Testgast zu erstellen, der nicht lief, aber eine Fehlermeldung erhielt: „Live-Disk-Snapshot wird von dieser QEMU-Binärdatei nicht unterstützt“. Bedeutet das, dass das Raw-Format für keine Art von Snapshot geeignet ist, oder liegt es an meinem KVM-Paket? Ich habe gelesen, dass das Anhalten des Gasts ausreicht, um einen DD-Vorgang durchzuführen, stimmt das? Können Sie uns bitte einige Ihrer Best Practices in diesem Bereich mitteilen?

Antwort1

Wenn SierohBildDateiendann besteht die einzige Möglichkeit, einen konsistenten Snapshot zu erhalten darin, die VM anzuhalten oder herunterzufahren.

Sie können mit qcow2-Imagedateien einen Snapshot erstellen, ohne die VM anzuhalten, aber der Snapshot wird Teil dieser Datei. Dies kann je nach Ihrer Situation angemessen sein oder auch nicht.

Sie hätten mehr Optionen, wenn Sie einen CentOS 7- oder aktuellen Fedora-Hypervisor verwenden würden, wie beispielsweise Snapshot-fähige LVM-Volumes oder ZFS-Zvols. Auf diesen modernen Systemen würden Sie virsh domfsfreezeden Gast verwenden, den Snapshot erstellen, virsh domfsthawden Gast verwenden und dann den Snapshot sichern. Dies erfordert, dass der Qemu-Guest-Agent im Gast ausgeführt wird.

Antwort2

Das Anhalten von VMs virsh suspend <domain>friert die VM einfach ein. Gemäß der Dokumentation werden alle Festplatten-E/A und Netzwerk-E/A angehalten, während die VM weiterhin den RAM des Hosts verbraucht.

Wenn Sie Centos haben, besteht eine hohe Wahrscheinlichkeit, dass Sie dort auch eine LVM-Partition und darüber hinaus eine XFS-Partition haben. Wenn die Aussage zutrifft, können Sie sie folgendermaßen sichern:

  • Cache auf VM löschen und anhalten,
  • Cache auf Host löschen und LVM-Snapshot erstellen,
  • Mounten Sie den LVM-Snapshot irgendwo auf dem Host und führen Sie Ihren Sicherungsplan aus.

Bei mir funktioniert es sogar mit Datenbankservern. Es ist sogar völlig sicher, Dateiserver (z. B. Samba) zu sichern, ohne den Cache auf dem Host oder der VM zu löschen, vorausgesetzt, dass die Kernelparameter auf dem Host und im Guset standardmäßig sind. Der Datenverlust ist minimal. Ext4 beispielsweise übergibt alle 5 Sekunden schmutzige Seiten in den RAM (Standardeinstellung). Dies kann zu Datenverlust führen, die weniger als 5 Sekunden vor dem Einfrieren überschrieben wurden. Dieser Datenverlust war für mich akzeptabel.

Jede Sicherungsmethode hat einige Nachteile. Ausfallzeiten oder potenzieller Datenverlust. Viele Datenbankadministratoren gehen davon aus, dass Datenverlust zu Datenbeschädigungen führen kann, wenn die Datenbank-Engine (wie MS SQL) jede Transaktion zwingend in das Dateisystem schreiben muss, bevor die Änderung akzeptiert wird. Andererseits akzeptieren sie die Wiederherstellung von Daten aus der Sicherung und akzeptieren den Datenverlust.

verwandte Informationen