Ein eigener Backupserver mit Debian, ZFS und BorgBackup

Wie sicher sollen die eigenen Daten sein?
Über Jahre gewachsene Datenbestände sind für ihre Besitzer in aller Regel wertvoll. Das gilt für private Fotos und Dokumente ebenso wie für geschäftliche Unterlagen, Datenbanken und die Historie eines Unternehmens. Gehen diese Daten verloren, lassen sie sich häufig nicht oder nur mit erheblichem Aufwand wiederherstellen. Dass regelmäßige Datensicherungen notwendig sind, dürfte deshalb kaum strittig sein. Schwieriger ist die Frage, wie weit man dabei gehen möchte. Eine Sicherung am selben Standort schützt vor versehentlichem Löschen, technischen Defekten und manchen Softwarefehlern. Gegen Feuer, Einbruch oder andere Schäden am Standort bietet sie dagegen nur begrenzten Schutz. Ein externes Backupziel liegt deshalb nahe. Anbieter wie Hetzner ermöglichen es, Daten auf räumlich entfernten Speichersystemen zu sichern, ohne selbst die entsprechende Infrastruktur betreiben zu müssen. Wer darüber hinaus Wert auf eine zusätzliche räumliche Trennung und die eigene Kontrolle über seine Daten legt, kann eine weitere Sicherung zu Hause oder im Unternehmen betreiben. Damit entsteht nicht nur eine zusätzliche Sicherheitsebene, sondern auch ein Stück Datensouveränität. Aus diesen Überlegungen heraus war die ursprüngliche Backupstrategie entstanden.
Der Ausgangszustand: rsnapshot, Storagebox und NAS
Die Datensicherung der drei Serverinstanzen – Nextcloud, Immich und SuiteCRM – erfolgte über mehrere Jahre mit rsnapshot. Als Backupziele dienten eine externe Hetzner Storagebox und parallel dazu eine NAS in den eigenen Räumlichkeiten. Die Speicherziele waren über CIFS eingebunden. rsnapshot übernahm die regelmäßige Sicherung und die Verwaltung mehrerer Sicherungsstände. Dieses System funktionierte über Jahre überwiegend problemlos. Die Funktionsfähigkeit der Backups wurde durch regelmäßige, stichprobenartige Wiederherstellungen überprüft. Auffällig waren allerdings die teilweise sehr langen Laufzeiten der Sicherungsjobs. Das war lästig, stellte aber zunächst keinen ausreichenden Grund dar, die bewährte Lösung zu ersetzen. Der eigentliche Handlungsbedarf entstand erst, als Hetzner meldete, dass die Storagebox mit einer Kapazität von 1 TB bereits zu 98 Prozent belegt war. Bei einem gesamten zu sichernden Datenbestand von ungefähr 250 GB war das ein deutliches Warnsignal. Mehrere Sicherungsstände benötigen selbstverständlich zusätzlichen Speicherplatz. Der außergewöhnlich hohe Verbrauch ließ aber darauf schließen, dass die bisherige Sicherungsstrategie beziehungsweise deren technische Umsetzung nicht mehr zufriedenstellend arbeitete. Damit war der Zeitpunkt gekommen, das gesamte Verfahren zu überdenken.
Der Wechsel zu BorgBackup
Bei der Suche nach einer Alternative fiel die Entscheidung auf BorgBackup. Borg ist auf versionierte, platzsparende Datensicherungen ausgelegt. Die Software arbeitet mit Deduplizierung, sodass bereits vorhandene Datenblöcke nicht erneut gespeichert werden müssen. Hinzu kommen Komprimierung, Verschlüsselung und eine effiziente Verarbeitung inkrementeller Sicherungen. Gerade bei regelmäßig gesicherten Serverdaten, bei denen sich zwischen zwei Sicherungsläufen nur ein vergleichsweise kleiner Teil verändert, sind das erhebliche Vorteile. Zum Einsatz kam BorgBackup in Version 1.4. Die Umstellung der externen Sicherung auf die Hetzner Storagebox verlief erfreulich unkompliziert. Dank vorhandener und gut anpassbarer Skriptvorlagen war die neue Sicherung innerhalb weniger Stunden eingerichtet. Damit war der erste Teil der neuen Backupstrategie umgesetzt. Die externe Sicherung funktionierte, die Laufzeiten waren deutlich kürzer und die Speicherverwaltung wesentlich effizienter. Blieb das zweite Backupziel: die lokale NAS.
Von der WD-NAS zum eigenen Borgserver
Bei der bisherigen NAS handelte es sich um eine WD My Cloud EX2 Ultra, die bereits viele Jahre im Einsatz war. Die Hardware war inzwischen betagt. Die beiden eingebauten Festplatten waren dagegen erst rund zwei Jahre alt: zwei WD Red Plus mit jeweils 2 TB Kapazität, die sich weiterhin in gutem Zustand befanden. Das Problem lag nicht bei den Festplatten, sondern bei der NAS selbst. Die WD My Cloud EX2 Ultra bot keine geeignete Unterstützung für den vorgesehenen Betrieb mit BorgBackup. Ein Ersatz der gesamten NAS durch ein neues Fertiggerät wäre möglich gewesen. Allerdings stand noch ein nicht mehr genutzter Desktoprechner von CSL zur Verfügung. Damit bot sich eine andere Lösung an. Der Rechner verfügte über ein MSI PRO A320M-B Mainboard mit AMD-Ryzen-Prozessor und 16 GB RAM . Für einen dedizierten Backupserver war die vorhandene Hardware mehr als ausreichend. Die beiden WD Red Plus wurden aus der NAS ausgebaut und in den Rechner übernommen. Als Betriebssystem kam Debian 13 zum Einsatz. Die eigentliche NAS-Hardware konnte damit in den Ruhestand gehen, während die noch gut erhaltenen Festplatten weiterverwendet wurden.
Debian 13, ZFS und BorgBackup
Nach der Installation von Debian 13 wurde zunächst das Speichersystem eingerichtet. Die beiden 2-TB-Festplatten bilden einen ZFS-Mirror. Damit stehen rund 2 TB Bruttokapazität beziehungsweise etwa 1,76 TiB nutzbarer Speicher zur Verfügung. Die Entscheidung für ZFS hatte mehrere Gründe. Neben der Spiegelung der Festplatten bietet das Dateisystem eine integrierte Integritätsprüfung über Prüfsummen. Regelmäßige Scrubs ermöglichen es, gespeicherte Daten auf Fehler zu überprüfen. Bei einem Mirror können erkannte Schäden unter geeigneten Voraussetzungen anhand der intakten Kopie korrigiert werden. ZFS schützt damit vor bestimmten Formen von Datenkorruption und dem Ausfall einer einzelnen Festplatte. Es ersetzt allerdings keine zusätzliche Datensicherung. Anschließend wurde BorgBackup 1.4 installiert und der Server als weiteres Backupziel eingerichtet. Auch diese Installation verlief weitgehend problemlos. Die grundlegende Konfiguration war schnell erledigt. Der eigentliche Aufwand entstand erst bei der anschließenden Automatisierung.
Ein Backupserver muss nicht ständig laufen
Ein Server, dessen einzige Aufgabe darin besteht, einmal täglich Datensicherungen entgegenzunehmen, muss nicht rund um die Uhr eingeschaltet sein. Deshalb war von Anfang an vorgesehen, den Borgserver nur während eines festgelegten Zeitfensters zu betreiben. Die Lösung basiert auf dem zeitgesteuerten Einschalten über die Echtzeituhr des Rechners, dem sogenannten RTC-Wakeup. Der Server startet selbstständig, nimmt die Sicherungen entgegen und wird anschließend wieder heruntergefahren. Das vorgesehene Betriebsfenster liegt zwischen 01:00 und 04:00 Uhr. Innerhalb dieses Zeitraums werden die inkrementellen Sicherungen der drei Serverinstanzen durchgeführt. Daneben laufen die vorgesehenen Prüf- und Überwachungsaufgaben. Damit lässt sich ein vollwertiger Backupserver betreiben, ohne den Stromverbrauch eines ständig eingeschalteten Rechners in Kauf nehmen zu müssen.
WireGuard, Skripte und eine unerwartete Fehlerquelle
Für die Verbindung zwischen den extern betriebenen Instanzen und dem lokalen Borgserver kommt WireGuard zum Einsatz. Die VPN-Verbindung wird über die vorhandene FRITZ!Box bereitgestellt. Die grundlegende VPN-Infrastruktur war bereits aus der bisherigen Sicherung auf die NAS vorhanden und musste deshalb nicht vollständig neu aufgebaut werden.
Trotzdem nahm die Inbetriebnahme des automatisierten Sicherungsbetriebs mehrere Tage in Anspruch. Die ersten Fehler waren überwiegend selbst verursacht: Unaufmerksamkeiten in den Skripten, nicht korrekt aufeinander abgestimmte Abläufe und kleinere Konfigurationsfehler. Solche Dinge lassen sich durch systematisches Debugging vergleichsweise gut eingrenzen. Vollkommen unerwartet war eine andere Ursache. Die FRITZ!Box führte eine zeitgesteuerte Trennung der Internetverbindung durch. Für den normalen Betrieb war das kaum wahrnehmbar. Im Zusammenspiel mit den nächtlichen Sicherungsjobs und der VPN-Verbindung konnte die Unterbrechung jedoch den Backupablauf stören. Erst nachdem diese Ursache erkannt und die Einstellungen entsprechend angepasst waren, lief die Sicherung zuverlässig.
Wer eine vergleichbare Lösung aufbaut, sollte deshalb unbedingt die Einstellungen zur zeitgesteuerten Trennung der Internetverbindung in der FRITZ!Box überprüfen. Das ist ein unscheinbarer Punkt, der bei der Fehlersuche erheblich Zeit kosten kann.
Der tägliche Betrieb
Inzwischen läuft das System seit zehn Tagen ohne Fehler. Der Borgserver startet selbstständig und steht innerhalb des vorgesehenen Zeitfensters für die Sicherungen zur Verfügung. Nach Abschluss der Aufgaben wird er wieder ausgeschaltet. Besonders erfreulich sind die kurzen Laufzeiten der inkrementellen Backups. Bei einer Glasfaseranbindung mit 400 Mbit/s ergeben sich derzeit ungefähr folgende Werte:
| Instanz | Sicherungsvolumen | Laufzeit |
|---|---|---|
| Nextcloud | 130 GB | 1,5 Minuten |
| Immich | 80 GB | etwas über 30 Sekunden |
| SuiteCRM | 50 GB | etwa 20 Sekunden |
Die angegebenen Datenvolumina beschreiben den jeweiligen Sicherungsbestand, nicht die bei jedem inkrementellen Lauf tatsächlich übertragenen Datenmengen. Die kurzen Laufzeiten sind vor allem darauf zurückzuführen, dass BorgBackup bereits vorhandene Daten wiederverwendet und nur neue beziehungsweise veränderte Datenblöcke übertragen werden müssen. Die Geschwindigkeit hängt deshalb wesentlich vom Umfang der täglichen Änderungen ab.
Überwachung und Protokollierung
Eine automatische Datensicherung ist nur dann sinnvoll, wenn Fehler auch erkannt werden. Deshalb beschränkt sich die Automatisierung nicht auf die eigentlichen Backupjobs. Die beiden Festplatten werden über SMART überwacht. Ergänzend erfolgen ZFS-Prüfungen, mit denen der Zustand des Mirrors und mögliche Datenfehler kontrolliert werden. Die entsprechenden Aufgaben werden über systemd-Dienste und Timer gesteuert. Für die tägliche Berichterstattung werden Statusmeldungen per E-Mail versendet. Als Mailtransport kommt Exim4 zum Einsatz, das die Nachrichten über den vorhandenen SMTP-Server weiterleitet. Die ZFS-Statusmeldung ist für 03:30 Uhr vorgesehen, die SMART-Meldung für 03:35 Uhr. Damit lässt sich der Zustand des Speichersystems regelmäßig kontrollieren, ohne sich täglich am Server anmelden zu müssen. Die Überwachung der eigentlichen Sicherungsjobs bleibt dabei eine eigenständige Aufgabe: Ein gesunder ZFS-Pool sagt schließlich noch nichts darüber aus, ob alle vorgesehenen Backups erfolgreich abgeschlossen wurden.
Fazit: Technikverliebte Spielerei oder Notwendigkeit?
Die Frage ist durchaus liegt auf der Hand. Die Datensicherung selbst ist keine Spielerei, sondern eine Notwendigkeit. Wer über Jahre wichtige Daten aufgebaut hat, sollte deren Verlust nicht einfach als unvermeidbares Risiko hinnehmen. Wie viele Sicherungskopien dafür erforderlich sind und an welchen Standorten sie aufbewahrt werden, hängt dagegen vom persönlichen Sicherheitsbedürfnis und von der Bedeutung der Daten ab. Dabei macht es einen Unterschied, welche Folgen ein Datenverlust hätte. Für einen Hobbyfotografen kann der Verlust einer über Jahre aufgebauten Bildersammlung ausgesprochen schmerzlich sein. Verliert ein Freiberufler dagegen seine Buchhaltungsdaten, Kundeninformationen oder die geschäftliche Historie, kann das existenzielle Konsequenzen haben.
Eine externe Sicherung bei einem professionellen Anbieter ist deshalb ein sinnvoller Ausgangspunkt. Ob darüber hinaus ein zweites oder drittes Backupziel erforderlich ist, muss jeder für sich entscheiden. Die Entscheidung für einen zusätzlichen Backupserver in den eigenen Räumlichkeiten ist allerdings nicht nur eine Frage der Datensicherheit. Sie ist auch eine Entscheidung für mehr Datensouveränität. Mit dem Wechsel zu BorgBackup ist aus einer über Jahre gewachsenen und zunehmend schwerfälligen Sicherungslösung ein deutlich effizienteres System geworden. Die externe Storagebox bleibt erhalten, während der lokale Borgserver ein weiteres, unabhängig betriebenes Sicherungsziel bereitstellt. Dass sich dafür vorhandene Hardware und die erst zwei Jahre alten Festplatten weiterverwenden ließen, macht die Lösung auch wirtschaftlich interessant. Natürlich hätte sich das Problem mit weniger Aufwand lösen lassen. Ein eigener Linux-Server mit ZFS, VPN-Anbindung und zeitgesteuertem Betrieb erfordert schließlich mehr technisches Wissen und Pflege als eine einfache externe Sicherung. Dafür steht jetzt ein System zur Verfügung, dessen Aufbau, Betrieb und Datenhaltung vollständig unter eigener Kontrolle liegen. Ob dieser zusätzliche Aufwand notwendig ist, lässt sich nicht allgemeingültig beantworten sondern entscheidet jeder für sich.
