Datensicherung

Sunday, November 1. 2009
Vor einiger Zeit ist mir etwas aufgefallen: In meinem näheren Bekanntenkreis werden kaum mehr Abzüge von Bildern gemacht. Alle haben inzwischen eine Digitalkamera und speichern ihre Bilder auf der Festplatte. Ich denke kaum jemand kann bestreiten, dass unser Leben zunehmend digitalisiert auf unseren Festplatten liegt. Erinnerungen, Fotos der Familie, Videos aus dem Urlaub. Alles Datenschätze, die man nicht verlieren möchte. Während aber die Preise für Festplattenplatz kontinuierlich sinken, der Speicherplatz steigt (300 - 500 GB sind inzwischen Normalität, Festplatten mit 1TB und mehr gibt es schon für unter 100 €), scheinen sich Backuptools kaum weiterentwickelt zu haben. Besonders für den Heimanwender gibt es aus meiner Sicht (zumindest unter Linux) keine befriedigende Lösung. Ich habe da jetzt schon verschiedene Sachen ausprobiert, aber wirklich zufrieden bin ich mit keinem bisher.

Ich meine, schauen wir uns doch mal die Tools an, die man so findet, wenn man nach Backuplösungen für Linux sucht. Das sind Werkzeuge, die für Serveradmins entwickelt wurden. Wo man jede Nacht zwischen 1:00 und 3:00 mal die ganze Festplatte aufs Magnetband wegschreibt. Für dieses Szenario ist eine solche Lösung okay, aber für einen Heimanwender ist das nicht brauchbar. Ich persönlich habe da folgende Situation: Ich arbeite 99% der Zeit an meinem Laptop. Mit dem Laptop bin ich mobil unterwegs, d. h. er ist nur in begrenzten Zeitabschnitten zu Hause, also dort wo meine USB-Platte ist. Die Platten (Laptop wie auch Backup) sind verschlüsselt, was den Datendurchsatz senkt.

Daraus ergeben sich die folgenden Anforderungen an eine Backuplösung:

  • Es muss schnell und effizient sein. Ich habe nicht die Zeit, um ewig darauf zu warten bis der Backupprozess fertig ist. Das impliziert, dass hier nicht jedes Mal die komplette Partition gesichert wird, sondern nur die letzten Änderungen.

  • Es muss automatisch laufen. Je mehr man händisch eingreifen muss, umso eher lässt man die ganze Sache schleifen, bis hin, dass das Backup ganz aufgegeben wird.

  • Es muss fehlertolerant sein. Das heißt zum einen, dass ein Fehler bei einer Datei nicht ein komplettes Backup zerstört und zum anderen, dass ich ein Backup auch mal unterbrechen kann (wenn ich bspw. schnell zum Campus muss), ohne dass ich mir damit meine Sicherungsstrategie beschädigt wird (das Tool sollte hier also die Unterbrechung am besten erkennen und fehlende Daten ergänzen können).


Einen großen Knackpunkt sehe ich bei allen aktuellen Backuplösungen bei der Geschwindigkeit - insbesondere, wenn man Verschlüsselung einsetzt. Der Backupprozess besteht, vereinfacht gesagt, aus zwei Schritten: Zuerst muss ermittelt werden, welche Daten zu sichern sind. Danach müssen diese Daten auf das Sicherungsmedium geschrieben werden. Das größte Probleme sehe ich hier beim ersten Schritt. Es dauert aktuell viel zu lange, bis das Programm weiß, welche Daten zu sichern sind. Ich hab anfangs mit tar-Backupscripten bzw. Programmen, die auf tar aufsetzen, experimentiert und nach einer Weile hat das Stunden gedauert, bis überhaupt Daten tatsächlich gesichert wurden. Hier wäre es sehr sinnvoll, wenn man das Dateisystem fragen könnte, welche Dateien nach einem bestimmten Zeitpunkt geändert wurden. Sofern das Dateisystem solche Metadaten speichert und abfragbar macht, würde dieser Schritt nur wenige Sekunden dauern. Aktuell ist mir kein Dateisystem unter Linux bekannt, dass eine solche Funktionalität hätte. btrfs scheint aber mit solchen Möglichkeiten ausgestattet zu sein. Bis es allerdings stabil und für den Normalbenutzer nutzbar ist, wird es noch einige Zeit dauern.

Bis dahin braucht es eine andere Lösung. Ich mache aktuell meine Backups mit rsnapshot. Das hat gegenüber tar einige Vorteile und allgemein eine bessere Performance. Hier braucht allerdings das Verschieben der Snapshots sowie das Löschen des ältesten Snapshots viel Zeit.

Ich bin da aktuell noch am experimentieren und werde in den kommenden Tagen noch was zu meinem Setup schreiben.