Das perfekte Backup
Das ist natürlich subjektiv. Es hängt ab von Ihren persönlichen Bedürfnissen. Ich habe folgende Voraussetzungen:
- Ich habe einen Raspberry Pi5 als Homeserver
- Meine Clients sind ausschließlich Windows PCs
Für mich habe ich das folgende Verfahren entwickelt:
- Ich sichere meine Daten auf USB-Festplatten (keine Streamer, Tape-Libraries etc.)
- Da meine Clients ausschließlich Windows PCs sind, sichere ich sie auf Shares-Ebene, d.h. jedes Root-Verzeichnis, das meine Windows-Clients sehen, separat (aber durchaus auch mehrere oder alle auf einer Disk)
- Aber auch die Linux-Umgebung muss gesichert werden um sie bei einem katastrophalen Versagen nicht von Grund auf neu einrichten zu müssen.
- Ich benutze die Hardware-Vorraussetzungen wie in meinem Artikel Raspberry Pi GreenNas beschrieben. Die Skripte unter Downloads (gibt es noch nicht, dies ist ein Preview!) verwenden die hardwaremäßigen Erweiterungen.
Die Ausgangslage
Ich habe einen Server, der für alles zuständig ist. Die 1 TB-Server-Platte (SSD) samt Home-Verzeichnisse und andere des täglichen Gebrauchs ist 24/7 online. NAS und Backup-Platte werden automatisch bei Bedarf zugeschaltet und gemounted und sind für alle Skripte erreichbar.
Auf meiner Serverplatte habe ich eine verschlüsselte Partition (die relativ groß ist). Um sie nicht jedesmal per dd kopieren zu müssen, wird sie auf der Backup-Platte gemounted und nur auf Datei-Ebene synchronisiert. Dazu ist beim Backup die Eingabe des Passworts nötig, so das dieses nicht automatisiert (z.B. über Nacht) durchgeführt werden kann.
Die Backup-Platte kann kleiner sein als das NAS plus der Server. Dazu muss sie jedes zu sichernde Share bereits enthalten (zumindest als leeres Verzeichnis). So kann man übrig gebliebene Festplatten als Backup-Medium für Shares, die eben draufpassen, nutzen.
Deshalb ist es ratsam, jedes Backup zu protokollieren. Ich mache das automatisiert im Backup-Skript in einer Datenbank. So kann ich jederzeit sehen, auf welcher Platte die aktuellste Sicherung eines Shares zu finden ist bzw. auch, welche Shares schon länger nicht mehr gesichert wurden, was ich dann demnächst nachholen müsste.
Die Backup-Platte wird dabei über ihre UUID identifiziert, hat in der Datenbank einen eindeutigen Namen und ist mit diesem (sowie zur Sicherheit auch mit der UUID) beschriftet.