Open Source im professionellen Einsatz

Amanda: Advanced Maryland Automatic Network Disk Archiver

Backup ohne Klicks

Gute Datensicherung setzt nicht unbedingt den Einsatz kommerzieller Software voraus. Das Open-Source-Programm Amanda ist zwar nur über die Kommandozeile bedienbar, kann aber dafür die Backups sehr flexibel erstellen - auch automatisch.

Amanda ist ein Werkzeug, das viele Konfigurationsmöglichkeiten hinsichtlich verwendeter Hardware, Netzwerkkonfiguration und Backup-Strategien zulässt. Mit einigen grundlegenden Informationen lässt sich aber schnell ein Überblick über die Vielzahl an Optionen gewinnen.

Installation

Da in vielen Linux-Distributionen noch veraltete Amanda-Pakete mitgeliefert werden, die eventuell Bugs enthalten, sollten Sie sich zunächst das aktuelle Paket von [1] herunterladen. Aktuell wird Amanda 2.4.2p1 vom 26. Januar 2001 als neueste Version zum Download angeboten.

Einmal nach /usr/src/amanda-Version entpackt, geht's an die Einrichtung der Software. Die Ausgabe von ./configure --help gibt Aufschluss über die angebotenen Optionen, die Amanda-Neulinge durchaus in die Flucht schlagen können. Doch so kompliziert ist es gar nicht. Eine Basis-Configure-Zeile könnte etwa wie folgt aussehen:

./configure --with-user=amanda --with-group=disk

Das setzt natürlich voraus, dass der User amanda und die Gruppe disk auch existieren. Nach dem Abschluss der Installation mit make && make install sollten nun die Binaries beziehungsweise Skripte in /usr/local/sbin und /usr/local/libexec/ zu finden sein. Diese Pfade können Sie selbstverständlich an Ihre Wünsche anpassen, indem Sie dem Configure-Skript die entsprechenden Optionen mit auf den Weg geben.

Die Konfiguration

Eine Liste der von Amanda unterstützten Geräte ist auf der Amanda-Homepage in der FAQ-O-Matic zu finden. Grundsätzlich sind mit Amanda alle Geräte ansprechbar, die auch dem Linux-Kernel bekannt sind. Sofern ein aktueller Kernel eingesetzt wird, sollte es mit allen gängigen Geräten (wie etwa HP Surestore, DLT, Tandberg-Geräten und so weiter) keine Probleme geben.

Für die Kernel der Version 2.2.x gibt es ein SCSI-Wechsler-Patch [2], das den Einsatz von SCSI-Bandwechslern auch mit dieser Kernel-Reihe ermöglicht.

Amanda vermutet die Konfigurationsdatei, sofern nicht anders verordnet, in /usr/local/etc/ amanda/DailySet1. Sie sollte also angelegt und nach abgeschlossener Konfiguration mit chown -R amanda:disk /usr/local/ etc/amanda an Amanda übergeben werden. Der Name der verwendeten Konfiguration ist frei wählbar.

Der Einfachheit halber kann man sie in der Voreinstellung DailySet1 belassen. In dieses Verzeichnis kopieren Sie sich aus /usr/src/amanda-2.4.2p1/ example eine Beispielkonfiguration namens amanda.conf und passen sie noch an das eigene System an. Dazu gehört auch, die Info-Verzeichnisse, die Amanda benötigt, anzulegen und sie für das Programm schreibbar zu machen. Hier die betreffenden Zeilen aus der amanda.conf:

infofile "/usr/adm/amanda/DailySet1/curinfo"    # database DIRECTORY
logdir   "/usr/adm/amanda/DailySet1"            # log directory
indexdir "/usr/adm/amanda/DailySet1/index"      # index directory

Entscheidend ist die für das Tape-Device zuständige Zeile:

tapedev "/dev/null"     # the no-rewind tape device to be used

Hier sollten Sie möglichst ein anderes Device verwenden, etwa /dev/nst0.

Etwas komplizierter ist die Konfiguration eines Wechslers. Hierfür liefert Amanda eine Reihe von Skripten, die sich nach der Installation standardmäßig in /usr/local/libexec befinden. Bekannt gemacht werden sie Amanda in der amanda.conf unter:

tpchanger "chg-manual"  # the tape-changer glue script
changerfile "/usr/local/etc/amanda/DailySet1/changer.conf" 
changerdev "/dev/sg1"

Beispielkonfigurationen ( changer. conf) sind unter /usr/src/amanda/ example zu finden. Mit ein wenig Experimentierfreudigkeit gelangen Sie hier schnell zu befriedigenden Ergebnissen.

In amanda.conf wird auch das Gerät definiert, das für ein Backup genutzt werden soll. Der entsprechende Parameter lautet tapetype und in Bezug dazu define tapetype Bandlaufwerks- Typ. Festgelegt werden Länge, Filemark und Speed. Auch hier sind sinnvolle Beispiele zu finden, die Sie nötigenfalls nur noch anzupassen brauchen.

Falls Sie es Amanda erlauben möchten, einen Teil der Festplatte als Zwischenspeicher zu benutzen, sollten Sie den Parameter holdingdisk und seine Einstellungen beachten. Die Einbeziehung der Festplatte erhöht die Performance unter Umständen enorm, ist aber nicht unbedingt notwendig.

Die Authentifizierung der Amanda- Clients untereinander wird mit der Datei .amandahosts (der Punkt vor amandahosts ist wichtig) geregelt, die in /var/lib/amanda abgelegt werden sollte. In ihr können Sie einstellen, welche User von welchen Hosts mit Amanda Kontakt aufnehmen dürfen. Beispiel:

amanda@kaspar:~ > cat  /var/lib/amanda/.amandahosts  
kaspar  amanda
kaspar  root

Der letzte Schritt der Grundkonfiguration wäre dann in /usr/local/etc/ amanda/Config-Name eine Datei namens disklist anzulegen, die bestimmt, welche Filesysteme in welcher Weise gesichert werden sollen. Auch zu dieser Datei befindet sich in /usr/src/amanda-2.4.2p1/example ein aussagekräftiges und hilfreiches Beispiel. Grundsätzlich hat dieser Eintrag die folgende Struktur: Host Partition Dumptype.

Abschließend sollte noch überprüft werden, ob die Amanda betreffenden Angaben in /etc/services und /etc/ inetd.conf korrekt sind und auf die richtigen Binaries zeigen.

Eine funktionierende Konfiguration der beiden Dateien sähe dann so aus:

kaspar:~ # cat /etc/services | grep amanda
amanda          10080/tcp                       # Amanda backup services
amanda          10080/udp                       # Amanda backup services
amandaidx       10082/tcp                       # Amanda backup services

kaspar:~ # cat /etc/inetd.conf | grep libexec 

amandaidx   stream  tcp     nowait   root    /usr/local/libexec/amindexd  amindexd 
amidxtape  stream tcp  nowait  root    /usr/local/libexec/amidxtaped amidxtaped 
amanda  dgram   udp    wait   amanda  /usr/local/libexec/amandad amandad

Damit wäre die Basiskonfiguration abgeschlossen. Bevor Sie mit dem Befehl amcheck alle Einstellungen prüfen, sollten Sie ein Band in das konfigurierte Laufwerk einlegen und Amanda bekannt machen oder labeln. Das geschieht mit dem Programm Amlabel.

Die Syntax ist recht einfach und wird, wie könnte es anders sein, in der amanda.conf festgelegt. Normalerweise geschieht das so:

amanda@kaspar:~ > /usr/local/sbin/amlabel DailySet1 tape01

Im Beispiel wurde der voreingestellte Parameter für labelstr in der amanda.conf durch tape ersetzt. Ist das Labeln des ersten Tapes abgeschlossen, sollte ein

amanda@kaspar:~ > /usr/local/sbin/amcheck DailySet1

keine Fehlermeldungen mehr produzieren. Passiert dies aber doch, bietet die Meldung selbst aber genügend Ansatzpunkte, um nach den Gründen zu forschen. Hier sei nochmals auf die FAQ-O-Matic auf der Amanda-Homepage [1] hingewiesen, die die bekanntesten Fehler und ihre Behebung beschreibt. Für ambitionierte Amanda-Benutzer gibt es zudem diverse Mailinglisten, an die man sich mit seinen Fragen wenden kann.

Die Ausgabe eines erfolgreichen Amcheck mit Claim als Konfiguration.

Die Ausgabe eines erfolgreichen Amcheck mit Claim als Konfiguration.

Wer die Hürden der Konfiguration genommen hat, sollte beim folgenden Ausführen eines Backups keine Probleme mehr zu befürchten haben. Hierfür kommt amdump zum Einsatz, das durch cron auch zu beliebigen Zeiten aufgerufen werden kann.

Den Backup-Vorgang selbst überwachen Sie mit amstatus config. Das Ergebnis des Backups wird an die in amanda.conf angegebene E-Mail-Adresse geschickt. Dabei wird man über Erfolg und Misserfolg - erfreulicherweise unter Angabe von Gründen - unterrichtet.

Dasselbe gilt auch für die Ausführung des Befehls amverify, der einem beendeten Backup mit amdump immer folgen sollte, um die gesicherten mit den Ausgangsdaten zu vergleichen. Sollte trotzdem mal ein Backup fehlschlagen, bieten die Debug-Files unter /tmp/amanda nützliche Hinweise. Für die folgenden Hinweise wird jedoch von einem erfolgreich verlaufenen Backup ausgegangen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook