Das Backup-Problem

vom 30. April 2010

Über das Thema Backup wollte ich schon lange einmal schreiben - jetzt ist denke ich ein guter Zeitpunkt dafür. Ich war lange auf der Suche nach der perfekten Backup-Strategie und seit ein paar Jahren habe ich für mich ein System gefunden, mit dem ich recht gut zurecht komme. Dieses will ich nun einmal beschreiben.

Da ich viel mit dem Notebook unterwegs bin, habe ich zwangsläufig mehrere Orte, an denen ich meine Daten brauche - und dementsprechend auch miteinander synchronisieren muss, da die Datenbestände zwangsläufig divergieren. Ich habe mich für eine Kombination aus NFS, rsync und unison entschieden. Zu Hause habe ich einen alten PC mit drei Festplatten ausgestattet und mir mit FreeNas ein recht stabiles NAS/RAID-System aufgesetzt. Auf diese Daten greife ich lokal über NFS-Freigaben zu und arbeite direkt darauf. Das Notebook synchronisiere ich mit unison ab und an damit, so dass ich auch unterwegs alle Daten habe.

Natürlich kann ich nicht alles synchronisieren und ein dreifach-Backup anlegen.
Allein meine Medien (Bilder, Videos, eBooks, MP3, ...) die sich über die Jahr(zehnte?) angesammelt haben, nehmen ca. 500GB ein. Diese werden über das RAID1 auf zwei Platten gespiegelt. Der Rest (Code, Texte, Studium, Konzepte, Projekte, ...) sichere ich zusätzlich jede Nacht mit rsync auf meinem vServer. Für was hat man denn sonst DSL? :) Dies hat den angenehmen Vorteil, dass ich mein Datenbestand auch "remote" abgleichen kann, falls ich mal ein paar Tage nicht zu Hause bin und mir nicht den aktuellen Stand geholt habe.

Dieses System funktioniert nun schon seit mehreren Jahren, auch nach mehreren Hardware-Defekts und Umzügen. Was ich allerdings bis gestern komplett außer Acht gelassen hatte, waren die Daten, die ausschließlich auf meinem vServer liegen - also auch dieser Text hier. Dies wurde mir bewusst, als mein kompletter Hoster über mehrere Stunden nicht erreichbar war. In solchen Situationen fängt dann die Panik an: "Was ist da los? Server abgeschmiert oder nur ein Netzwerkproblem?" Also sichere ich ab jetzt auch täglich die wichtigsten Verzeichnisse zurück nach hause auf mein NAS.

Was das Thema Backup angeht hat (hoffentlich) jeder sein eigenes System. Die meisten machen gar nichts und fangen alle paar Jahre von Neuem an oder haben sowieso alles online in Facebook, GitHub und co. Andere machen sporadisch ein Backup auf einer USB-Festplatte. Zu hoffen, dass sowieso nichts passieren wird ist leider eine ganz schlechte Strategie.

Warum ich eigentlich diesen Beitrag schreiben wollte war die Tatsache, dass ich neulich ein paar Backup-Dateien von vor sieben Jahren fand, mit denen ich nichts mehr anfangen konnte. Ich wusste schlicht nicht, welches Tool zu dieser Datei passt. Nach langem Suchen fand ich dann eine total veraltete Shareware-Version der Backup-Software (Support seit Windows 2000 eingestellt), die ich damals verwendet hatte. Umständlich mit Wine habe ich es dann unter Linux irgend wie zum Laufen gebracht und konnte tatsächlich noch ein paar Schätze retten.

abackup, ein Win98-Tool für Backups

Auch fand ich noch eine CSV-Datei mit einer Menge Bookmarks. Solche Formate sind zwar nicht sehr elegant oder effizient, aber robust gegen die Zeit; das Backup der Bookmarks war knapp 10 Jahre alt und trotzdem konnte ich mit drei Zeilen Ruby eine simple HTML-Seite generieren, mit der ich sie dann in mein delicious-Account importieren konnte.

Es lohnt sich also immer, offene und zugängliche Formate für ein Backup zu verwenden. (Schon mal das Passwort für ein längst verschollenes Zip-Archiv aus dem Jahre 2000 erraten müssen?) Eigentlich lohnt es sich überall, nicht nur für das Backup. Programme, Betriebssysteme, Codierungen und Versionen ändern sich zwangsläufig mit der Zeit, und wenn es nur die Entscheidung ist, ein schickes MacBook zu kaufen.

Was ist denn eure Backup-Strategie?

delicious bookmark del.icio.us,


Kommentare


kb am 30. April 2010
Schon seit über einem Jahr sichere ich alles in git.
Habe 5 Repos, für jeden wichtigen Ordner innerhalb /home ein eigenes.

Dann hab ich nen Shellscript, was das Push für alle macht. Das führe ich so alle paar Tage routinemäßig aus, oder auch wenn ich gerade was wichtiges gemacht habe.

Git hilft mir vor allem in zwei Dingen:
a) Gegen meine eigene Schusseligkeit, wenn ich mal ausversehen eine Datei lösche
b) Synchronisierung gleich dabei. Zeitweise war ich auf 3 PCs gleichzeitig (Netbook, Desktop, PC bei Eltern)
c) Nichts ist schneller wieder eingerichtet als ein Git-Repo ausgecheckt. Das Tool braucht man eh ständig.

Braucht auch viel weniger Platz, als wenn man das mit svn machen wöllte. Erst einmal habe ich ein Repo gelöscht und neuangelegt, weil es viel größer als der noch verbliebene Content war. Normal sind die Repos < 50% des Hauptcontents. Nicht schlecht, dafür dass darin ALLE Versionen stecken :)

Das Git läuft auf meinem eigenen Server.

Meine Medien sichere ich nicht. Bin kein Kinofilmsammler. Wär zwar schade um das 1TB Medien, aber die kann man sich ja schnell wieder holen. Was unverzichtbar ist, ist eh in nem Repo.

Server backt sich alle 3 Stunden, sowie die letzten 5 Tage täglich, selbst auf sich up. Dazu nehm ich rsnapshot. Ist eigentlich auch nur wegen meiner eigenen Schusseligkeit, ich habe Angst wichtige Configfiles unbrauchbar zu machen.
Momentan mache ich kein Backup von meinem Server auf mein System. Als ich noch in Hn wohnte, war da schlichtweg meine Leitung zu schwach (2mbit down). Jetzt könnte ich es wieder machen. Auch dafür würde ich rsnapshot benutzen. Aber eigentlich will ich das gar nicht. Weil dann müsste die externe angesteckt sein, und bla, und hier , .. Ich empfinde das als Ballast.. das will man eher vollautomatisiert!

Habe schon mal überlegt, S3 oder ähnliches dafür zu benutzen. Will das aber dann vollautomatisiert..
D.h. der Server soll per API die Cloud aktivieren (man zahlt ja nur für benutze Stunden) -> Transferieren -> S3 deaktivieren.

Habe mich damit aber noch nicht beschäftigt. Kennt jemand was, das das kann so?

Aaron am 30. April 2010
Danke für deinen Kommentar! Du sprichst da zwei Punkte an, auf das ich gar nicht eingegangen bin (und was mir schon öfter zum Verhängnis geworden ist). Ein Backup soll ja nicht nur vor einem Hardware-Defekt schützen, sondern auch vor der eigenen Schusseligkeit. Git ist da natürlich super dafür, vor Allem wenn man es mit einem Skript automatisiert. In meinem Konzept ist so etwas implizit schon dabei, da ich die Datenbasis auf mehreren Systemen habe, wenn ich etwas ausversehen lösche, habe ich es meist noch online (bevor der tägliche cronjob durchläuft) oder auf meinem Netbook. Eine Sicherung auf DVDs ist mir ehrlich gesagt zu aufwändig.

Das zweite, dass du ansprichst ist die eigene Faulheit. Niemand will sich täglich mit irgend welchen Backup-Tasks o.ä. rumschlagen, am liebsten mag man gar nicht drüber nachdenken. Wenn das Backup nicht automatisch läuft bringt es nichts, weil man es dann sowieso nicht macht. Da hilft nur krasser Automatismus.

Zum Thema S3: Hatte das auch mal getestet (zu der Zeit als ich nen PowerBook hatte). Da zahlt man monatlich für jedes angebrochene GB (liegt glaub im Cent-Bereich) und für jede Aktion mit den Daten (download/upload/verschieben/löschen/...) nochmal nen halben Cent oder so. Bezahlt wird ausschließlich mit Kreditkarte. Der Service wird als WebDav angeboten, man kann also mit einem beliebigen Client darauf zugreifen oder sogar direkt mit mount.davfs ins Dateisystem einhängen. Spricht also nichts dagegen, S3-Storage zu mounten, mit rsync seine Daten abzugleichen und wieder auszuhängen. Unter MAC hab ich mal JungleDisk getestet, das schien mir das Beste in dem Bereich zu sein.

Kai am 30. April 2010
Hi,

dieses Thema bereitet mir auch schon seit längerer Zeit kopfzerbrechen und habe noch keine optimale Lösung dafür.
Am liebsten wäre mir es, wenn jemand mal einen Dropbox-Dienst für lokale Server schreiben würde, so dass ich jederzeit Laptop und PC synchron halten könnte, aber leider hab ich bisher da nichts brauchbares gefunden. Die Hardwareinfrastruktur (also Homeserver) steht hier bereit, wird aber nur für nächtliche Backups und Netzfreigaben verwendet. Einen richtig performanten Dienst a la Dropbox habe ich nach wie vor nicht gefunden

jthoenes am 30. April 2010
Hallo Aaron,

ich habe eine ganz einfache cron-Job Regelung mit storeBackup. Es gibt drei verschiedene Stufen die durch einfache Ordnervergleiche jeweils täglich (früher stündlich aber ich mach nicht mehr so viel am privaten Rechner), wöchentlich und monatlich auf eine über NFS angebundene Platte updaten. Das Ruby-Skript welches das ganze verwaltet - und sich auch merkt wenn die NFS Platte mal zum Backup-Zeitpunkt nicht da war.

Der Server macht brav täglich seine MySQL, PostgreSQL und File-Dumps, die ich mir täglich ziehe.

Übrigens eine sehr ausführliche Diskussion über Online verfügbaren Backup-Space: http://groups.google.com/group/javaposse/browse_thread/thread/b1394c3fe3811480/f405e41c3ca74bab

Thomas am 7. May 2010
Hi Aaron,

also bei mir ist es so, dass ich eigentlich nur Kontaktdaten & Mails bzw. meinen Terminkalender als Backup sichere. Letzterer wird gleich an 3 verschiedenen Stellen gehalten und synchronisiert(lokal, Server, Handy). Wenn ich gerade an nem wichtigen Projekt arbeite verwende ich für den Code auch SVN- oder git-Repos. Alle anderen Daten sind für mich nicht so wichtig (wie kb schon sagte: Filme und so bekommt man ja schnell wieder) und werden nicht noch mal extra gesichert. Wenn die weg sind ist es eben Pech :)

Marc am 16. May 2010
Hoi,

also bei mir passiert sowieso nichts... :/

Eigentlich gehöre ich eher zu der Sorte sporadische USB-Backups, bzw. fauler "Laptop-Komplettkopie-234234234"-Ordner-Ersteller. Nach mehreren Monaten lösch ich davon dann immer 70% des Inhalts :)

Kommentar schreiben