Netzwerk-Backup leichtgemacht

Für ein Online-Backup, das auch gehobenen Ansprüchen genügt, braucht man nicht zwingend komplizierte und teure Programme.

Artikel erschienen in Swiss IT Magazine 2005/06

     

Die Einrichtung und Überwachung von Backups gehört oftmals zu den schwierigeren Aufgaben in einer IT-Umgebung, insbesondere, wenn viele unterschiedliche Systeme zu sichern sind, die teilweise nur über eine Internet-Verbindung erreichbar sind. Die Anschaffung und Einrichtung von passenden Backup-Lösungen wie Amanda oder Arkeia, die mit einem Grossteil der unixoiden Systeme wie Linux oder BSD umgehen können, lohnt sich allerdings bei kleineren Firmen nicht immer. In die Bresche zwischen «kein Backup» und einer professionellen Software kann eine Eigenbaulösung auf Basis von rsync, OpenSSH und einigen Bash-Scripts springen, insbesondere, wenn man auf Online-Sicherungen angewiesen ist, die man im Fehlerfall möglichst schnell zurückspielen können muss.


Ressourcenschonend

Auch wenn bei einer Datensicherung grundsätzlich nur Daten von A nach B kopiert werden, ist der Einsatz von Werkzeugen wie cp zum Duplizieren der Daten innerhalb des Computers oder scp zum Kopieren der Daten übers Netzwerk auf einen anderen Computer nicht sinnvoll. Denn bei jedem Kopiervorgang werden alle Dateien übertragen, auch wenn von einem bis zum nächsten Sicherungsvorgang nur ein kleiner Prozentsatz der Daten geändert wurde. Dies belastet die Ressourcen und verlängert den benötigten Zeitraum für die Datensicherung, was in Zeiten von immer kleineren Backupfenstern möglichst vermieden werden sollte.





Hier setzt rsync an, ein kleines Tool, das aus dem Samba-Projekt hervorgegangen ist (rsync.samba.org), indem es mit einem inkrementellen Filetransfer arbeitet und nur die geänderten Daten überträgt. Das heisst, dass nur beim ersten Sicherungsvorgang das komplette Datenvolumen übertragen wird. Bei jeder weiteren Sicherung werden nur noch die Unterschiede abgeglichen, also hinzugekommene oder veränderte Dateien kopiert und gelöschte Dateien entfernt. Damit lässt sich nicht nur Bandbreite im Netzwerk sparen, sondern auch das Backupfenster klein halten.






Allerdings muss man sich diesen Komfort mit einem permanenten Vorhalten aller Daten auf einem zentralen Server erkaufen, der mit einer entsprechenden Menge Massenspeicher ausgestattet sein muss. Dies ist aber nicht nur als Nachteil zu werten, da auf diese Weise ein Online-Backup verfügbar ist, mit dessen Hilfe sich schnell und einfach übereifrige Löschaktionen rückgängig machen lassen und Daten nach Hardwareausfällen innert kürzester Zeit wieder hergestellt werden können. Auf die im Vergleich zu Festplatten langsamen Tapes muss nur noch zurückgegriffen werden, wenn auch die Daten auf dem Backup-Server korrumpiert sind.





Wer nicht nur den Datenbestand des letzten Sicherungslaufs vorhalten will, kann mit Hilfe von cp den Abzug auf dem Backup-Server «duplizieren», indem zusätzliche Hardlinks angelegt werden, die auf die eigentlichen Daten zeigen und somit nur einmal Platz belegen. Startet man nun rsync und lässt es mit dem duplizierten Abzug arbeiten, löscht oder überschreibt es nur die Hardlinks der geänderten Daten, womit der zweite Abzug der Daten real nur so gross ist wie die veränderten Daten.



Backup-Grundgerüst


Sichere Kommunikation

Für die Kommunikation im Netzwerk empfiehlt es sich, rsync nicht als Daemon aufzusetzen, der vom inetd gesteuert wird, sondern mit Hilfe einer transparenten Remote-Shell wie SSH mit den Clients oder dem Backup-Server zu kommunizieren. Dies ermöglicht die Etablierung einer vernünftigen Zugangsbeschränkung sowie die Verschlüsselung des Datentransfers, was besonders dann willkommen ist, wenn man ein Offsite-Backup von Servern in Rechenzentren pflegen will. So ist es auch gefahrlos möglich, heikle Daten wie Datenbankinhalte zu transferieren. Macht man vorher den SSH-Key des Clients oder des Servers beim jeweiligen Gegenpart bekannt, läuft die Datensicherung vollkommen automatisch.


Einfache Einrichtung

Im Kasten ist ein Grundgerüst für ein Backup-Script auf rsync-Basis abgedruckt, das die Daten vom Client 192.168.32.9 per SSH auf den Server transferiert und diese dann unter /store/daily.0 ablegt, wobei Snapshots für die letzten 10 Tage vorgehalten werden. Dieses Script lässt sich leicht aufbohren und für mehrere Clients verwenden oder bei Bedarf auch an ein Bandlaufwerk ankoppeln. Wer nicht selber kreativ sein möchte, kann mit rsnapshot (www.rsnapshot.org) auf eine pfannenfertige und komfortable Software zurückgreifen.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Fliegen erledigte das tapfere Schneiderlein auf einen Streich?
GOLD SPONSOREN
SPONSOREN & PARTNER