Lablog online: Backup mit Bordmitteln:
Aus dem Testlabor: Virtuelle Tapes mit TAR

von Andreas Stolzenberger (ast@nwc.de)

25.09.2008

Backup von Disk-to-Disk-to-Tape benötigt nicht zwangsweise teure Sicherungsprogramme oder eine mächtige Virtual-Tape-Library. Unix-/Linux-Anwender verwalten virtuelle Bänder und Laufwerke im LAN über TAR, SSH und ein paar Shell-Skripte.

Eine der bekanntesten Archivierungstools ist der quelloffene »Tape Archiver«, kurz »tar«. Heute setzen ihn Anwender hauptsächlich als freies Datei-Archivierungsprogramm zusammen mit dem Packer »gzip« oder »bzip2« ein. Diese Archive tragen die Endung »tar«, »tar.gz«, »tar.bzip2«, oder auch »tgz«. Das Tool steuert unter Unix aber auch Bandlaufwerke. Aus Sicht von Tar macht es keinen Unterschied, ob der Archiver mit einer Datei oder einem Bandlaufwerk spricht. Das Format ist dabei gleich. Folglich lassen sich Tar-Dateien direkt auf Bänder sichern. Umgekehrt ist es möglich, mit Tar erzeugte Sicherungen direkt in Dateien zurücklesen. Dabei gilt es lediglich ein paar kleine aber wesentliche Details zu beachten.

Von der Disk zum Band

Die Tar-Option »-cf« erzeugt ein Archiv auf Band oder Platte. Als weitere Parameter gibt der Verwalter das Ziel und die Quelle ein:

tar -cf ziel.tar /home/user/quelle/

Tar erlaubt es zudem, bestehende Tar-Archive zu erweitern. Das Kommando:

tar -uf ziel.tar /home/user/quelle/

sucht nach geänderten Dateien in »Quelle« und hängt nur diese an das Archiv an. Da moderne Bandlaufwerke eine Hardwarekompression verwenden, sollte der Anwender die Disk-Abbilder ohne Gzip-Option erstellen.

Das dd-Kommano kopiert Tar-Dateien auf Band oder umgekehrt:

dd if=/ziel.tar of=/dev/nst0 bs=10240

Dieses Kommando kopiert die Tar-Datei auf das Bandlaufwerk »/dev/nst0«.

Wichtig ist bei allen dd-Kommandos, welche Dateien zum Band oder vom Band kopieren, dass die Blocksize mit 10240 angegeben wird. Dies ist die reguläre Blockgröße des Tar-Kommandos. Fehlt die »bs=10240«-Angabe oder setzt der Anwender eine andere ein, stimmt die Kopie nicht mit der Quelle überein. Moderne Bandlaufwerke haben damit kein Problem. Hier ist die Blockgröße variabel und vom Benutzer einstellbar.

Secure-Shell für Remote-Tape

Wenn ein zu sichernder Computer über kein eigenes Bandlaufwerk verfügt, kann er auf das Tape einer anderen Maschine zugreifen. Kommandos wie »tar« oder »dd« lassen sich ohne Probleme via SSH vernetzen. Der Ziel-PC muss lediglich einen laufenden »Open-ssh«-Server bereitstellen.

Um die Backup-Datei eines PCs an das Bandlaufwerk eines anderen zu senden, genügt folgender Befehl:

dd bs=10240 if=quelle.tar | ssh user@zielcomputer "dd of=/dev/nst0"

Ein auf Band kopiertes Tar-Archiv lässt sich mit »dd« zurück in eine Datei kopieren oder direkt vom Band entpacken. Mit diesen Tools kann ein Administrator auch alte, kleine Bänder auf neue, größere zusammenführen. Die Tar-Abbilder einzelner Tapes lassen sich mit der Tar-Option »-A« zu einer großen Datei vereinen, die dann ihren Platz auf einer neuen, großen Cartridge findet.