Linux-Datensicherung und -BackupGut aufgehoben
Hardwareausfall
Linux-Datensicherung und -Backup
Sehr lange passiert nichts, doch dann ist der Ernstfall da ? der IT-GAU. Auslöser und Folgen sind bekannt. Ein Hardwareausfall, ein Softwarefehler oder ein Virus zerstören wichtige Nutzerdaten, vielleicht sogar Systemfiles. Höhere Gewalten wie Feuer, Wasser oder Naturkatastrophen legen schon mal das Rechenzentrum lahm. Nicht zu vergessen die menschlichen Fehlleistungen wie Falschbedienung, versehentlich gekappte Kabelverbindung oder Diebstahl. Glücklich, wer für solche Fälle vorgesorgt hat. Dabei gilt unter Linux nichts anderes als bei Windows. Gegen Schäden durch Datenverluste helfen nur regelmäßige Backups auf der Basis eines wohldurchdachten Plans. Die verwendete Backupsoftware ist dabei nur ein Pfeiler des ganzen Unternehmens.
Welche Daten sichern?
Am Anfang steht die Frage, welche Daten eigentlich zu sichern sind. Die Antwort ist abhängig von der Schutzwürdigkeit der Daten, der Organisation der Ablage und der installierten Software. Da Datensicherung immer auch Zeit und Geld kostet, sollten Sie einen Plan erstellen, welche Daten den Aufwand eines Backups rechtfertigen.
Auf alle Fälle sichern sollten Sie die Nutzerdaten, die im Verzeichnis »/home« liegen. Dateien unter »/var/spool/mail« sollten Sie ebenfalls sichern, da viele Nutzer alte und wichtige E-Mails im Spoolverzeichnis für eingehende Nachrichten aufbewahren. Zu überlegen ist, gleich alle Daten in »/var« zu sichern, da hier Files wie etwa Protokolle liegen, die einer permanenten Änderung unterliegen. Hinzu kommen eventuell Directorys für Projekte, Datenbanken und anderes mehr. An Systemdaten sollten Sie auf alle Fälle die Konfigurationsfiles in »/etc« speichern. Schließlich ist eine Neukonfiguration recht aufwendig. Welche anderen Daten noch ein Backup wert sind und inwiefern Sie auch Betriebssystem und andere Systemfiles sichern sollten, hängt von der spezifischen IT-Umgebung ab. So kann es ratsam sein, den Kernel-Quellcode zu zu speichern, falls Sie den Kernel geändert oder Ihren eigenen Kernel erzeugt haben. Diese Dateien finden Sie in »/usr/src/linux«. Wenn Sie wirklich vorsichtig sein wollen, können Sie natürlich auch das komplette System archivieren. Normalerweise aber brauchen Daten, die ohnehin auf einem anderen Medium vorhanden sind, zum Beispiel die Daten der Linux-Distribution, nicht gesichert zu werden. Auch Dateisysteme, die von entfernten Rechnern gemountet werden, sollten besser von deren Backupstrategie erfasst werden.
Backupmedien
Linux-Datensicherung und -Backup
Ist klar, was gesichert werden soll, stellt sich die Frage: Wohin mit den Daten? Im privaten und semiprofessionellen Bereich und in kleineren Firmen haben sich CDs, DVDs und USB-Festplatten als Sicherungsmedien etabliert.
Magnetbänder
In größeren IT-Umgebungen sind fast ausnahmslos Magnetbänder Backupmedium Nummer 1. Weit verbreitet sind Quarter-Inch- und DAT-Streamer. Sie bieten sowohl hohe Kapazität als auch Sicherheit und Zuverlässigkeit. Der Nachteil: Die Daten sind sequenziell auf dem Band abgelegt, ein punktueller Zugriff ist nicht möglich. Bei einem Restore muss der ganze Bandinhalt zurückgespielt werden. Diesen Nachteil macht die Festplatte wett. Diese erlaubt den flotten und gezielten Zugriff auf Daten, hat riesige Kapazitäten und ist zudem preiswert.
Festplatte
Diese Vorteile lassen immer öfter die Frage aufkommen, warum man nicht generell statt auf Band gleich auf Festplatte sichern sollte. Aus Security-Perspektive ist die Antwort klar: Für höchste Ansprüche ist die Platte das riskantere Medium. Sie können die Backup-Festplatte zwar in einem System unterbringen, das räumlich getrennt vom Fileserver steht. Allerdings bleibt die Gefährdung durch Überspannungen und andere technische Probleme. Auch Wechsel-Festplatten, sicher verwahrt im feuerfesten Tresor, beheben das grundsätzliche Sicherheitsproblem nicht. Sie sind durch ihre Technik und häufigen Transport einer geringeren Lebensdauer und einem höheren Ausfallrisiko ausgesetzt als Tapes. Aus diesem Grund schwören viele IT-Profis immer noch auf das gute alte Band. Dennoch kann es abhängig von Sicherheitsanforderungen und Budget in vielen Fällen sinnvoll sein, eine Sicherung auf Festplatte vorzunehmen.
Low Level Backup
Linux-Datensicherung und -Backup
Die sicherste Backupstrategie ist das Duplizieren der Festplatte. Hierzu können Sie mit dem Unix-Befehl »dd« ein physikalisches Abbild der ersten Festplatte auf eine zweite Festplatte oder ein Image auf Band übertragen. dd liest ab einem bestimmten Startpunkt eine bestimmte Menge »roher« Daten und überträgt sie 1:1 in eine Zieldatei oder auf ein Zielgerät. Somit können sie auch Files beliebiger Dateisysteme sichern, selbst wenn Linux diese gar nicht lesen kann:
dd if= of= []
»if« (infile) legt dabei die Eingabedatei fest, voreingestellt ist die Standardeingabe. »of« (outfile) bezeichnet die Zieldatei. Optional können dahinter Parameter angegeben werden etwa »bs« (blocksize) für die Blockgröße oder »count« für die Zahl der zu kopierenden Blöcke. »« und »« können hierbei sowohl ein Device als auch eine Datei sein. Geben Sie keine weiteren Optionen an, so werden die vollständigen Daten von kopiert. Ist diese eine Partition oder eine ganze Platte, wird deren gesamter Inhalt gesichert. Möchten Sie etwa die IDE-Festplatte 1 auf die IDE-Festplatte 2 sichern, geben Sie an der Konsole ein:
dd if=/dev/hda of=/dev/hdb
Linux kopiert in diesem Fall die Dateien und Verzeichnisse von der ersten IDE-Platte »/dev/hda« auf die zweite »/dev/hdb«. Möchten Sie die IDE-Festplatte 1 auf den ersten SCSI-Streamer sichern, lautet der Befehl:
dd if=/dev/hda of=/dev/st0
Möchten Sie die Daten später zurückspielen, vertauschen Sie die Angaben von und .
Disk Archive
Linux-Datensicherung und -Backup
Ebenfalls unter KDE läuft Kdar (dar.linux.free.fr). Das Disk Archive eignet sich aufgrund seiner Fähigkeit, Daten zu splitten, besonders für Backups auf diskbasierten Medien wie CD, DVD, Zip- oder Jazz-Drives. Das ab KDE 3.2 einsetzbare Tool greift auf die »libdar«-Bibliotheken des Backupprogramms »dar« zurück, ein Abkömmling des Shell-Befehls »tar«, der nur im Konsolenmodus läuft. dar und Kdar unterstützen differenzielle und inkrementelle Backups und können auch Dateisystem-Attribute wie ACL verarbeiten und Filterregeln verwenden. Das Programm verfügt über viele komfortable Features. So können Sie beispielsweise Profile für Backups anlegen, so dass Sie alle Einstellungen zu einem späteren Zeitpunkt mit einem Klick wiederherstellen können. Von Kdar gibt es fertige RPMs für Suse-Linux 9.x (ftp.suse.com/pub/ suse/i386/supplementary/KDE/). Per Yast können Sie diese installieren. Die aktuellste Version der Sourcen finden Sie unter kdar.sourceforge.net. Sie entpacken die Quelldateien mit den Kommandos
tar xvzf kdar-1.3.1.tar.gz beziehungsweise xvjf kdar-1.3.1.tar.bz2
Wechseln Sie dann in das neu entstandene Unterverzeichnis, öffnen Sie mit einem Editor die Install-Datei und lesen Sie diese. Für Kdar brauchen Sie libdar ab Version 2.1.0 und Qt ab Version 3.2. Haben Sie alle notwendigen Pakete auf Ihrem System installiert, starten Sie die Installation der Sourcen mit dem Dreischritt
./configure && make && make install
dump für Systemverwalter
Linux-Datensicherung und -Backup
Sehr ähnlich zu tar ist »cpio« (copy in/out). Es bietet den gleichen Funktionsumfang wie tar, kann im Gegensatz zum tape archiver aber auch mit beschädigten Archiven umgehen. Mit cpio lässt sich der unbe
schädigte Teil des Archivs meist noch retten. tar und cpio sind beide ideale Kandidaten, wenn es um das Erstellen von Voll-Backups geht. Sie bieten jedoch wenig Unterstützung für inkrementelle Backups. Ein Tool, das mehrere Backupstrategien unterstützt, ist dagegen dump. Es vermag sowohl mit vollen als auch mit inkrementellen Backups umzugehen, wobei letztere bis zu neun Abstufungen erlauben. Zudem kann es Archive auf mehrere Medien verteilen, puffert selbstständig und ist robust gegen allerlei pathologische Zustände, welche die anderen Archivierer ins Straucheln bringen können. dump richtet sich eher an den Systemverwalter als an den normalen Nutzer und arbeitet ausschließlich mit dem Dateisystem »ext2« zusammen. Von der Aufrufsyntax her ist dump ähnlich wie tar. Es versucht in der Voreinstellung das Gerät »/dev/st0« zu öffnen. Existiert das Device nicht, fordert das Kommando zur Eingabe eines anderen Ausgabegerätes auf. Mit der Option »f« kann die Sicherung in eine beliebige Datei umgelenkt werden. Als Sicherungsquelle geben Sie entweder ein Verzeichnis oder Device an. Zudem müssen Sie das Backup-Level (0?9) benennen. dump selbst registriert die Sicherungszeiten des letzten Levels und entscheidet, ob ein erneutes Backup dieses Levels überhaupt notwendig ist. Wird der Befehl mit der Option »u« aufgerufen, schreibt dump die Zeiten in die Datei »/etc/dumpdates«.
dump-Beispiele
Um ein Vollbackup des User-Verzeichnisses zu erstellen, geben Sie ein:
dump -0af /dev/fd0 /usr
wobei »0« die Vollsicherung angibt, »a« die automatische Ermittlung der Bandkapazität und »f« den Archivnamen. dump versucht abzuschätzen, wie viele Bänder für eine Sicherung erforderlich sind, und fordert den Benutzer am vermuteten Ende zum Medienwechsel auf. Um ein inkrementelles Backup auf Wochenbasis zu starten, geben Sie statt Level 0, Level 2 ein:
dump -2af /dev/fd0 /usr
Der Administrator hat dann nur die Aufgabe, auf das rechtzeitige Wechseln des Backupmediums zu achten. Das Zurücklesen erfolgt mit dem Befehle »restore«. Im einfachsten Fall wird ein Archiv mittels »recover« und der Option »r« zurückgeschrieben. Sollen alle Daten durch ihre Kopie aus den Archiven ersetzt werden, müssen Sie alle Archive in der Reihenfolge ihrer Aufzeichnung einspielen. Das heißt: Sie recovern zunächst das volle Backup (Level 0), dann alle Backups des Levels 1 und so weiter
restore -rf /dev/fd0
Backups in größeren Netzen
Linux-Datensicherung und -Backup
Angesichts der sinkenden Kosten von Festplatten kann es praktisch und sinnvoll sein, eine große Anzahl von Rechnern auf die lokale Platte eines Servers oder dessen Netzwerklaufwerke zu sichern. Es wäre unsinnig, jedem Rechner ein eigenes Backupmedium zu spendieren. Auch hierzu können Sie die Befehle tar, cpio und dump einsetzen. Sie unterstützen direkt den Zugriff auf ein Bandlaufwerk auf einem anderen Rechner im Netz. Als Zieldatei geben Sie dann einfach an »User@Host:Device« oder bei gleichen Benutzern »Host:Device«. Das setzt für Backupzwecke allerdings weitgehende Zugriffsrechte auf dem Zielrechner voraus. Bisweilen werden die netzfähigen Versionen von »dump/restore« auch »rdump/rrestore« genannt. Boardmittel wie tar oder dump genügen allerdings nicht mehr in einem größeren Netzwerk. Hier bieten sich Tools wie BackupPC an, das unter der GNU/GPL-Lizenz angeboten wird (http://backuppc.sourceforge.net). Das hoch performante Perl-basierende Package sichert mehrere Clients auf die lokale Platte eines Servers. Die Haupteigenschaften sind eine hohe Kompression und der Ausschluss identischer Dateien, was Plattenplatz auf dem Server spart. Per CGI-Oberfläche können Sie bequem in Backups suchen und Dateien wiederherstellen.
Amanda
Linux-Datensicherung und -Backup
Haben Sie eine größere Anzahl von Systemen und möchten Sie automatische Backups von allen Rechnern fahren, hat sich unter Linux-Usern besonders Amanda (»Advanced Maryland Automatic Netzwork Disk Archiver«) bewährt (www.amanda.org). Amanda verwendet die nativen Dienste von dump und GNU tar und kann eine große Anzahl von Workstations sichern, die unter verschiedenen Versionen von Unix laufen. Mit der Open- Source-Software können Sie einen einzelnen Master-Backup-Server aufsetzen, um mehrere Clients auf ein einzelnes Bandlaufwerk oder eine Festplatte großer Kapazität zu sichern. Hierzu brauchen Sie einen Rechner mit Sicherungs-Tape oder -Platte, auf dem der Server installiert wird. Die zu sichernden PCs statten Sie mit dem Amanda-Client aus. Die Abbildung oben zeigt das grobe Funktionsschema von Amanda. Eine zentrale Konfiguration für den Server gibt vor, welche Dateisysteme von welchen Rechnern und mit welcher Priorität zu sichern sind. Das Ganze übernimmt das Programm »planner«) für alle Clients und jedes zu sichernde Verzeichnis oder Filesystem. Die Übertragung der Daten von den Clients zum Server erledigt das Programm dumper. Dabei fragt der Serverrechner der Reihe nach die Clients ab und lässt sich von ihnen mittels dump oder tar erstellte volle und inkrementelle Backups schicken. Für das Schreiben auf das Sicherungsmedium ist »taper« zuständig. Die Sicherungen werden je nach Bedarf auf einem Magnetband oder auf der Festplatte des Servers abgelegt. Zum Zweck einer weitreichenden Automatisierung können auch Bandwechsler, so genannte Tape-Changer, eingesetzt werden. Amanda bietet außerdem zahlreiche Konfigurationseinstellungen, mit denen Sie das System individuell anpassen können, beispielsweise Intervalle und Kompressionsraten definiert werden.
Backupstrategien
Linux-Datensicherung und -Backup
Bevor überhaupt ein Backup durchgeführt wird, sollten Sie sich auf jeden Fall überlegen, nach welcher Methode Sie sichern möchten. Grundsätzlich werden mehrere Backuparten unterschieden.
Vollständiges Backup
Das vollständige Backup sichert stets den kompletten Bestand an Daten. Der Vorteil: Sollte der Notfall eintreten, können die gesicherten Daten in einem Durchgang zurückgespielt werden. Der Nachteil: Wegen des hohen Zeitaufwands ist ein Vollbackup nicht für den täglichen Einsatz geeignet. Deshalb ist in der Regel eine Mischform besser.
Differenzielles Backup
Bei einem differenziellen Backup werden nur die seit dem letzten vollständigen Backup geänderten oder neu hinzugefügten Dateien gesichert. Gespeichert werden alle Daten seit dem letzten Vollbackup ? egal wie viele Zwischensicherungen bislang erfolgt sind. Dies spart sowohl Zeit als auch Speicherplatz. Bei einer Wiederherstellung der Daten müssen Sie einerseits das vollständige Backup einspielen und danach noch das letzte differenzielle Backup. Anders beim inkrementellen Backup. Hier werden nicht alle Daten seit dem Vollbackup gespeichert, sondern nur die Veränderungen seit der letzten Sicherung. Diese Sicherungssätze sind im Vergleich zu einem differenziellen Backup wesentlich kleiner. Daher eignet sich das inkrementelle Backup besonders für die tägliche Sicherung. Für das Zurücksichern benötigen Sie neben dem Vollbackup alle danach noch anlegten inkrementellen Sicherungssätze. Schließlich wird in der Praxis oft noch ein Multilevel-Backup gefahren. Hier wird ein volles Backup mit inkrementellen Backups kombiniert. Im einfachsten Fall erfolgt einmal im Monat eine Vollsicherung des Datenbestands und anschließend die tägliche Speicherung der modifizierten Dateien. Dem vollen Backup wird hierbei das Level 0 zugeordnet und die weiteren Sicherungen erhalten das Level 1. Nach Ablauf des Monats wiederholt sich das Ganze.
Weitere Linux-Backup-Tools
Linux-Datensicherung und -Backup
Afbackup
Client-Server-Sicherungssystem, das mehreren Arbeitsstationen e
inen zentralen Speichermechanismus auf einem festgelegten Sicherungsserver bereitstellt.
http://sourceforge.net/projects/afbackup/
Arkeia
Unternehmenslösung für die automatisierte Sicherung/Archivierung und Wiederherstellung in Linux-Netzwerken.
www.knox-software.com/download/light/
Browseable Online Backup System (BOBS)
Online-Backup-System. Verwendet große Platten zum Speichern von Backups und gestattet es Anwendern, die gesicherten Dateien mit einem Webbrowser zu durchsuchen.
www.f-secure.com
Burt
Tcl/Tk 8.0-Erweiterung für die parallele Sicherung über das lokale Netzwerk.
www.cs.wisc.edu/~jmelski/burt/
KBackup
KBackup greift auf tar zurück, läuft aber auf der Konsole bzw. in einem Xterm, kein KDE-Programm.
http://kbackup.sourceforge.net
ScdBackup
Ermöglicht vereinfachte Datensicherung auf CD. Speziell für die Sicherung großer Datenmengen auf einer oder mehreren CDs geeignet.
http://scdbackup.webframe.org/main_eng.html
Taper
Leicht handhabbares Tool mit guter Benutzerschnittstelle.Unterstützt Tapes, Festplatte, SCSI, Floppy, sichert aber derzeit nur 4 GByte.
http://taper.sourceforge.net