Amanda
Aus Fedorawiki.de
| | Achtung: Dieser Artikel wurde für FC5 erstellt. Ich denke jedoch, dass FC6 übersprungen werden sollte und der Artikel an die Gegebenheiten von F7 angepasst werden soll. |
Amanda (Advanced Maryland Automatic Network Disk Archiver) ist ein sehr umfangreiches Backup-System. Unter anderem lassen sich Backups über einen zentralen Server aller Arbeitsstationen machen. Amanda besitzt native dump und/oder GNU tar Funktionen. In neueren Versionen lassen sich Windows-Maschinen über Samba sichern.
Inhaltsverzeichnis |
Installation
Die Pakete lassen sich am einfachsten über "Systemeinstellungen" -> "Hinzufügen/Entfernen von Applikationen" installieren. Die Server-Software ist unter "Netzwerkserver" zufinden (amanda-server), die Client-Software unter "Systemtools" (amanda-client). Die Installation kann jedoch auch über die rpms, Yum oder Apt-get erfolgen. Nach der Installation ist ein User amanda angelegt. Alle Verzeichnisse, die mit Backup zu tun haben, solle nur vom User amanda gelesen werden können, da ansonsten plötzlich ein normaler User auf die Konfigurations-Files (/etc, usw.) Zugriff hat.
Vorbereitung der Hardware
Folgendes Kommando ausführen (diese Aktion kann sehr lange dauern, bei mir 6 Stunden)
Die Laufwerke sind unter /dev zu finden. Solche, die nicht selbständig zurückspulen, sind mit einem 'n bezeichnet. Die Suche kann unter Umständen etwas schwierig werden. Wer faul ist, kann sich mit mt -f /dev/nst0 status und laufender Nummer auf die Suche machen.
Ausgabe
SCSI 2 tape drive: File number=0, block number=1, partition=0. Tape block size 0 bytes. Density code 0x26 (DDS-4 or QIC-4GB). Soft error count since last status=0 General status bits on (1010000): ONLINE IM_REP_EN
Ausgabe (in etwa so)
Writing 256 Mbyte compresseable data: 25 sec
Writing 256 Mbyte uncompresseable data: 101 sec
WARNING: Tape drive has hardware compression enabled
Estimated time to write 2 * 1024 Mbyte: 808 sec = 0 h 13 min
wrote 524181 32Kb blocks in 1603 files in 9269 seconds (short write)
wrote 505463 32Kb blocks in 3101 files in 11908 seconds (short write)
define tapetype unknown-tapetype {
comment "just produced by tapetype prog (hardware compression on)"
length 17004 mbytes
filemark 399 kbytes
speed 1583 kps
}
Die mit amtapetype gewonnenen Informationen müssen nun in das Config-File /etc/amanda/DailySet1/amanda.conf eingesetzt werden. Etwa in der Mitte des Files ist eine kurze Auflistung von Laufwerken zu finden. Dort in diesem Bereich sind die Informationen einzutragen. Der Name des Laufwerkes muss einmalig und ohne Leerzeichen sein.
define tapetype DDS-2-Drive {
comment "SCSI-2-Tape-Drive DDS (hardware compression on)"
length 17004 mbytes
filemark 399 kbytes
speed 1583 kps
}
bei tapetype muss der oben definierte Wert eingegeben werden
tapetype DDS-2-Drive
Löschen eines Bandes
Mit folgendem Befehl kann ein Band gelöscht werden
mt erase 0
Amanda-Konfiguration
Nun müssen die anderen Einstellungen im Konfigurations-File /etc/amanda/DailySet1/amanda.conf angepasst werden, und zwar so. (In diesem Beispiel wird der Name DailySet1 verwendet, es können jedoch für verscheidene Sicherungen verschiedene Namen angebenen werden. In diesem Fall befindet sich dann das Konfigurations-File unter /etc/amanda/Sicherungs-Name/amanda.conf)
| Einstellungen für amanda | ||
|---|---|---|
| Wert | Beschreibung | |
| org | Namen des Backup-Typ oder so ähnlich | |
| mailto | Kann die E-Mail-Adresse des Administrators sein oder jeden anderen Users. Mehrere Adressen sind mit Leerschlägen zu trennen. | |
| tapecycle | Die Anzahl der Tapes, welche zur Sicherung verwendet werden. Die Tapes sollte vor der Verwendung "gelabelled" werden, da so Fehler frühzeitig erkannt werden können. | |
| tapedev | /dev/null - ändern auf den Pfad zum Laufwerk /dev/nst0 und Auskommentierung entfernen. | |
| holdingdisk | Pfad (oder Vorgabe belassen) zu einem Verzeichnis, welches die Daten zwischenspeichert. Durch dieses Verfahren kann mit der vollen Geschwindigkeit auf das Band geschrieben werden, da die Daten auf dem Backup-Server gespeichert sind. | |
Weiter sollte, fast zu unterst, bei "define interface eth0" und "define interface local" die Geschwindigkeit erhöht werden. Bei eth0 habe ich 800 kbps und bei local 10000 kbps eingesetzt.
Anlegen der Tape-Liste
Bevor mit Beschriften der Tapes begonnen werden kann, muss die Datei tapelist angelegt werden.
Nun können die Bänder beschriftet werden. Die Etiketten kommen später...
beim zweiten Band
Der amanda-Standard-Backup-Zyklus ist ein Monat.
Änderungen lassen sich im Konfigurations-File /etc/amanda/DailySet1/amanda.conf anpassen
dumpcycle 7 days Hier wird das Sicherungs-Intervall festgelegt. Alle 7 Tage gibt es eine Vollsicherung runspercycle 5 days Dieser Wert gibt an, je dumpcycle nur 5 Sicherungen gemacht werden. (keine Sicherung an Samstagen und Sonntagen) tapecycle 5 tapes Das heisst, wenn die 5 Bänder genutzt wurden, darf das erste wieder überschrieben werden.
xinetd.d
Serverseitig muss nun in der Datei /etc/xinetd.d/amanda auf disable = no geändert werden. Clientseitig die Datei /etc/xinetd.d/amandaidx ebenfalls auf disable = no ändern. Mit folgendem Befehl den Dienst xinetd neustarten.
Kontrollieren, ob alles in Ordnung ist
muss folgende Ausgabe liefern
udp 0 0 *:amanda *:*
Jetzt die Datei /etc/amanda/DailySet1/disklist editieren, und zwar am Ende.
localhost /etc comp-root-tar ist standardmässig aktiviert und zu einem schnellen Testlauf gut geeignet. localhost muss jedoch durch den Maschinen-Name (einen FQDN) ersetzt werden. Alle anderen Verzeichnis können nach dem Testlauf hinzugefügt werden. Der Syntax für die anderen Verzeichnis/Maschinen ist
hostname diskdev dumptype
| Einstellungen für disklst | ||
|---|---|---|
| Wert | Beschreibung | |
| hostname | ist wohl jedem klar. Achtung es muss ein FQDN (Fully Qualified Domain Name) verwendet werden | |
| diskdev | Pfad zum sicherenden Verzeichnis | |
| dumptype | dies kann in amanda.conf definiert werden | |
Mit folgendem Befehl kann der Testlauf gestartet werden. Ich musste in der armada.conf die Zeile " exclude list "/usr/local/lib/amanda/exclude.gtar" entfernen. Da der Pfad nicht stimmte und ich keine exclude brauche. Weiter muss bei define dumptype global index auf yes gesetzt werden.
Ausgabe des Befehls
Amanda Tape Server Host Check ----------------------------- Holding disk /var/tmp: 16290188 KB disk space available, that's plenty NOTE: skipping tape-writable test Tape DailySet101 label ok WARNING: tapecycle (5) <= runspercycle (28). NOTE: info dir /var/lib/amanda/DailySet1/curinfo: does not exist NOTE: it will be created on the next run NOTE: index dir /var/lib/amanda/DailySet1/index/localhost: does not exist Server check took 0.666 seconds Amanda Backup Client Hosts Check -------------------------------- Client check: 1 host checked in 11.281 seconds, 0 problems found (brought to you by Amanda 2.4.4p2)
Es sollten nun Diagnose-Daten ausgeben werden, wie auch ein paar Fehler, weil beim ersten Start gewisse Dateien fehlen und erst während des Backup erstellt werden.
Nun kann der Backup-Vorgang gestartet werden. Nach Beendigung wird die eingetragene Person per Mail benachrichtigt.
Die E-Mail erhält die Informationen, welche zum Teil schon von amcheck geliefert wurden.
These dumps were to tape DailySet101.
The next tape Amanda expects to use is: a new tape.
The next new tape already labelled is: DailySet102.
STATISTICS:
Total Full Daily
-------- -------- --------
Estimate Time (hrs:min) 0:00
Run Time (hrs:min) 0:01
Dump Time (hrs:min) 0:00 0:00 0:00
Output Size (meg) 11.0 11.0 0.0
Original Size (meg) 52.1 52.1 0.0
Avg Compressed Size (%) 21.1 21.1 --
Filesystems Dumped 1 1 0
Avg Dump Rate (k/s) 475.2 475.2 --
Tape Time (hrs:min) 0:00 0:00 0:00
Tape Size (meg) 11.0 11.0 0.0
Tape Used (%) 0.1 0.1 0.0
Filesystems Taped 1 1 0
Avg Tp Write Rate (k/s) 2235.7 2235.7 --
USAGE BY TAPE:
Label Time Size % Nb
DailySet101 0:00 11.0 0.1 1
NOTES:
planner: tapecycle (5) <= runspercycle (28)
planner: Adding new disk localhost:/etc.
taper: tape DailySet101 kb 11264 fm 1 [OK]
DUMP SUMMARY:
DUMPER STATS TAPER STATS
HOSTNAME DISK L ORIG-KB OUT-KB COMP% MMM:SS KB/s MMM:SS KB/s
-------------------------- --------------------------------- ------------
server01.int /etc 0 53300 11232 21.1 0:24 475.2 0:052235.3
(brought to you by Amanda version 2.4.4p2)
Automatisieren
Da die Backups in Zukunft automatisch gemacht werden sollen, muss ein Eintrag in der crontab vorhanden sein. Folgende Einträge sind hinzuzufügen. (crontab -e, dann i und die Zeilen einfügen)
# Tägliches Backup (inkl. Prüfung) 0 17 * * 1,2,3,4,5 su amanda -c "/usr/sbin/amcheck DailySet1" 0 22 * * 1,2,3,4,5 su amanda -c "/usr/sbin/amdump DailySet1"
Um 17:00 wird geprüft, ob das richtige Band eingelegt ist und alle eventuell zu sichernden Hosts verfügbar sind. Dies geschied jeden Tag. Das Backup wird täglich um 22:00 gestartet. Bei sehr grossen Datenbeständen muss unter Umständen die Zeit nach vorne gesetzt werden.
Konfiguration der Sicherungen
Nun müssen noch Verzeichnisse, Harddisks oder andere Maschinen zur Sicherung hinzurgefügt werden. Der Amanda Client ist nur für Linux/Unix-Systeme verfügbar, Windows-Systeme lassen sich über Share und Samba sichern.
Für jede Maschinen muss der Client eingerichtet werden, speziell muss dem Client mitgeteilt werden, dass der Backup-Server zugreifen darf. Dafür muss im Verzeichnis /var/lib/amanda/ die Datei .amandahosts angelegt werden, der Server muss dort dann eingetragen werden. Wenn es ein DNS-Problem gibt, klappt die Autorisierung nicht. Wenn dies der Fall sein sollte, den Server-Name auf die IP-Adresse ändern.
Diese Datei muss nun geändert werde, denn die Rücksicherung (kommt später) sollte nur als root ausgeführt werden. Folgende Zeile hinzufügen. DIe Verwendung von localhost ist nicht zu empfehlen, es sollte der FQDN (Fully Qualified Domain Name). Falls dieser noch nicht gesetzt ist, bitte /etc/hosts entsprechend editieren.
server01.intra.net root
Der Aufbau des Syntaxes für die Datei disklist ist ober bereits beschrieben worden.
#Host-Name Verzeichnis Dump-Typ client1.intra.net /etc comp-root-tar 192.168.100.213 /home comp-root-tar 192.168.100.213 hda1 comp-root-tar
| | Anmerkung: Durch die Eingabe des Hardware-Namens kann eine ganze Disk gesichert werden. Es lassen sich so auch komplette Partitionen sichern. |
Windows-Systems
Damit Windows-Systeme gesichert werden können, muss die neuste Armada-Version verwendet werden. Die Eingaben müssen ebenfalls in der disklist-Datei gemacht werden.
samba.intra.net //winclient/share comp-root-tar
Beim Sichern von Samba-Shares muss der Benutzername und das Passwort für den Zugriff aus einem File gelesen werden. Die Share-Benutzerinformationen müssen im folgenden File /etc/amandapass angegeben sein. Falls nötig ist das File zu erstellen. Das Format muss so aussehen.
//winclient/share user%pass
Diese Datei darf nur für User amanda und Gruppe disk lesbar sein.
und
Falls es Probleme mit xinetd.d und dem Warten auf den Server gibt, kann dies eventuell durch das Hinzufügen von includedir /etc/xinetd.d in /etc/xinetd.conf gelöst werden.
Sicherung auf Festplatte
Da Festplatten zu einem billigen Speichermedium geworden sind, kann es manchmal sinnvoll sein, Sicherungen auf diese zu machen. Auch für Privatanwender kann dies eine Alternative sein, da nicht alle Personen ein eigenes Bandlaufwerk haben.
Rücksicherung
Für eine Rücksicherung von Daten stehen zwei Programme zur Verfügung: amrestore und amrecover. amrestore ist geeignet für eine komplette Rücksicherung der Daten, da die Eingaben im Gegensatz zu amrecover nicht interaktiv gemacht werden können
gibt den Syntax aus, wie die Eingabe aussehen muss
Für die Rücksicherung mit amrecover muss folgender Befehl eingegeben werden. Dafür muss in ein Verzeichnis gewechselt werden, welches für User amanda schrieb- und lesbar ist. Zuerst Restore-Verzeichnis anlegen und die Rechte ändern, damit die zurückgesicherten Daten nicht die bestehenden überschreiben. Die Ausführung als root ist zwingend erforderlich, damit die Datei-Rechte (Eigentümer und Zugriff) richtig gesetzt werden können. Die Firewall-Ports TCP/UDP 10080 freischalten müssen freigeschaltet sein für die Kommunikation von Client und Server.
[root@server01 root]# mkdir /var/restore [root@server01 root]# chown amanda.disk /var/restore && chmod o-rwx /var/restore [root@server01 root]# cd / [root@server01 root]# amrecover DailySet1 AMRECOVER Version 2.4.4p2. Contacting server on localhost ... 220 server01 AMANDA index server (2.4.4p2) ready. 200 Access OK Setting restore date to today (2004-10-20) 200 Working date set to 2004-10-20. 501 Could not read config file /etc/amanda/DailySet1/amanda.conf! amrecover> amrecover> setdisk / amrecover> add amanda / amrecover> extract /
nun kann den Dialogen gefolgt werden
amrecover> exit
Alternative Lösungen
Quellen
- Wolfgang Barth Datensicherung unter Linux Open Source Press 2004
- man amanda
Kategorien: HOWTO | Sicherheit | Programme | System

