Amanda

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung
Achtung 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.

Achtung Achtung: Diese Anleitung benötigt im ersten Teil ein angeschlossenes SCSI-Tape-Drive. In diesem Fall wurde ein DDS-Laufwerk von HP in einem externen SCSI-Gehäuse verwendet. Nachfolgend wird auch die Sicherung auf Harddisks beschrieben (noch offen).


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.

[root]# yum install amanda-client amanda-server


Vorbereitung der Hardware

Folgendes Kommando ausführen (diese Aktion kann sehr lange dauern, bei mir 6 Stunden)

[root]# amtapetype -f /dev/nst0

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.

[root]# mt -f /dev/nst0 status

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.

[root]# touch /etc/amanda/DailySet1/tapelist

Nun können die Bänder beschriftet werden. Die Etiketten kommen später...

[root]# su amanda -c "/usr/sbin/amlabel DailySet1 DailySet101"

beim zweiten Band

[root]# su amanda -c "/usr/sbin/amlabel DailySet1 DailySet102"

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.

[root]# service xinetd restart

Kontrollieren, ob alles in Ordnung ist

[root]# netstat -ul

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.

[root]# su amanda -c "/usr/sbin/amcheck DailySet1"

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.

[root]# su amanda -c "/usr/sbin/amdump DailySet1"

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.

[root]# touch /var/lib/amanda/.amandahosts

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

[root]# chown amanda.disk /etc/amandapass

und

[root]# chmod o-rwx /etc/amandapass

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

[root]# su amanda -c "/usr/sbin/amrestore"

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

Persönliche Werkzeuge