Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Bandlaufwerke

Grundlagen Backup ] Standard-Backup-Tools ] Backup im Netzwerk ] [ Bandlaufwerke ] rsnapshot / dirvish / rdiff-backup ] BackupPC ] Amanda ]


Auf dieser Seite wird die Sicherung von Daten auf ein Bandlaufwerk (Streamer) vorgestellt. Traditionell sind Bandlaufwerke (Quarter-Inch-, DAT- oder DLT-Streamer) zur Datensicherung verbreitet, für dieses Medium zur Datensicherung sprechen:

  • Hohe Kapazität zu einem niedrigen Preis
  • Die Bänder lassen sich leicht vom Rechner entfernen und an einem sicheren Ort aufbewahren
  • Eignen sich gut zur unbeaufsichtigten Datensicherung
  • Sind sehr zuverlässig

Im Verlauf dieser Seite wird darauf eingegangen, wie ein Bandlaufwerk arbeitet und wie es eingesetzt werden kann. Auch wird das Handling in Kombination mit den gängigen Backup-Mechanismen unter Unix/Linux anhand einiger Beispiele kurz aufgezeigt.

Bandlaufwerk Devices

Ein Bandlaufwerk (Streamer) ist unter Unix/Linux ein so genanntes 'Character-Device', d.h. es gibt kein Dateisystem auf einem Bandlaufwerk, welches z.B. 'ge-mountet' werden muss oder könnte. Ein Bandlaufwerke speichern seine Daten auf sehr primitive Weise: Einzelne Archive (Files) werden hintereinander auf das Medium (Band) geschrieben, das Ende eines Archivs wird mit einer Marke gekennzeichnet, der 'End of File'­Marke ('EOF'). Anhand dieser 'EOF'-Marke können die einzelnen Archive auseinander gehalten werden und das Band korrekt positioniert werden.
Um auf ein Bandlaufwerk zuzugreifen zu können werden Standard-Programme wie z.B.: 'tar', 'cpio' genutzt. Für diese Programme ist das Bandlaufwerk wie ein Nadeldrucker mit Endlospapier. Diese Programme wissen auch nicht an welcher Stelle das Band steht und können es auch nicht selbständig vor- oder zurückspulen. Für die Aufgaben werden weitere Tools benötigt (z.B. 'mt').

Für den Zugriff auf ein Bandlaufwerk können grundsätzlich zwei Arten unterschieden werden:
Das ist zum einen die 'rewinding'-Methode, wobei nach einer Operation (Schreiben/Lesen) das Band zurückgespult wird und so der Bandanfang für das Positionieren maßgeblich ist.
Zum anderen gibt es die 'nonrewinding'-Methode, das Band bleibt nach jeder Operation stehen, sodass weitere Daten anschließend weiter geschrieben/gelesen werden können.

Unter Unix/Linux bekommt das erste Bandlaufwerk, welches typischerweise am SCSI-Interface betrieben wird, standardmäßig den Device-Namen: '/dev/st0' bzw. '/dev/nst0' zugewiesen. Dabei wird mit '/dev/st0' in der 'rewinding'-Methode und mit '/dev/nst0' in der 'nonrewinding'-Methode auf das Band zugegriffen. Werden mit der 'rewinding'-Methode mehre Datenblöcke (Archive) auf das Band geschrieben, so wird jeder Block immer vom nachfolgenden Überschrieben. Damit dieses nicht passiert, ist bei mehreren Datenblöcken auf einem Band die 'nonrewinding'-Methode anzuwenden.

Viele Programme die mit Bandlaufwerken zusammen arbeiten erwarten eine Gerätedatei mit dem Namen '/dev/tape'. Sollte dieser meist symbolische Link nicht vorhanden sein, kann er mit folgenden Kommando als 'root' angelegt werden:

ln -s /dev/nst0 /dev/tape

In diesem Beispiel zeigt ein symbolischer Link auf das erste, nicht zurückspulende Bandlaufwerk '/dev/nst0'.

Bandsteuerung mit mt

Um das Bandlaufwerk zu verwalten wird ein separates Programm benötigt, 'mt' (magnetic tape) ist ein solches Programm. Alternativ kann auch 'mt-st' genutzt werden, welches mit 'aptitude install mt-st' seperat installiert werden muss.  'mt-st' unterscheidet sich nur wenig von 'mt', es verfügt über einige mehrere Optionen, ein weiterer Unterschied besteht darin, dass 'mt-st status' auch bei DDS-Bändern die Bandart richtig erkennt.

Das Tool 'mt' oder 'mt-st' ist jedoch nicht in der Lage Daten zu lesen oder zu schreiben. Für eine Daten-Operation mit einen Bandlaufwerk ist so eine Kombination aus 'mt' und z.B. 'tar' notwendig. Der grundlegende Aufrufsyntax für Band-Operationen ist:

mt -f <DEVICE> Kommando z.B.: mt -f /dev/nst0 rewind

Das Tool 'mt' kann auch ohne Angabe des Devices aufgerufen werden, in diesem Fall wird das 'default'-Device '/dev/tape' verwendet.

Die Möglichkeiten zur Bandsteuerung variieren je nach Betriebssystem und Typ des Bandlaufwerkes. Im Folgenden werden kurz elementare Operationen von 'mt' zu Bandsteuerung vorgestellt:

  • mt rewind    Band zurückspulen
  • mt status    Status ausgeben
  • mt offline   Kassette auswerfen (falls unterstützt)
  • mt fsf       Zum nächsten Archiv vorspulen
  • mt fsf <n>   n Archive vorspulen
  • mt bsf       Zum nächsten Archiv zurückspulen
  • mt bsf <n>   n Archive zurückspulen
  • mt eom       Das Medium wird zum Ende der zuletzt beschriebenen Daten gespult
  • mt tell            Ausgabe der Bandposition (in Blöcken)
  • mt seek <n>  Bestimmte Bandposition anfahren (n = Block)
  • mt erase     Band löschen
  • mt retension Band vor und wieder zurück spulen

Weitere Möglichkeiten von 'mt' bzw. 'mt-st' sind den Manualseiten zu entnehmen.

Puffern

Wenn ein Bandlaufwerk schreibt bzw. liest, dann transportiert es das Band mit einer bestimmten, je nach Aufzeichnungsart festen oder in gewissen Grenzen variablen Geschwindigkeit. Daraus resultiert eine bestimmte Übertragungsgeschwindigkeit und die Daten müssen entsprechend schnell geliefert bzw. abgenommen werden, damit das Bandlaufwerk unterbrechungsfrei durchläuft, damit es 'streamt'. Die Laufwerke verfügen über einen internen Puffer, der jedoch relativ klein ist, reißt der Datenstrom lang genug ab, dann muss das Laufwerk anhalten, und, wenn es weitergehen soll, ein Stück zurückspulen und neu ansetzen.
Abhilfe schafft hier eine externe Pufferung, ein gängiges Programm für diesen Zweck ist hierfür: 'buffer'. Das Tool gehören nicht zur Grundinstallation eines UNIX/Linux-Systems und muss nachinstalliert werden (z.B. mit 'aptitude install buffer'). 'buffer' glättet sozusagen den Datenstrom, so dass ein Bandlaufwerk gleichmäßig durchlaufen kann, solange das Archivierungsprogramm die Daten im Zeitmittel schnell genug liefert. Die wichtigsten Optionen für 'buffer' sind:

  • -i Dateiname
    Eingabedatei (input). Ohne diese Angabe wird von der Standardeingabe gelesen
  • -o Dateiname
    Ausgabedatei (output). Ohne diese Angabe wird auf die Standardausgabe geschrieben
  • -s Größe
    Blockgröße (size) in Bytes (Die default-Blockgröße ist 10KB)

Ein Nachteil bei der Pufferung mit dem Programm: 'dump' ist, das das Verteilen eines einzelnen Archivs über mehrere Bänder hinweg (wie bei 'tar -M') nicht mehr unterstützt wird, da das Band-Ende nicht mehr korrekt erkannt wird.

Einige Beispiele zur Anwendung von 'buffer' sind auf der Manualseite zu finden. Alternativ kann auch 'mbuffer' eingesetzt werden, welches eine erweiterte Version von 'buffer' darstellt. 'mbuffer' kann ebenfalls einfach unter Debian mit 'aptitude' installiert werden.

Beispiel einer Daten-Sicherung/-Widerherstellung mit 'tar' und Bandlaufwerk

Ein einfaches Szenario mit dem Tool 'tar' zum Sichern auf ein Bandlaufwerk könnte wie folgt aussehen:

mt rewind
mt tell

tar -cf /dev/tape /home -V "Backup from /home"
mt tell

Zunächst sollte das Band auf eine definierte Position gefahren werden, z.B. zum Anfang ('mt rewind'). Mittels 'mt tell' kann die Bandposition ausgegeben werden, sie sollte am Bandanfang gleich '0' sein. Das Kommando 'tar -cf' sichert nun das Verzeichnis '/home' inklusiver aller Unterverzeichnisse auf dem  Band, mit der Option '-V' wird ein Archiv-Name mitgegeben, in diesem Fall 'Backup from /home'. Zum Schluss kann man sich mit 'mt tell' die Bandposition ausgeben lassen.
Möchte man den Inhalt der Sicherung betrachten, so kann dieses mit:

mt rewind
mt tell
tar -tf /dev/tape
mt tell

geschehen. Dabei wird zunächst wieder das Band positioniert und kontrolliert und mit 'tar -tf' die Ausgabe angestoßen.

Zum Zurücksichern kann exemplarisch folgendes Szenario dienen:

mt rewind
mt tell
cd /

tar -xf /dev/tape
mt tell

Das Band wird wieder auf Bandanfang gefahren und die Position sollte gleich '0' sein. Danach ist in das 'root'-Verzeichnis zu wechseln und mit dem 'tar'-Kommando Option '-xf' wird die Zurückgesichert veranlasst, dabei sollte die Anzahl der Blöcke identisch wie beim Sichern sein.

Soll das Programm 'buffer' mit einbezogen werden, so ist bezogen auf das obige Beispiel der 'tar'-Aufruf  für die Sicherung wie folgt zu modifizieren:

tar -cf - /home -V "Backup from /home" | buffer -o /dev/tape

Zum Zurücksichern mit 'buffer' kann folgende 'tar'-Aufruf genutzt werden:

buffer -i /dev/tape | tar -xf -

Weitere Programme im Zusammenhang mit Bandlaufwerken

Genau wie mit 'tar' können auch andere Basis-Programme zur Datensicherung wie: 'cpio', 'afio' 'dump'/restore' oder 'pax' mit Bandlaufwerken umgehen. Als Sicherungs-Ziel ist dabei das Bandlaufwerk anzugeben ('/dev/tape'). Auch kann die Sicherung über ein Netzwerk zentral auf einen Rechner mit Bandlaufwerk erfolgen, vgl. hierzu das vorheriges Kapitel. Im Internet lasen sich unter Verwendung der entsprechenden Suchbegriffe weitere Beispiele zur Datensicherung finden.

Wer die manuelle Eingabe auf Kommandozeile scheut und über eine grafische Oberfläche wie z.B. 'KDE' oder 'Gnome' auf dem Sicherungssystem verfügt, kann auch das Frontend-Programm 'KDat' nutzen, welches mittels 'aptitude install kdat' einfach installiert werden kann. 'KDat' unterstützt SCSI- und Floppy-Tape-Laufwerke und ist prinzipiell ein 'tar'-basiertes Archiv-Programm.

Als weitere bekannte komplexere Lösungen für Datensicherung mit Bandlaufwerken sind die Programme 'Amanda', 'Bacula', 'tob' und 'afbackup' zu nennen. Auch zu diesem Programmen gibt es im Internet genügend Informationen.

Anmerkungen

Alternativ zu den Tools 'mt' bzw. 'mt-st' zur Bandsteuerung gibt es noch das Tools 'mtx', falls man ein Bandlaufwerk mit 'autochanger'-Funktionalität besitzt, kann sollte man 'mtx' benutzen. Das Programm 'mtx' erlaubt direkt ohne händischen Eingriff auf ein gewünschtes Band zuzugreifen. Unter Debian-Linux kann das Tool 'mtx' einfach mittels 'aptitude install mtx' installiert werden.

Beim genaueren untersuchen des Verzeichnisses '/dev' wird man feststellen, das sich evtl. noch weiterer Devices für das Bandlaufwerk dort befinden, wie z.B. 'st0a', 'st0l' 'st0m' oder 'nst0a', 'nst0l', 'nst0m'. Der angehangene Buchstabe 'a', 'l' oder 'm' stehen für die Datendichte, wobei 'a' für 'Datendichte automatisch wählen' steht, 'l' für 'low density' und 'm' für  'medium density'.

Als Geräte für den professionellen Einsatz eignen sich ausschließlich Streamer ab DAT aufwärts. Aufgrund der vom Konzept her wesentlich zuverlässigeren Technik sind gute QIC- oder DLT-Streamer einem DAT-Streamer  vorzuziehen. Bei Beachtung der regelmäßigen Reinigung ist aber auch mit DAT-Laufwerken ein sicheres Arbeiten möglich.

Weitere Infos

QIC development standards

http://www.qic.org/

The Linux Floppy Tape Project

http://www.instmath.rwth-aachen.de/~heine/ftape/

Streamer-Übersicht

http://www.leo.org/~loescher/streamer.html

Manualseite zu: mt

man mt

Manualseiten zu: buffer

man buffer

'MTX' - SCSI Media Changer and Backup Device Control

http://mtx.sourceforge.net/

Homepage: KDat

http://sunsite.dk/qweb/kdat/

Das Handbuch zu KDat http://docs.kde.org/development/de/kdeadmin/kdat/index.html
Ftape-HOWTO http://www.linux.org/docs/ldp/howto/Ftape-HOWTO.html
Bandlaufwerke und LINUX http://www.linupedia.org/opensuse/Bandlaufwerke_und_LINUX
Linux tape backup with mt and tar command - howto http://www.cyberciti.biz/faq/linux-tape-backup-with-mt-and-tar-command-howto/

Home ] Nach oben ] Grundlagen Backup ] Standard-Backup-Tools ] Backup im Netzwerk ] [ Bandlaufwerke ] rsnapshot / dirvish / rdiff-backup ] BackupPC ] Amanda ]

letzte Änderung: 08. Mai 2009

 

Copyright © 2004 Norbert Eusterholz