NixOS-Backupserver
Ich habe an einem NixOS Backupserver gearbeitet, der Backups im Pull Modus mittels Rsync von anderen Maschinen abholt. Das Konzept erlaubt zentrale Steuerung und einfache Zugriffskontrolle, weil nur der Backupserver eingehende Verbindungen akzeptiert und die zu sichernden Hosts keine zusätzlichen Serverdienste vorhalten müssen. Die Backups werden inkrementell übertragen und können optional komprimiert und verschlüsselt abgelegt werden, um Speicherplatz zu sparen und die Datensicherheit zu erhöhen.
Bei manueller Auslösung eines Backups lässt sich automatisch eine E Mail mit dem Backuplog versenden, so dass der Betreiber sofort über Erfolg oder Fehler informiert wird. Aufgrund einer aktuellen Limitierung von systemd timers ist das Versenden der E Mail bei geplanten, automatischen Läufen zur Zeit nicht integriert. Als Workaround biete ich im Repository Beispiele für Cron Jobs oder zusätzliche systemd Dienste an, mit denen sich flexible Benachrichtigungsabläufe realisieren lassen.
Die Konfiguration enthält zudem Prüfläufe zur Verifikation der übertragenen Daten, Retentionsregeln zum automatisierten Aufräumen alter Sicherungen und Optionen für differenzielle oder vollständige Restore Szenarien. Zur Absicherung verwende ich SSH Schlüssel für die Authentifizierung der Clients, feste Nutzerkonfigurationen mit eingeschränkten Rechten und ein Logging System, das detaillierte Fehlerdiagnose ermöglicht. Monitoring Metriken und einfache Hooks für externe Alarmierung lassen sich bei Bedarf ergänzen.
Die ausführliche Readme beschreibt die minimal notwendigen Schritte zur Inbetriebnahme, Beispielkonfigurationen für typische Clientumgebungen, Hinweise zur Auswahl von Speicherpfaden und zur Planung von Retention Regeln sowie eine Reihe von Troubleshooting Tipps für häufige Probleme. Die Anleitung ist so gehalten, dass auch NixOS Einsteiger den Backupserver Schritt für Schritt aufsetzen und testen können.
Bei Fragen oder wenn spezielle Anforderungen bestehen, gerne einen Kommentar schreiben.
Der Code befindet sich in dem GitHub Repository: https://github.com/DieSchoeneWolke/NixOS-Backupserver
Liam_P
This was time well spent reading.