Offsite VM-Backups
von Alec Höfler, 2/28/2022, 6:46:54 PMMeine Empfehlungen, Vorschläge und aktuelle Lösung für das sichern von Proxmox VMs und Dateien offsite
Backups sind ja eine schöne Sache, aber konsequent eine Backupstrategie durchzusetzen kann sich oft als komplex erweisen. In dieser Anleitung erläutere ich meine bisherigen Erfahrungen und Empfehlungen im Umgang mit VM & File-Backups. Ich spreche hier in erster Linie über Backups von Proxmox VMs und LXCs.
Die 3-2-1 Strategie
Die 3-2-1 Backup-Strategie gilt als Goldstandard der Datensicherheit. Grundlegend sagt diese aus, dass man 3 Kopien seiner Daten haben sollte - ein primäres Backup und zwei Kopien der Daten, wobei diese auf mindestens 2 unterschiedlichen Laufwerken/Rechnern gespeichert werden sollen und eine Kopie der Daten offsite sein soll. Dadurch kann gewährleistet werden, dass es zu jedem Zeitpunkt mindestens eine intakte Kopie der Daten gibt. In Einzelfällen kann auch zu einer 3-2-2 Strategie oder noch höherem gegriffen werden, die zusätzliche Sicherheit bietet. Für den Privatnutzer reicht allerdings meist die 3-2-1 Strategie locker.
Inkrementelle oder Vollständige Backups?
Oft stellt sich die Frage, ob man die Backups als Vollbackup über einen normalen Datastore erstellen soll, oder doch lieber auf einen Proxmox Backup Server setzen soll, der die Backup inkrementell macht. Bei inkrementellen Backups werden nur die Änderungen gespeichert, wohingegen bei einem Vollbackup alle VM Daten neu gespeichert werden.
Inkrementelle Backups bieten den Vorteil, dass man deutlich weniger Speicher für die immer gleichen Daten verschwendet. Hier werden nicht nur die Daten einer einzelnen VM, sondern aller VMs berücksichtigt, da oft bspw. die gleichen 10GB von der Grundinstallation des Betriebssystems anfallen, und somit nur ein mal gespeichert werden. Nachteile eines inkrementellen Backups sind bspw. die Voraussetzung einen extra Server als PBS bereitzustellen, wohingegen man bei einem Vollbackup einen beliebigen Pfad oder NFS/SMB Server nutzen kann. Weiters benötigt man für einen PBS Speicher mit möglichst geringer Latenz. Dies ist bei einem Vollbackup egal, da Proxmox die Backups bis zum Ende des Backup-Jobs zwischenspeichert und erst danach hochlädt.
Günstiger Cloud-Storage für Backups
Da ich sehr viele Daten habe, die ich auch gerne Offsite speichern würde, habe ich aktuell mehrere Lösungen für Cloud-Storage.
Hetzner Storage Box: Da die Hetzner Storage Boxes im Feber 2022 einen drastischen Preis-Drop bekommen hatten, sind diese eine gute Möglichkeit für günstige Offsite-Backups. Hier erhält man Preise von nur 2,19 € pro TB mntl. (BX41). Die StorageBox'es sind per SMB, FTP, SFTP, RClone und vielem mehr nutzbar dank SSH Zugriff. Für Dateibackups würde ich RClone empfehlen. Wenn man einen Proxmox Backup Server darauf betreiben will, ist es wichtig eine möglichst geringe Latenz zwischen StorageBox und PBS zu haben. Hierzu empfehle ich dringendst eine Hetzner Cloud VM als Proxmox Backup Server zu nutzen. Für normale Backups reicht die CX21 meistens locker aus (2 Kerne, 4 GB RAM, 20T Traffic, ~5 € mntl.). Dieser PBS wird im optimalfall per Sync-Job von einem andren PBS mit den Daten befüllt, um nicht lange I/O-Delays oder Filesystem-Locks auf den VMs zu erhalten.
ServaRICA Black-Friday Deal: Wenn man Compute und Storage in einer VM betreiben will, ist ServerRICA auch einen Versuch wert. Hier bekommt man durch den Black-Friday-Deal (der noch immer funktioniert - Stand August 2022) 4GB Ram, 4 CPU Kerne, 200GB SSD und 4TB HDD für 15$ im Monat. Details auf lowendbox. Auch wenn der Black-Friday-Deal nicht mehr funktioniert hat ServaRICA gute Preise für Storage-VServer. Die Unlimited Expanding Storage Plans schauen auch gut aus, die habe ich allerdings noch nich getestet und kann nichts dazu sagen. Hier bekommt man ein Startvolumen von 2,34 oder 8 Terabyte, das sich jeden Tag um 3-15 GB erhöht. Dadurch hat man nach einem Jahr bspw. schon über 13 TB.
Google Drive Unlimited Storage: Will man nur Dateien oder Vollbackups von VMs sichern sind die Google TeamDrives auch eine recht günstige Option. Mehr dazu im nächsten Kapitel.
Google TeamDrive für Vollbackups von VMs oder Daten
Google bietet TeamDrives mit unbegrenztem Speicher an. Durch Reselling kann man diese für ca. 5 € im Monat nutzen. Haken hierbei ist, dass man pro Google Accounts maximal 750 GB am Tag (pro Accounts) hochladen kann, und maximal 400 000 Dateien (pro TeamDrive) haben kann. Mehr Details über die Google Drives gibt's im YouTube-Video von AGTech: https://youtu.be/_h-PqxN6-F0. Diese kann man per rclone an jedem Linux-System oder RaiDrive unter Windows als reguläres Netzlaufwerk mounten. Details in den RClone Docs
Will man die TeamDrive nun für Vollbackups von Proxmox VMs nutzen, sollte man diese irgendwo zwischenspeichern. Ich habe dafür auf meinem TrueNAS-Server eine NFS-Freigabe erstellt, und diese auf dem Proxmox-Host mounted. Hierauf werden wöchentlich Vollbackups von den wichtigsten VMs erstellt. Durch einen Cloud Sync Task, der auf PUSH - MOVE gestellt wurde, werden diese Backups anschließend auf die Google Drive verschoben. Es ist auch möglich, die Backups auf eine lokale Festplatte im Proxmox Server temporär zu sichern, und diese per rclone cronjob auf die Drive hochzuladen.
Backups von Dateien sind durch dieses Feature auch sehr leicht möglich. Hierzu wird der Mode auf PUSH - COPY gestellt. Wenn man kein TrueNAS verwendet, kann auch auf rclone oder duplicati ausgewichen werden. Bei Duplicati empfehle ich, ZIP Archive mit einer angemessenen Größe zu erstellen, da diese ja auch als Dateien gezählt werden - größer ist besser!
Ein Proxmox Backup Server auf der Google drive ist leider nicht direkt möglich, da zuerst die Latenz viel zu hoch ist und wir ja da 400k-Files limit haben. Der Proxmox Backup Server erstellt chunks mit einer größe von 4 MB, wodurch wir maximal 1.6 TB auf eine TeamDrive sichern könnten.
Meine aktuelle Lösung
Aktuell mache ich alle 12 Stunden auf einen Proxmox Backup Server, der im gleichen Rack steht, von allem VMs inkrementelle Backups.
Diese Backups werden alle 24 Stunden per Proxmox Backup Server Sync auf einen PBS in Helsinki (Hetzner StorageBox + Hetzner Cloud VM) hochgeladen.
Für die wichtigsten Massendaten (bspw. S3-Server, NAS) werden alle 48 Stunden per duplicati die Daten verschlüsselt in 100GB ZIP-Archiven auf Google Drive hochgeladen.
Einmal wöchentlich werden auch Backups von wichtigen VMs auf ein lokales TrueNAS geschoben, das per Cloud Sync Task diese verschlüsselt auf die Google Drive verschiebt.
Zusätzlich werden wenige sehr wichtige VMs (DB-Server, Webhost, etc.) auch wöchentlich auf einen Proxmox Backup Server an einem dritten Standort gesichert.