Linux-Arbeitskreis Hamburg |
Für die Sicherung der Home-Laufwerke auf den Schul-Servern sind CD-Brenner meist zu klein. Selbst die heute üblichen DVD-Brenner mit einer Kapazität von unter 5GByte sind etwas knapp. Im Gymnasium Lohbrügge beträgt das Datenvolumen mehr als 10 GByte für die Benutzerlaufwerke.
Ein gute Alternative zu den Brennern sind DAT-Streamer, die eine Kapazität von 12 GByte pro Band besitzen. Da ein derartiger Streamer auch selber noch komprimiert, sind effektive Kapazitäten bis zu 20 GByte möglich.
Für die Sicherung mit Streamern gibt es mehrere professionelle Tools, die im schulischen Umfeld auch kostenlos nutzbar sind. Diese Pakete erlauben auch eine Sicherung auf zentralen Streamer-Servern, dazu besteht die Software aus einem Server- und einem Client-Programm.
Dieses kommerzielle Tool ist in der SuSE-Distribution enthalten. Das Paket ist bisher für die Nutzung mit maximal zwei Linux-Clients kostenlos nutzbar. Es verfügt über eine grafische Oberfläche und eine sehr ausführliche Anleitung. Im Web sind viele Beschreibungen hierzu zu finden.
Der "Advanced Maryland Automatic Network Disk Archiver" ist ein Open-Source Projekt, welches kaum Wünsche offen lässt. Es handelt sich um ein Kommando-Zeilen Tool, dessen Anleitung etwas knapp ausgefallen ist. Von den Funktionen her kann sich Amanda mit Arkeia messen.
Der Nachteil der professionellen Systeme besteht darin, dass man sehr viel Vorbereitung benötigt. Man muss sich geradezu einen Backup-Plan machen und auch die Bänder dazu passend vorbereiten.
Wer seine Sicherungen nicht entsprechend planen kann oder möchte, der kann auch mit dem Systemprogrammen arbeiten, die bei allen Distributionen vorhanden sind.
Wenn die Pakete noch nicht installiert sind, so sollte dies zuerst nachgeholt werden.
Was man noch wissen muss ist das Gerät, auf welches man Schreiben möchte. Für den (ersten) DAT-Streamer gibt es normalerweise zwei Devices:
/dev/nst0
und
/dev/st0
Dabei ist st0 ein Rewinding-Device, welches nach jedem Schreibvorgang das Band automatisch zurückspult. Das ist aber unpraktische, wenn man mehrere Sicherungen hintereinander machen möchte, dann nimmt man besser das Non-Rewinding-Device nst0.
Wenn nur ein einziger Streamer vorliegt, dann kann man einen Link
/dev/tape
anlegen, über den die Software dann den Streamer automatisch, d.h. ohne weitere Device-Angabe findet:
ln -s /dev/nst0 /dev/tape
Das Kommando mt kontrolliert die Operationen eines Magnetbandes. Man braucht es u.a. um das Band zurück oder an bestimmte Stellen spulen zu können. Der normale Aufruf ist
mt -f <device> <operation>
Falls ein passender Link auf das Tape-Device vorhanden ist kann man die Device-Angabe weglassen und einfach schreiben:
mt <operation>
Wichtige Operationen sind:
Operation | Bedeutung |
rewind | Spult das Band an den Anfang zurück |
tell | Gibt die Position des Bandes aus |
status | Gibt Informationen über das Laufwerk und das Band |
seek <zahl> | Steuert direkt die vorgegebene Blockposition an, das ist die Position, die auch tell ausgeben würde. |
fsf <zahl> | Steuert direkt eine Dateiende-Markierung an, fsf 1 die erste, fsf 2 die zweite, ... |
eof | Springt zur letzten Dateiende-Markierung. |
Der Befehl mtst unterscheidet sich kaum von mt. Ein Unterschied besteht darin, dass mtst status auch bei DDS-Bändern die Bandart richtig erkennt.
Dieses Programm dient dazu den Datenstrom zum Streamer bzw. vom Streamer zu puffern, damit das Bandlaufwerk möglichst gleichmäßig arbeiten kann. Besonders nützlich ist buffer, wenn man per rsh oder ssh auf einem übers Netz verbundenen Rechner speichert.
Die wichtigsten Parameter für buffer sind
Dieses Programm kennt nahezu jeder Systemadministrator zum Packen bzw. Entpacken von Archivdateien. Sein ursprünglicher Zwecke war aber die Archivierung auf Bandlaufwerken, daher auch der vollständige Name Tape Archiver.
Zum Erstellen von (nicht komprimierten) Archiven benutzt man tar üblicherweise in der Form
tar -cf <Archivname> <Quelle>
Tar speichert aber aus Sicherheitsgründen nie absolute Pfade, führende Slashes im Dateinamen werden nicht mit gespeichert. Mit dem Parameter -V (Volume) kann man zusätzlich noch ein Label, einen Titel für das Archiv vergeben. Zum Auspacken dient der Befehl in der Form
tar -xf <Archivname>
wobei die Dateien dann in das aktuelle Verzeichnis geschrieben werden. Man kann aber mit -C <Zielverzeichnis> auch ein anderes Zielverzeichnis angeben. Einfacher ist es meist einfach in das richtige Zielverzeichnis zu wechseln.
Mit
tar -tf <Archivname>
kann man sich das Inhaltsverzeichnis anschauen.
Ein einfacher Ablauf zur Sicherung des Home-Verzeichnisses könnte folgendermaßen aussehen:
mt rewind |
spult das Band an den Anfang zurück |
mt tell |
sollte als Ausgabe At Block 0. ergeben |
tar -cf /dev/tape /home -V "Sicherung von /home" |
sichert das Home-Verzeichnis auf das Band (kann etwas dauern) |
mt tell |
gibt die aktuelle Blockposition aus. |
Es kann sinnvoll sein, auch das Programm buffer mit einzubinden:
mt rewind |
spult das Band an den Anfang zurück |
mt tell |
sollte als Ausgabe At Block 0. ergeben |
tar -cf - /home -V "Sicherung von /home" | buffer -o
/dev/tape |
sichert das Home-Verzeichnis auf das Band (gepuffert) |
mt tell |
gibt die aktuelle Blockposition aus. |
Das - Zeichen anstelle des Device-/Dateinamens bewirkt eine Ausgabe auf die Standardausgabe, die sich dann umleiten lässt zum Programm buffer.
Zum Zurückspielen der Sicherung dient die Befehlsfolge:
mt rewind |
spult das Band an den Anfang zurück |
mt tell |
sollte als Ausgabe At Block 0. ergeben |
cd /tmp |
Zum Auspacken soll ein temporäres Verzeichnis dienen. |
buffer -i /dev/tape | tar -xf - |
spielt das Home-Verzeichnis vom Band ins Verzeichnis /tmp |
mt tell |
gibt die aktuelle Blockposition aus. |
Sollten sich mehrere Sicherungsdateien auf dem Band befinden, so muss man
jeweils mit mt seek
oder mt fsf
die entsprechende
Startposition anfahren.
Über rsh hat man die Möglichkeit Befehle auch auf einem anderen Rechner auszuführen. Aus Sicherheitsgründen ist dieser Zugriff in den Standardvorgaben meist nicht erlaubt. Zuerst muss man rsh in der /etc(inetd.conf aktivieren. Dazu entfernt man das Kommentarzeichen am Anfang der folgenden Zeile:
# shell stream tcp nowait root /usr/sbin/tcpd in.rshd -aL
Anschließend muss der Inetd neu gestartet werden mit
rcinetd restart
Eine zweite Veränderung ist in der Datei /etc/hosts.equiv vorzunehmen. Hier werden die Rechner und auch Benutzernamen angegeben, denen der Remote-Zugriff erlaubt sein soll.
# # hosts.equiv This file describes the names of the hosts which are # to be considered "equivalent", i.e. which are to be # trusted enough for allowing rsh(1) commands. # # hostname 192.168.1.1 debacher
damit darf der Benutzer debacher vom Rechner mit der IP 192.168.1.1 aus remote auf das lokale System (tapeserver, das mit dem Streamer) zugreifen.
Damit sollte dann auch die Sicherung auf diesem Rechner möglich sein.
rsh -l debacher tapeserver "mt rewind " |
spult das Band an den Anfang zurück |
rsh -l debacher tapeserver "mt tell " |
sollte als Ausgabe At Block 0. ergeben |
tar -cf - /home -V "Sicherung von /home" | rsh -l debacher
tapeserver "buffer -o /dev/tape " |
sichert das Home-Verzeichnis auf das Band (gepuffert) |
rsh -l debacher tapeserver "mt tell " |
gibt die aktuelle Blockposition aus. |
Auch das Zurückspielen ist natürlich über das Netz möglich:
rsh -l debacher tapeserver "mt rewind " |
spult das Band an den Anfang zurück |
rsh -l debacher tapeserver "mt tell " |
sollte als Ausgabe At Block 0. ergeben |
cd /tmp |
das erfolgt natürlich lokale |
rsh -l debacher tapeserver "buffer -i /dev/tape " |
tar -xf - |
sichert das Home-Verzeichnis auf das Band (gepuffert) |
rsh -l debacher tapeserver "mt tell " |
gibt die aktuelle Blockposition aus. |
Wer auf eine grafische Oberfläche verzichten kann, der ist also auch mit den normalen Linux Bordmitteln gut bedient.