32.4 Backups und Datensicherungen
Zuerst wollen wir uns der wichtigen Thematik der Datensicherung widmen. Als Datensicherung oder Backup bezeichnet man sowohl den Vorgang der Sicherung als auch die Sicherung selbst. Sie dient in erster Linie der Vorbeugung des Datenverlustes z. B. durch:
- Hardwareprobleme (Festplatten-Crash)
- Diebstahl
- Feuer- und Wasserschäden
- versehentliches Löschen von Daten
Des Weiteren ist eine Datensicherung natürlich auch zur längerfristigen Archivierung sowie zur Dokumentation Entwicklung verschiedener Projekte sinnvoll.
Ein Backup wird erst dann zum Backup, wenn es im Rahmen einer gut dokumentierten Backup-Strategie wird und innerhalb eines angemessenen Zeitraums vollständig wieder eingespielt werden kann.
Ansonsten unterscheidet man noch zwischen vollständiger und inkrementeller Datensicherung. Bei einer inkrementellen Datensicherung werden nur die Daten gesichert, die sich in Bezug auf die letzte Sicherung verändert haben, während ein vollständiges Backup entsprechend alle Daten sichert und daher auch mehr Plattenplatz benötigt.
32.4.1 Backup-Strategien
Vor dem ersten Backup steht die Ausarbeitung einer entsprechenden Strategie. Ohne diese Überlegungen zur Datensicherung ist ein Backup wenig sinnvoll. Die folgenden Punkte müssen Sie mindestens festlegen:
- Wann
... ein Backup vorgenommen wird. Wichtig in diesem Zusammenhang ist die Regelmäßigkeit. So könnte man zum Beispiel definieren, dass jede Woche ein vollständiges und jeden Tag ein inkrementelles Backup gemacht werden soll. - Wie
... soll das Backup erfolgen – inkrementell oder vollständig? - Wer
... ist für die Datensicherung verantwortlich und kontrolliert diese auf Erfolg oder Misserfolg? - Welche
... Daten sollen überhaupt gesichert werden und in welchem Zusammenhang stehen sie mit den anderen »Angaben«? Vielleicht muss man manche Daten weniger oft speichern als andere? - Was
... für eine Archivierungsmethode ist vorgesehen? Man könnte zum Beispiel die wöchentlichen Backups auf Bändern speichern, während die täglichen Sicherungen nur auf einem Backup-Server abgelegt werden. - Wo
... befindet sich das Archiv mit den Datensicherungen? Sinnvollerweise befindet es sich in einem anderen Gebäude oder zumindest in einem anderen Raum als die Server selbst, sonst haben Sie nämlich bei einem Feuer oder einem Wasserschaden nichts gewonnen. - Wie lange
... sind die einzelnen Backups aufzubewahren? Soll eine Datensicherung gleichzeitig als Archiv dienen, so ist mit ihr selbstverständlich anders zu verfahren als mit einer reinen Sicherheitskopie, von der vielleicht nur die jeweils aktuelle Version benötigt wird. - Wann, wie und wiederum durch wen
... werden die Backups auf Wiederherstellbarkeit überprüft? Nichts ist schlimmer als eine unbrauchbare Sicherung.
Wenn man sich im Rahmen der Planung einer Backup-Strategie nicht mit allen diesen Fragen beschäftigt, so wird man definitiv ein paar Aspekte vergessen. Vor allem der letzte Punkt der Aufzählung ist extrem wichtig.
32.4.2 Software
Es stellt sich als Nächstes die Frage, welche Software man zur Backup-Erstellung einsetzen möchte. Schließlich wird sich niemand regelmäßig hinsetzen und Daten per Hand kopieren – dieser Illusion sollte man sich gar nicht erst hingeben.
Gerade in diesem Bereich gibt es nun viele kommerzielle Lösungen, die teilweise auch mit beziehungsweise für Spezialhardware wie Tape-Bibliotheken oder Ähnliches vertrieben werden. Aber gerade für kleine bis mittlere Setups bieten sich auch der normale Unix-Baukasten und die darauf aufbauende Software an.
Der Unix-Baukasten
Der normale Unix-Baukasten bringt schon alles mit, was man zum Bauen eines Backup-Systems braucht. Mit dem Programm tar und diversen Komprimierungstools wie gzip oder bzip2 kann man schließlich schon Archive erstellen. Insbesondere bietet tar auch verschiedene Möglichkeiten, bestehende Backup-Archive mit dem Dateisystem zu synchronisieren: So gibt es eine Option -d, die den Inhalt des Archivs mit dem des Dateisystems vergleicht. Auch können neue Dateien zu einem Archiv hinzugefügt und alte entsprechend gelöscht werden. [Fn. Die Manpage beziehungsweise Abschnitt tar im Buch helfen bei diesen Features weiter.]
Dass bestimmte Verzeichnisse automatisiert in einem mit dem aktuellen Datum versehenen Archiv gesichert werden, erreichen Sie am besten mit einem Skript. Ein solches ist in der Regel schnell geschrieben, schließlich muss außer date (um das Archiv nach dem aktuellen Datum zu benennen), tar und gzip nichts aufgerufen werden.
Lässt man dieses Skript nun durch cron regelmäßig ausführen, so muss man sich auch nicht mehr selbst um die Ausführung kümmern, und zwei potenzielle Fehlerquellen – die eigene Faulheit und Vergesslichkeit – sind auch ausgeschaltet.
Jetzt stellt sich nur noch die Frage: Wohin damit? Schließlich nützt einem nach einem Festplatten-Crash das auf derselben Platte gespeicherte Backup recht wenig. Eine zweite Platte sollte also mindestens im Budget enthalten sein. Wenn man möchte, kann man das Backup auch über SSH z. B. mit scp auf einen zweiten Rechner verschieben. Setzt man dabei das Login über RSA-Keys ein, kann dies sogar automatisiert erfolgen, da die Authentifizierung kein per Hand eingegebenes Passwort erfordert.
Fertige Projekte
Auf diese Art und Weise könnte man sich also ein einfaches Backup-System selbst basteln. Wer hier jedoch nicht das Rad neu erfinden möchte, kann natürlich auch bei den üblichen Verdächtigen wie freshmeat.net nach entsprechenden Projekten suchen – die meisten freien Backup-Projekte nutzen intern ebenfalls diese Standardwerkzeuge.
Abbildung 32.1 BackupPC-Dateiwiederherstellung
Ein solches Projekt ist beispielsweise BackupPC (backuppc.sf.net). Das Projekt entwickelt eine Backup-Software für dedizierte Backup-Server. Die Software läuft also auf einem separaten Rechner, der die gesicherten Daten speichert. Auf diese kann schließlich über SSH bzw. auf Windows-Freigaben über einen Samba-Client zugegriffen werden.
Die Daten werden je nach Konfiguration in regelmäßigen Abständen auf den BackupPC-Rechner kopiert und dort gespeichert. Über das Webinterface kann man schließlich einen Restore über das Netzwerk ausführen, also die Dateien einzeln oder auch insgesamt zurücksichern.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.