Von Michael Hafner auf Dienstag, 27. Juni 2023
Kategorie: System Integration

Kein Backup? Kein Mitleid! - Der Proxmox Backup Server – eine Open-Source Enterprise-Backup-Lösung

Viele Jahre lang habe ich meine Linux-Systeme mit BorgBackup gesichert. BorgBackup ist eine auf Python basierende Backup-Lösung, die Backups sowohl auf lokal angebundenen Storage als auch über einen SSH-Tunnel auf Remote-Server unterstützt. Die inkrementellen Backups werden dabei auf Blockebene dedupliziert, komprimiert und auf Wunsch auch verschlüsselt abgelegt.

Nachdem ich nun nach und nach meine lokalen Dienste, die bisher auf einem Sammelsurium an PCs, Raspberry PIs und ausrangierten Laptops liefen, als virtuelle Instanzen in einen Proxmox VE Cluster migriert habe, war die bisherige Backup-Lösung nicht mehr die erste Wahl. Prinzipiell bietet auch Proxmox VE bereits eine integrierte Backup-Lösung für virtuelle Maschinen und Container an, allerdings hat das österreichische Unternehmen mit dem Proxmox Backup Server ein Produkt im Portfolio, das bestens mit dem Proxmox Virtual Environment zusammenarbeitet und dessen integrierte Backup-Funktionen bei weitem an Funktionsumfang und Flexibilität übertrifft. Dabei ist die Installation und Administration auch noch ähnlich einfach und „straight-forward“ wie beim Proxmox VE. 

Installation

​Der Proxmox Backup Server (PBS) lässt sich grundsätzlich auf verschiedene Arten installieren. Entweder Standalone über ein ISO-Installationsimage auf einem dedizierten Server oder in einer virtuellen Maschine. Alternativ auch über ein Paket aus einem APT-Repo auf einem beliebigen Debian-System, in einem Debian-Container auf einem Proxmox VE Hypervisor, oder auch parallel zu einer bestehenden Proxmox VE Installation. Auf produktiven Systemen kommt natürlich nur die erstgenannte Option (dedizierter Server) infrage, zu Testzwecken lässt sich der PBS aber auch problemlos virtualisieren. Soll für die Backup-Archive lokaler Storage verwendet werden, empfiehlt sich dabei ein Container, da lokale Verzeichnisse hier am einfachsten in den Container durchgereicht werden können. Für meine lokale Umgebung habe ich mich für die parallele Installation neben Proxmox VE entschieden, auf zwei Cluster-Nodes, um so die Synchronisierung der beiden PBS Instanzen zu ermöglichen. Die Installation sowohl über das ISO-Image als auch aus dem Repo ist ausführlich in der PBS Dokumentation beschrieben.

Grundsätzlich ist der PBS als Open-Source-Software frei und uneingeschränkt benutzbar, die Proxmox Server Solutions GmbH bietet aber auch verschiedene kostenpflichtige Subskriptionen an, sofern professioneller Support und Zugriff auf das stabile Enterprise Repository benötigt werden.

Einrichtung

Nach der Installation hört das Web-Interface des PBS auf Port 8007 und präsentiert sich in der gewohnten Proxmox-Optik. Über das Web-Interface lässt sich der PBS komplett einrichten und bedienen. Es stehen aber für alle Funktionen auch Tools für die Kommando-Zeile zur Verfügung. 

Um loslegen zu können, muss erstmal nur ein sogenannter „Datastore“ eingerichtet werden, in dem die Backups dann letztendlich landen. Bei der Einrichtung wird der Name des Datastores und der lokale Pfad angegeben. Alternativ kann man bereits Regeln für das „Aufräumen“ der Backup-Archive (Prune und Garbage Collection) festlegen. Soll auf externem Storage gesichert werden, so muss dieser vorab in ein lokales Verzeichnis gemounted werden. Es lassen sich beliebig viele Datastores anlegen, die dann auch noch mit sogenannten „Namespaces“ logisch unterteilt werden können. Natürlich bietet der PBS auch eine Benutzerverwaltung, über die der Zugriff auf die Datastores detailliert konfiguriert werden kann.

Sobald ein oder mehrere Datastores eingerichtet sind, kann dieser in Proxmox VE unter „Datacenter → Storage → Add → Proxmox Backup Server“ als neues Backup-Ziel hinzugefügt und für manuelle und automatisierte Backups von Containern und VMs verwendet werden. Die „Backup Retention“, also die Regeln, welche Backups wann gelöscht werden sollen, können dann entweder bei der Erstellung oder in der Konfiguration des Backup-Jobs im Proxmox VE oder auf dem PBS in den Optionen des Datasets festgelegt werden. Letzteres ist die vom Hersteller empfohlene Variante. 

Backups verwalten, Restore etc.

Zugriff auf die Backups für die Wiederherstellung hat man im Proxmox VE über einen eigenen Storage-Eintrag, der neben den bereits vorhandenen im Baum des Nodes auftaucht. Dort gibt es dann neben der üblichen Komplettwiederherstellung die Möglichkeit, auch einzelne Dateien aus einem Backup-Archiv zu extrahieren.

Zusätzlich hat man auch im Web-Interface des PBS Zugriff auf jedes einzelne Backup und kann dort zum Beispiel gezielt Backups löschen, mit einem Schutz vor automatischem Löschen versehen, Backups überprüfen und bei Container-Backups einzelne Dateien aus dem Archiv extrahieren. Über die Kommandozeile lassen sich komplette Archive lokal mounten, um so Dateien auch aus VM-Backups zu extrahieren. 

Der Backup Client

Neben der nahtlosen Integration in Proxmox VE bietet der PBS auch die Möglichkeit, nicht virtualisierte Linux-Systeme über den „Backup Client“ zu sichern. Der Backup-Client (BC) steht als Paket in einem eigenen Repo direkt vom Hersteller für Debian und Ubuntu zur Verfügung, es lassen sich im Netz aber auch nicht offiziell supportete Pakete für andere Distributionen finden, z. B. ein AUR-Paket für Arch Linux. Der BC sichert dann einfach ähnlich wie BorgBackup eine lokale Verzeichnisstruktur in einen Datastore auf den PBS und nutzt dabei natürlich alle Vorteile des PBS wie inkrementelles, komprimiertes, dedupliziertes und ggf. verschlüsseltes Backup. Der BC unterstützt auch Regeln für Exclude/Include von Dateien und natürlich auch den Restore von kompletten Archiven oder einzelnen Dateien. Zusätzlich lassen sich auch komplette Archive direkt vom PBS lokal über FUSE mounten.

Auf dem PBS lassen sich dann auch die vom BC erstellten Archive, genau wie die Backups von Proxmox VE, über Retentions verwalten, manuell löschen, überprüfen, mit Protection versehen etc.

Technisches und Spezialitäten des Proxmox Backup Server

Der PBS erstellt Backups generell inkrementell. Die Daten werden mit ZSTD komprimiert und auf Blockebene dedupliziert. Die Deduplizierung erfolgt allerdings nur innerhalb eines Datastores, übergreifend ist nicht möglich. Die Datenintegrität wird mit SHA-256-Checksummen gewährleistet. Backups können auf Wunsch auch verschlüsselt werden, entweder über ein Passwort oder ein Public/Private-Key Verfahren.

Der PBS bietet die Möglichkeit, Daten zwischen zwei oder mehreren Instanzen zu synchronisieren, die sogenannten „Remotes“. Eine Remote-Instanz zieht sich dabei in definierbaren Zeitabständen den oder die Datastores einer anderen Instanz. Dabei wird natürlich immer nur das Delta übertragen, was die Synchronisierung nach dem initialen Sync sehr performant macht.

Neben dem Sync über Remotes ist im PBS auch eine direkte Unterstützung von LTO-5 Bandlaufwerken und Tape-Libraries integriert, die direkt im Web-Interface konfiguriert werden kann. 

Fazit

Backups sind wichtig. Nicht nur im großen Datacenter, sondern auch im kleinen Betrieb, in der Praxis, der Kanzlei, zu Hause, einfach überall. Backups schützen nicht nur vor Hardwareausfall, sondern auch vor Bedienfehlern und den Folgen von Ransomware. Backups können aber auch lästig sein. Nicht jeder hat das Know-how, eine zur Umgebung passende Backup-Strategie zu entwickeln und umzusetzen. Dank dem Proxmox Backup Server gibt es aber zumindest für Proxmox VE-Nutzer keinen Grund mehr, vor den Mühen eines Backups zurückzuschrecken. Mit ein paar Mausklicks einfach installiert und eingerichtet, wird man schnell feststellen, dass Backups auch durchaus Spaß machen können. Und falls es doch mal klemmt, gibt es neben der hervorragenden Dokumentation auch jederzeit kompetenten Support im Proxmox Forum und auf Anfrage natürlich auch durch die ORDIX AG.

Also, nochmal: Kein Backup? Kein Mitleid! Ach ja, und ein anderer schlauer Spruch darf hier natürlich auch nicht fehlen: Ein RAID ist kein Backup! 😉

Wie man alternativ ein Backup mittels Oracle erstellen und wie man eine Recovery mit RMAN durchführen kann, erfahren Sie in folgendem Seminar.

Seminarempfehlung

Kommentare hinterlassen