Home > Backup- und Wiederherstellungs-Blog > Wie sichert man Proxmox? Proxmox Sicherung und Wiederherstellungsmethoden

Wie sichert man Proxmox? Proxmox Sicherung und Wiederherstellungsmethoden

1 Star2 Stars3 Stars4 Stars5 Stars
(18 stimmen, durchschnitt: 5,00 aus 5)
Loading...
Aktualisiert 9th Februar 2023, Rob Morrison

Die Erstellung effektiver Backups ist heutzutage für fast jedes Unternehmen von entscheidender Bedeutung, unabhängig von der Art der Daten und Anwendungen, mit denen sie arbeiten. Proxmox Virtual Environment (VE) ist in dieser Hinsicht nicht anders. Glücklicherweise hat die schnell wachsende Popularität von Proxmox dazu geführt, dass viele verschiedene Backup-Lösungen von Drittanbietern eine Möglichkeit entwickelt haben, ein Proxmox-spezifisches Backup zu erstellen, und es gibt auch einige integrierte Möglichkeiten, Backups zu erstellen.

Eingebaute Proxmox-Backup-Methoden

Zunächst einmal ist es verständlich, dass die eingebauten Backup-Methoden Einschränkungen und Probleme mit der Anpassbarkeit haben können. Daher handelt es sich bei allen integrierten Proxmox-Backup-Methoden in der Regel um Voll-Backups. Dies bedeutet wiederum, dass sie alle Einschränkungen mit sich bringen, die mit der Verwendung dieser Sicherungsebene verbunden sind.

Es gibt zwei Möglichkeiten, ein integriertes Proxmox-Backup zu starten – über die Original-GUI oder über den speziellen Befehl vzdump in der Befehlszeile. Diese Backups benötigen ebenfalls einen Backup-Speicher auf Dateiebene, und Backups können auch über die Ebene „Datacenter“ in der GUI geplant werden.

Proxmox kann sowohl mit VMs als auch mit Containern arbeiten – obwohl es einige Unterschiede gibt, wenn es um die verschiedenen Backup-Modi geht, obwohl es für Container und VMs die gleichen drei Modi gibt: Stopp-Modus, Suspend-Modus und Snapshot-Modus.

Der Stoppmodus für eine VM ist derjenige, der von den drei Modi die größte Konsistenz bietet, allerdings auf Kosten einer kurzen Ausfallzeit. Wie der Name schon sagt, muss die VM angehalten werden, bevor dieser Sicherungsmodus durchgeführt werden kann.

Die Idee für Container ist dieselbe, aber es besteht die Möglichkeit einer längeren Ausfallzeit.

  • Der Suspend-Modus für eine VM versucht, die potenzielle Ausfallzeit zu verringern, indem er die gesamte VM nicht vollständig anhält, aber die Ausfallzeit ist immer noch relativ groß, und die Datenkonsistenz kann drastisch leiden, so dass diese Option im Allgemeinen nicht empfohlen wird.
  • Bei Containern ist die Situation etwas anders, da dieser Prozess eine Kopie der Live-Containerdaten an einem temporären Ort erstellt, den Container anschließend anhält und dann die Dateien des ersten Backups durch die Kopie aus dem angehaltenen Container ersetzt. Die Ausfallzeit dieses Vorgangs ist deutlich geringer als im Stoppmodus, aber es wird zusätzlicher freier Speicherplatz für die temporäre Containerkopie benötigt.
  • Snapshot ist wahrscheinlich die interessanteste der drei Optionen, da sie die Möglichkeit bietet, VM-Backups mit geringer oder gar keiner Ausfallzeit zu erstellen, allerdings mit dem Risiko, dass ein Backup-Job inkonsistent ist. Da die Daten von einer aktiven VM kopiert werden, besteht die Möglichkeit, dass eine Datei mitten in der Änderung kopiert wird; deshalb führt Snapshot in der Regel die Befehle guest-fsfreeze-freeze und guest-fsfreeze-thaw aus, um die potenziellen Konsistenzprobleme zu mindern.
    Der Prozess der Erstellung eines Snapshots eines Containers ist größtenteils derselbe, da die Backup-Software auch die Operationen innerhalb eines bestimmten Containers aussetzt und dann einen temporären Snapshot des gesamten Inhalts dieses Containers erstellt. Der gesamte Inhalt des Containers wird dann archiviert und der Snapshot selbst wird anschließend gelöscht.

Der Wiederherstellungsprozess mit eingebauten Proxmox-Appliances ist ebenfalls relativ einfach – er kann entweder über die Original-GUI oder mit Hilfe von zwei verschiedenen Befehlen durchgeführt werden:

  • qmrestore – zur Wiederherstellung von VMs.
  • pct restore – für die Wiederherstellung von Containern.

Ein potenzielles Problem mit dem Wiederherstellungsprozess ist, dass er Ihre Gesamtleistung mit VMs/Containern ernsthaft beeinträchtigen kann, da es keine Begrenzung für die Bandbreite gibt, die die Wiederherstellungsvorgänge in Anspruch nehmen können. Glücklicherweise können diese Grenzen vom Benutzer festgelegt werden. Es gibt zwei Arten solcher Begrenzungen: pro Wiederherstellung und pro Schreibzugriff auf den Speicher.

Bei der Begrenzung pro Wiederherstellung geht es darum, die Bandbreite für eine Wiederherstellung aus einem einzelnen Sicherungsarchiv zu begrenzen, und bei der Begrenzung pro Speicher wird die Bandbreite für den Schreibvorgang auf einen bestimmten Speicher begrenzt.

Dateinamen und Komprimierung

Einige der neueren vzdump-Versionen kodieren sowohl die Sicherungszeit als auch den Gasttyp im Dateinamen. Ein Beispiel für einen solchen Dateinamen ist unten abgebildet:


vzdump-lxc-105-2019_05_24-11_08_39.tar

Diese Art der Namensgebung ermöglicht die Speicherung mehrerer verschiedener Backups im selben Verzeichnis. Es gibt auch eine Reihe von Aufbewahrungsoptionen, auf die wir später noch eingehen werden.

Die Dateikomprimierung ist ein weiterer Teil des Backup-Prozesses in Proxmox. Es gibt drei allgemein bekannte Kompressionsalgorithmen: lzo, gzip und zstd. Gegenwärtig ist zstd der schnellste der drei Algorithmen, da er Multithreading unterstützt. Überraschenderweise sind sowohl lzo als auch gzip in vielen Fällen die Standardwahl und werden im Allgemeinen häufiger verwendet.

Es gibt auch einen Drop-in-Ersatz für gzip namens pigz, der aufgrund der Fähigkeit, Multithreading zu verwenden, eine bessere Leistung bietet. Sowohl bei pigz als auch bei zstd kann die Anzahl der verwendeten Kerne/Threads manuell eingestellt werden.

In den meisten Fällen lässt sich der verwendete Komprimierungsalgorithmus leicht an der Erweiterung der Sicherungsdatei ablesen.

  • .zst – Zstandard-Komprimierung
  • .gz or .tgz – gzip-Komprimierung
  • .lzo – lzo Komprimierung

Wenn die Dateierweiterung der Sicherungsdatei keinem der obigen Beispiele entspricht, wurde sie von vzdump gar nicht erst komprimiert.

Aufbewahrung von Sicherungskopien und Beispiele

Es gibt eine Reihe verschiedener Optionen für die Aufbewahrung von Sicherungskopien in Proxmox, hier ist eine Liste aller Optionen:

  • keep-all <boolean> – alle Backups werden aufbewahrt. Keine anderen Optionen können gesetzt werden, wenn dies „true“ ist.
  • keep-last <N> – gibt die Anzahl der Backups an, die aufbewahrt werden sollen, wobei vom letzten Backup rückwärts gezählt wird.
  • keep-hourly <N> – gibt die Anzahl der Stunden an, für die die Backups aufbewahrt werden sollen. Wenn es mehr als eine Sicherung pro Stunde gibt, wird nur die letzte Sicherung aufbewahrt.
  • keep-daily <N> – gibt die Anzahl der Tage an, für die Ihre Sicherungen aufbewahrt werden. Wenn es mehr als eine Sicherung pro Tag gibt, wird nur die letzte Sicherung aufbewahrt.
  • keep-weekly <N> – gibt die Anzahl der Wochen an, für die Ihre Sicherungen aufbewahrt werden. Wenn es mehr als eine Sicherung pro Woche gibt, wird nur die letzte Sicherung aufbewahrt.
  • keep-monthly <N> – gibt die Anzahl der Monate an, für die Ihre Backups aufbewahrt werden sollen. Wenn es mehr als eine Sicherung pro Monat gibt, wird nur die letzte Sicherung aufbewahrt.
  • keep-yearly <N> – gibt die Anzahl der Jahre an, für die Ihre Sicherungen aufbewahrt werden sollen. Wenn es mehr als eine Sicherung pro Jahr gibt, wird nur die jüngste Sicherung aufbewahrt.

Alle Aufbewahrungsoptionen werden in dieser Reihenfolge, von oben nach unten, abgearbeitet. Jede dieser Optionen deckt nur die Backups innerhalb ihres Zeitraums ab und kümmert sich nicht um die Backups, die bereits von den vorherigen Optionen abgedeckt wurden. Die von Ihnen gewählten Aufbewahrungsoptionen sollten in einer durch Komma getrennten Liste angegeben werden, wie im folgenden Beispiel:


# vzdump 777 –prune-backups keep-last=3,keep-daily=13,keep-yearly=9

Nun werden wir einige der regulären Backup-Befehle und ihre zusätzlichen Möglichkeiten in Bezug auf die Konfiguration besprechen


# vzdump 777

Im obigen Beispiel erstellen wir einen einfachen Dump eines Gastes 777 in das Standard-Dump-Verzeichnis ohne Snapshots.


# vzdump 777 –mode suspend

Im obigen Beispiel erstellen wir ein Backup desselben Gastes mit einem Snapshot, was zu einer minimalen Ausfallzeit führt.


# vzdump –all –mode suspend –mailto root –mailto admin

Im obigen Beispiel werden alle unsere Gastsysteme gesichert und Benachrichtigungs-E-Mails an Admin- und Root-Benutzer gesendet.


# vzdump 777 –dumpdir /mnt/backup –mode snapshot

Im obigen Beispiel verwenden wir die Snapshot-Methode mit einem benutzerdefinierten Dump-Verzeichnis.


# vzdump 101 102 103 –mailto root

Im obigen Beispiel werden mehrere verschiedene Gastsysteme auf einmal gesichert (101, 102, 103…).


# vzdump –mode suspend –exclude 101,102

Im obigen Beispiel werden alle Gäste mit Ausnahme der angegebenen Gäste (101, 102) gesichert.


# pct restore 600 /mnt/backup/vzdump-lxc-777.tar

Im obigen Beispiel wird ein Container auf einem neuen CT 600 wiederhergestellt.


# qmrestore /mnt/backup/vzdump-qemu-888.vma 601

Im obigen Beispiel wird eine QemuServer-VM als VM 601 wiederhergestellt.

Die Proxmox-Sicherungsmethoden von Bacula Enterprise

Glücklicherweise gibt es eine ganze Reihe von Alternativen von Drittanbietern, wenn es um Sicherungs- und Wiederherstellungsoperationen innerhalb der virtuellen Umgebung von Proxmox geht. Zum Beispiel gibt es Bacula Enterprise, eine umfassende Backup-Lösung, die mit einer Vielzahl verschiedener Datenbank-/VM-Typen arbeiten kann und auch ein natives Proxmox-Modul integriert hat.

Überraschenderweise bietet Bacula Enterprise auch zwei verschiedene Möglichkeiten, ein Proxmox-VM-Backup durchzuführen, und bei einer davon ist das Proxmox-Modul gar nicht erst erforderlich.

Die erste Methode beinhaltet die Installation eines Bacula Enterprise File Daemon auf jeder der Gast-VMs, von denen Sie Backups durchführen wollen. Bitte beachten Sie, dass Sie bei dieser Methode für mehrere VMs einen Zeitplan aufstellen und Prioritäten setzen müssen, da die gleichzeitige Sicherung aller VMs leicht zu einem Engpass für Ihr Netzwerk-/Datenträgersubsystem führen kann.

Abgesehen davon bietet die Installation eines Bacula File Daemon eine große Auswahl an Funktionen, einschließlich Job-Verifizierung, Wiederherstellung einzelner Dateien, Komprimierung auf Dateiebene, Überprüfung von Prüfsummen und mehr.

Da die zweite Methode der Erstellung von Proxmox-Backups mit Hilfe des Proxmox-Moduls von Bacula die leistungsfähigere ist, werden wir nur auf die Details und Konfigurationen dieses Moduls eingehen.

Proxmox-Sicherung mit Bacula Enterprise

Der Prozess der Erstellung eines Proxmox-VM-Backups mit Bacula Enterprise umfasst drei Hauptschritte:

  • Speichern der Gast-VM-Konfiguration.
  • Erstellung eines Snapshots der Gast-VM.
  • Auslagerung von Daten mit Hilfe des vzdump-Befehls.

Wie Sie sehen können, ist der Haupt-Backup-Modus, den Bacula Enterprise verwendet, der Snapshot-Modus, der konsistente Backups und wenig bis keine Ausfallzeiten ermöglicht. LXC-Gast-VM-Backups werden in zwei Dateitypen gespeichert – .tar und .conf, während QEMU-Gast-VMs den Dateityp .vma verwenden.

Dies gilt nur für eine Gast-VM, so dass Sie mehrere Sicherungsaufträge erstellen müssen, wenn Sie mehrere Proxmox-VMs sichern möchten. Der Prozess selbst ist weitgehend automatisiert, d.h. es werden Snapshots erstellt und nach dem Auslagern der Daten wieder entfernt, so dass er aus Sicht eines normalen Benutzers relativ einfach ist.

Proxmox-Wiederherstellung mit Bacula Enterprise

Bei der Wiederherstellung von Proxmox mit Bacula Enterprise gibt es zwei Möglichkeiten. Sie können die Daten als komplette Proxmox-Gast-VM wiederherstellen (sie wird entweder mit der ursprünglichen vmid wiederhergestellt, mit der sie gesichert wurde, oder mit der neuen, wenn die vorherige bereits belegt ist). Alles, was Sie tun müssen, ist, den Parameter where= während des Bacula-Datenwiederherstellungsprozesses zu verwenden.

Eine weitere Nuance betrifft die vmid der wiederhergestellten Gast-VM. Wenn eine wiederhergestellte VM eine neue vmid haben muss, wird diese zufällig als Zahl der höchsten verfügbaren vmid +1…11 addiert zu dieser Zahl gewählt. Sie können diesen Zufallsprozess auch mit dem Befehl sequentialvmid übergehen – auf diese Weise würde Ihre Gast-VM die erste verfügbare Nummer innerhalb des Systems erhalten.

Eine weitere Wiederherstellungsoption besteht darin, alle Daten in einem lokalen Verzeichnis wiederherzustellen. Dies kann auch mit einem ähnlichen Befehl erfolgen: where=/some/path. Nicht existierende Pfade werden automatisch vom Proxmox-Modul erstellt.

Fazit

Bacula Enterprise bietet eine besonders große Auswahl an verschiedenen Optionen, wenn es um Sicherungs- und Wiederherstellungsoperationen geht, und das Proxmox Backup und Recovery ist nicht anders. Das hohe Maß an Anpassungsmöglichkeiten führt zu einer besonders schnellen Sicherung und (was noch wichtiger ist) zu einer schnellen Wiederherstellung der Daten eines Unternehmens. Durch den Einsatz der fortschrittlichen Snapshot-Technologie und die Flexibilität der Software ist Bacula Enterprise eine gute Wahl für Ihre Proxmox-Backup- und Wiederherstellungsanforderungen.

Über den Autor
Rob Morrison
Rob Morrison ist der Marketingdirektor bei Bacula Systems. Er begann seine IT-Marketing-Karriere bei Silicon Graphics in der Schweiz, wo er fast 10 Jahre lang in verschiedenen Marketing-Management-Positionen sehr erfolgreich war. In den folgenden 10 Jahren hatte Rob Morrison auch verschiedene Marketing-Management-Positionen bei JBoss, Red Hat und Pentaho inne und sorgte für das Wachstum der Marktanteile dieser bekannten Unternehmen. Er ist Absolvent der Plymouth University und hat einen Honours-Abschluss in Digital Media and Communications und ein Overseas Studies Program absolviert.
Einen Kommentar hinterlassen

Deine Email-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *