Überlegungen zur Backupstrategie

Tuesday, September 7. 2010
Seit dem letzten Post zum Thema Backup ist nun schon einige Zeit vergangen. Damals habe ich ein paar Anforderungen formuliert, die eine Backuplösung aus meiner Sicht haben sollte. Inzwischen habe ich ein paar Sachen ausprobiert und schon einige Erfahrungen sammeln können. Aber erstmal von Anfang an.

Bevor man sich ans Backup machen kann, benötigt man eine Backupstrategie. Diese besagt kurzgesagt: Welche Daten sollen wie, wo, wann und wie oft gesichert werden.

Psychologische Komponente


Wenn man sich eine Backupstrategie überlegt, sollte man vor allem auf die "Psychologische Komponente" (oder auch: eigene Trägheit) achten. Das ist aus meiner Sicht äußerst wichtig. Die schönste Backupstrategie nutzt nichts, wenn sie hinterher doch nicht durchgeführt wird. Dies kann beispielsweise der Fall sein, wenn das Backup zu aufwändig ist oder zu viel Interaktion vom Benutzer erforderlich ist.

Deshalb sollte die oberste Regel beim Planen eines Backups sein: Möglichst viel automatisieren - möglichst wenig Interaktion vom Benutzer fordern. Mit Interaktion sind auch sehr kleine Handlungen gemeint, die der Benutzer ausführen muss, um ein Backup zu starten. Beispielsweise das Einschalten eines Geräts oder das Einstecken der Festplatte. Schon diese kleinen Stolpersteine können dazu führen, dass ein Backup nicht regelmäßig durchgeführt wird. Im Idealfall sollte man sich um nichts kümmern müssen. Alle wichtigen Daten werden vollautomatisch im Hintergrund gesichert.

Welche Daten sichern?


Im Prinzip alle wichtigen Daten, die nicht schon anderswo gesichert sind (z. B. Betriebssystem auf der Installations-CD). Welche Daten sind wichtig? Auf jeden Fall alles im Heimatverzeichnis (/home). Außerdem die Systemkonfiguration (/etc) und eventuell Daten in /opt sowie unter /var.

Meine Backupstrategie umfasst eine regelmäßige Sicherung von /home sowie /etc. Daneben erstelle ich immer ein Image der Systempartition (bei mir sind / und /home auf eigenen Partitionen, genau aus diesem Grund). Zwar könnte ich das System über die Installations-CD wieder installieren, aber es ist einfach komfortabler das fertig eingerichtete System mit allen installierten Programmen in ein paar Minuten über die Partition zu bügeln, wenn es ein Problem gibt.

Welches Medium?


Beim Backupmedium gibt es aktuell fünf verschiedene Möglichkeiten, die hier vorgestellt werden sollen:
  • DVD
    Die vermutlich kostengünstigste Variante. Im einfachsten Fall werden einfach alle wichtigen Daten auf die DVD gebrannt und in den Schrank gestellt. In ausgeklügelteren Backup-Settings werden differentieller und inkrementelle Backups gemacht und wiederbeschreibbare DVDs durchgewechselt.

    Klarer Nachteil dieses Mediums ist der beschränkte Platz und dass der Benutzer für jedes Backup aktiv werden muss (Psychologische Komponente). Dabei muss er nicht nur das Backup anstoßen, sondern auch während des gesamten Vorgangs aktiv sein (Daten brennen, DVDs wechseln) und den Überblick über seine Backup-DVDs behalten.

    Deshalb ist dieses Medium aus meiner Sicht nicht besonders gut geeignet und auch nicht mehr zeitgemäß für Backups.

  • Externe Festplatte
    Optimales Preis/Leistungsverhältnis, was die Speichermenge betrifft. Festplatten mit 1 TB sind heute schon ab 80 EUR zu haben und bieten erstmal genug Platz für die eigenen Daten. Das Backup lässt sich gut automatisieren, so dass im Optimalfall nur noch die Festplatte an den Rechner angesteckt werden muss.

    Nachteil hierbei ist, dass man in der Regel nur eine Festplatte für Backups verwendet. Geht die kaputt sind die Backups futsch. Außerdem muss die Platte an jeden Rechner angestöpselt werden, bei dem ein Backup gemacht werden soll (im durchschnittlichen Geek-Haushalt sind das schon ein paar :-D)

  • NAS
    NAS ist aktuell selbst in der billigsten Variante noch teurer als eine externe Platte. Vorteilhaft ist aber, dass man (je nach NAS) mehrere Platten hat, die im RAID-Verbund laufen und dadurch eine gewisse Ausfallsicherheit bieten. Außerdem ist das NAS über Netzwerk angebunden und dadurch für alle Rechner im Netzwerk verfügbar. Somit ist es nicht mehr notwendig (wie bei der externen Platte, s. o.) die Platte an den jeweiligen Rechner anzustecken, sondern die Platte ist immer verfügbar.

    Ich denke im Allgemeinen geht auch der Trend zunehmend zum NAS, eben aufgrund der eben genannten Vorteile.

  • Eigener Server / Homeserver
    Das höchste der Gefühle für jeden Geek! Am besten auch selbst zusammengeschraubt aus stromsparenden und leisen Komponenten. Vorteile sind die gleichen wie beim NAS, nur dass hier jedes Detail der Konfiguration selbst bestimmt werden kann. Durch die maximale Handlungsfreiheit ermöglicht der eigene Server auch eine große Automatisierung des Backups. Außerdem kann die Speicherkapazität dynamisch erweitert werden und der Server ist im Regelfall von überall aus erreichbar, was Backups von mobilen Geräten unterwegs vereinfacht. Dabei muss allerdings die Geschwindigkeit der Internetanbindung beim Homeserver berücksichtigt werden, denn hier lauert ein Flaschenhals.

    Für meine persönliche Backupstrategie war der Homeserver das optimale Backupmedium. Mehr zum Setup dann später.

  • Fremder Server / Cloud
    Die gleichen Vorteile wie beim eigenen Server, wobei die Internetanbindung optimal sein wird. Im Gegensatz zum Homeserver, muss man sich hier nicht um die Wartung der Infrastruktur kümmern und bekommt auf Knopfdruck zusätzlichen Speicherplatz.

    Nachteil dieser Lösung ist, das die eigenen Daten bei einem fremden Anbieter, unter Umständen in einem anderen Land mit anderen rechtlichen Bestimmungen, liegen. Außerdem muss man sich voll auf seinen Cloudanbieter verlassen, was die Datensicherheit als auch die langfristige Verfügbarkeit angeht. Geht ein Anbieter pleite ist ein Umzug nötig, im schlimmsten Fall sind vielleicht sogar die Daten weg.


Zusammenfassend: Das aus meiner Sicht derzeit optimale Backupmedium für den durchschnittlichen Privathaushalt ist die externe Platte bzw. das NAS. Wer es etwas größer und individueller haben möchte, schraubt sich seinen eigenen kleinen Heimserver zusammen.

Die Backupstrategie


Man weiß welche Daten man sichern möchte, man weiß wohin man die Daten sichern will - nun stellt sich nur noch die Frage: Wie werden die Daten gesichert. Zu den wichtigsten Verfahren dürften inkrementelles Backup, differentielles Backup und Snapshots gehören.

  • Inkrementelles Backup
    Beim inkrementellen Backup wird zuerst eine Sicherung alle Daten durchgeführt. Bei jedem weiteren Backup werden nur die Änderungen zum jeweils letzten Backup gesichert. Dadurch wird sehr viel Platz gespart wodurch sich diese Backupvariante für viele Backupvorgänge (z. B. täglich oder stündlich) eignet.

    Ein Problem sehe ich bei inkrementellen Backups darin, dass man für die Recovery das Vollbackup inklusive aller inkrementellen Sicherungen benötigt. Geht da was kaputt, ist man erstmal aufgeschmissen.

  • Differentielles Backup
    Beim differentiellen Backup wird ebenfalls zuerst eine vollständige Datensicherung durchgeführt. Danach werden aber bei jedem Backupvorgang alle Daten gesichert, die sich seit dem Vollbackup geändert haben.

    Auch hier hat man ein ähnliches Problem wie beim inkrementellen Backup: Man benötigt für die Recovery das jeweils letzte Vollbackup. Ist das beschädigt, hat man erstmal ein Problem.

  • Snapshots
    (Ich beziehe mich hier auf die Verhaltensweise von rsnapshot.) Bei Snapshots werden ebenfalls nur die geänderten Dateien gesichert. Großer Vorteil gegenüber inkrementellen Backups: Es gibt kein Vollbackup, was kaputt gehen kann. Außerdem werden die Daten nicht in eine einzige Datei (z. B. tar.gz-Archiv) gepackt, sondern liegen ganz normal auf der Festplatte. rsnapshot nutzt dabei Hardlinks: Dateien, die sich nicht geändert haben, werden nicht in den Ordner des Snapshots kopiert, sondern durch einen Verweis referenziert. Dieser benötigt keinen Speicherplatz, so dass bei jedem Snapshot effektiv nur die Änderungen gesichert werden und der Platzbedarf vergleichsweise gering ist. Daher ist aus meiner Sicht rsnapshot das optimale Backuptool.

    Zuletzt muss man nur noch festlegen wie oft eine Datensicherung durchgeführt werden soll. Im Normalfall wird man eine tägliche Sicherung machen, wobei man bei Snapshots ohne Probleme auch stündlich sichern kann - jeder Snapshot belegt ja nur den Platz der Änderungen.

Also zusammenfassend: Für eine Backupstrategie muss man wissen welche Daten gesichert werden sollen, welches Backupmedium benutzt werden soll, welche Backupstrategie bzw. -methodik und wann bzw. wie oft eine Datensicherung durchgeführt werden soll. Für eine gute Backupstrategie muss die "Psychologische Komponente", also die eigene Trägheit berücksichtigt werden.

Warum digitale Archivierung wichtig ist

Thursday, August 5. 2010
Als Nachtrag zu meinem Artikel über Backups: In diesem Video der Library of Congress wird erklärt warum digitale Archivierung wichtig ist und wie man dabei vorgehen kann.



Auf der Webseite http://www.digitalpreservation.gov/you/ findet man weitere Informationen zu diesem Thema.

Ich schreibe aktuell noch an dem Artikel über meine Überlegungen zum Backup, der - aus meiner Sicht - optimalen Backupstrategie und meinen bisherigen Erfahrungen. Bald also mehr dazu!

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.

Neustart

Friday, October 30. 2009
Eins zwo, eins zwo. Na dann mal los.