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.
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.