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.


Amanda

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


'amanda' (Advanced Maryland Automatic Network Disk Archiver) ist ein Programmpaket zum Sichern kompletter Netzwerkumgebungen. Zentraler Teil ist dabei ein Backup-Server, der über ein entsprechendes Sicherungsmedium (z.B. Bandlaufwerk) verfügen sollte. Der Backup-Server bezieht von den angeschlossenen Backup-Clients die zu sichernden Daten über das Netzwerk, speichert sie gegebenenfalls zwischen, um sie anschließend auf den Sicherungsmedium zu archivieren. Dabei kann die Komprimierung vorhandener Hardware genutzt werden. Falls keine Hardware-Komprimierung zur Verfügung steht, kann eine Software-Komprimierung genutzt werden, die wahlweise auf dem Client oder dem Backup-Server erfolgen kann. Bei der Sicherung ist eine parallele Abfrage mehrerer Clients möglich. Auch kann die Netzwerklast für 'Amanda' eingestellt werden, sodas ein Weiterarbeiten im Netzwerk möglich ist. Als zu sichernde Clients kommen Linux-Systeme und Systeme die das SMB-Protokoll, also auch Windows-Systeme in frage. Nach Abschluss jeder Sicherung wird eine ausführlicher Bericht generiert, der z.B. als Email versandt wird. Bei der Sicherung mit Amanda wird kein eigenes Datensicherungsformat verwendet, sondern es werden die gängigen Kommandos wie: 'dump' und 'tar' verwendet, so das im Extremfall mit simplen Methoden auf das Backup-Medium zurückgegriffen werden kann.

Bei der Sicherung mit 'amanda' wird eine Kombination aus vollständigen und inkrementellen Backups aller zu sichernden Daten genutzt, dazu werden folgende Informationen verwendet:

  • Die Gesamtmenge der zu sichernden Daten, 'amanda' berechnet das intern aus der Liste der zu sichernden Elemente
  • Die Anzahl der Tage zwischen vollständigen Backups (in der Konfigurationsdatei für 'amanda' festgelegt)
  • Den Prozentsatz der Daten, die sich jeden Tag ändern.

amanda verfolgt dabei eine Doppel-Strategie: eine vollständige Sicherung der Daten innerhalb jedes Zyklus und gleichzeitig Sicherstellung, dass alle veränderten Daten zwischen den vollständigen Sicherungen gesichert werden. Bei jedem Sicherungslauf führt 'Amanda' ein vollständiges Backup eines Teils der Daten durch, genauer gesagt exakt des Teils, der benötigt wird, um die vollständigen Daten innerhalb eines kompletten Backup-Zyklus zu sichern.

Bei der Wiederherstellung mit amanda kann, falls Indexzierung der Daten eingestellt wurde, bequem in den kompletten Datenbestand navigiert werden (ähnlich wie bei 'restore -i'). Dabei können Daten eines bestimmten Datums und von welchem Rechner angegeben werden. amanda teilt einem dabei mit, welche Bänder einzulegen sind und stellt sie wieder her.

Installation/Konfiguration

Die Installation/Konfiguration von 'Amanda' wird im Verlauf dieser Seite anhand eines praxisorientierten Beispiels mit drei Rechnern vorstellen. Das ist zunächst der 'Amanda'-Server mit den Sicherungsmedium (in diesem Bsp. der Rechner: 'tempelton' mit einen DAT-Laufwerk). Als Clients die gesichert werden sollen, sind das in diesem Beispiel das Linux-System (Rechner: 'joshua') und ein Windows XP-System (Rechner 'ovation').

Installation 'Amanda'-Server

Unter Debian-Linux kann der Server am einfachsten mittels 'apt-get install amanda-server amanda-common amanda-client' installiert werden, evtl. weitere Abhängigkeiten sollten aufgelöst werden. Dabei wird beim Aufsetzen eines 'Amanda'-Servers auch der 'Amanda'-Client benötigt.

Als weitere vorbereitende Maßnahme ist die Datei '/etc/services' zu prüfen, ob die für 'Amanda' benötigten 'tcp'/'udp'-Ports auskommentiert sind:

Auszug aus: /etc/services (ca. Zeile: 510)

...
kamanda     10081/tcp                            # amanda backup services (Kerberos)
kamanda     10081/udp
amandaidx   10082/tcp                            # amanda backup services
amidxtape   10083/tcp                            # amanda backup services
...

'Amanda' nutzt für den Datenaustausch über das Netzwerk standardmäßig die Ports: '10081', '10082' und '10083'.

Da die 'Amanda'-Dienste über den Super-Dämon gestartet werden, sind diese in der 'inetd.conf' freizuschalten:

Auszug aus: /etc/initd.conf

...
#:OTHER: Other services
# amanda backup server with indexing capabilities
amandaidx     stream  tcp nowait   backup  /usr/sbin/tcpd  /usr/lib/amanda/amindexd
amidxtape     stream  tcp nowait   backup  /usr/sbin/tcpd  /usr/lib/amanda/amidxtaped
#
amanda backup client
amanda        dgram   udp wait     backup  /usr/sbin/tcpd  /usr/lib/amanda/amandad

'amandaidxd' und 'amidxtaped' sind Dienste, die den Zugriff auf die Kataloge und das Backup-Bandlaufwerk ermöglichen, 'amandad' ist der Backup-Client.

Wichtig für den Netzwerkbetrieb ist die 'Amanda'-eigenen Authentifizierungsdateien '.amandahosts', die vergleichbar ist mit der './hosts'-Datei bei den 'r'-Programmen von Berkley . Die '.amandahosts'-Datei befindet sich im 'home'-Verzeichnis von Amanda (bei SuSE: /var/lib/amanda) und sollte als User: amanda (Kommando: su - amanda) angepasst werden.

Auszug aus: ~/.amandahosts (ca. Zeile: 510)

...
localhost                 backup
localhost                 root
tempelton.eusterholz.tld  backup
tempelton.eusterholz.tld  root
joshua.eusterholz.tld     backup
joshua.eusterholz.tld     root

In der .amandahost-Datei sind alle Rechner, die an der Sicherung unter amanda beteidigt sind, einzutragen. In jeder einzelnen Zeile ist der Rechnername in FQN-Notation und der berechtigte Benutzer anzugeben, dabei sollte als berechtigter Benutzer für jeden Rechner der User amanda und root eingetragen werden. In diesem Bsp. ist der Sicherungsserver: tempelton (oder auch localhost) und ein Linux-Client: joshua zu finden. Der Eingangs erwähnte Windows-Rechner: ovation benötigt keinen Eintrag, da er indirekt über den Sicherungsserver angesprochen wird.

Konfiguration 'Amanda'-Server

Als nächstes gilt es die Konfigurationsdateien: amanda.conf anzupassen. Der Einfachheit halber möchte ich dieses anhand einer Minimalkonfiguration vorstellen und nur auf die wichtigsten Parameter eingehen. Eine detaillierte Beschreibung der Parameter ist der Dokumentation zu amanda zu entnehmen.

Auszug aus: ~/.amandahosts (ca. Zeile: 510)

#
# amanda.conf - sample Amanda configuration file.
#

org "DailiSet1"         # your organization name for reports
mailto "amanda"         # space separated list of operators at your site
dumpuser "amanda"       # the user to run dumps under

inparallel 2            # maximum dumpers that will run in parallel (max 63)
netusage 600 Kbps       # maximum net bandwidth for Amanda, in KB per sec

dumpcycle 1 weeks       # the number of days in the normal dump cycle
runspercycle 5          # the number of amdump runs in dumpcycle days
runtapes 1              # number of tapes to be used in a single run of amdump
tapecycle 7 tapes       # the number of tapes in rotation

tapedev "/dev/nst0"             # the no-rewind tape device to be used
tapetype HP-C1533A              # what kind of tape it is (see tapetypes below)
labelstr "^tape-[0-9][0-9]*$"   # label constraint regex: all tapes must match

infofile "/var/lib/amanda/backup/curinfo"       # database DIRECTORY
logdir "/var/lib/amanda/backup"                 # log directory
indexdir "/var/lib/amanda/backup/index"         # index directory

define tapetype HP-C1533A {
        comment "HP C1533A with 120 meter DDS-2 Data Cartrige"
        length 3244 mbytes
        filemark 0 kbytes
        speed 413 kps
}


define dumptype normal {
        comment "normally backup"
        index yes
        program "DUMP"
        priority medium
}


define dumptype comp-user-gnutar {
        comment "normally backup"
        index yes
        program "GNUTAR"
        compress none
        priority medium
}

Alle Änderungen in der Konfigurationsdatei sind als Benutzer: amanda durchzuführen, die Parameter bzw. deklarierten Typen haben folgende Bedeutung:

  • 'org'
    Berichte, die 'Amanda' per Mail versendet, enthalten diesen Text als 'Subject'.
  • 'mailto'
    die Empfängeradresse für Berichte.
  • 'dumpuser'
    Hier sollte die Benutzerkennung eingetragen werden, unter dem Amanda laufen soll
  • 'inparallel'
    hier wird die maximale Anzahl von gleichzeitig laufenden dump-Prosessen angegeben.
  • 'netusage'
    Bandbreite die amanda maximal im Netzwerk verwenden soll.
  • 'dumpcycle'
    Der Zyklus für ein volles Backup. Die Zeit sollte in Konfigurationen mit vielen Clients nicht zu gering gewählt werden, da der Backup vollständig auf die Bänder gespielt werden muss, bevor ein neuer Zyklus startet. Ein langer Backupzyklus bedingt entsprechend viele Bänder, da mehr Sicherungsdaten aufgehoben werden müssen. Typisch sind hier Werte zwischen 1 Woche und 3 Monaten.
  • 'runspercycle'
    Die Anzahl Durchläufe pro Zyklus. Wie viele inkrementelle Backups werden innerhalb der Zeitspanne eines vollen Backups vorgenommen.
  • 'runtapes'
    Anzahl der Bänder, die für einen Durchlauf maximal verwendet werden. Genügt der Speicherplatz nicht, bricht Amanda mit einem Fehler ab.
  • 'tapecycle'
    Der Bandzyklus ist die minimale Anzahl Bänder, die Amanda benötigt. Er errechnet sich aus dem Wert 'runpercycle' mal 'runtapes' und sollte niemals kleiner gewählt werden, da Amanda ansonsten die Bänder des letzten vollen Backups überschreibt. Stellt man Amanda mehr Bänder zur Verfügung, verfügt man über eine längere Backup-Historie (über das letzte volle Backup hinaus), da die Bänder zyklisch beschrieben werden.
  • 'tapedev'
    Das Device, an dem das Bandlaufwerk hängt. Es sollte ein non-rewinding-Device gewählt werden.
  • 'tapetype'
    Hier wird der Type des Bandlaufwerkes inkl. Band festgelegt. Die genauen Werte sind weiter unten definierten 'tapetyp' (HP-C1533A) zu entnehmen.
  • 'labelstr'
    Ein regulärer Ausdruck. Alle Bänder, deren Namen mit dem Ausdruck überein stimmen, gelten als reserviert. Die Bandnamen lauten 'DailySet1-xx', wobei 'DailySet1' der gewählte Name der Konfiguration und 'xx' eine Zahl ist.
  • 'infofile'
    Verzeichnis zur Datenbank
  • 'logdir'
    log-Verzeichnis
  • 'indexfile'
    Verzeichnis zum Index

Des weiteren folgen die deklarierten Typen für das Bandlaufwerk (tapetype) und die Sicherungsmethoden (dumptype).
In tapetype werden die Laufwerk- und Band-spezifischen Parameter eingetragen. Für die Bestimmung der Parameter kann das zu amanda gehörende Programm: tapetype genutzt werden (siehe Anmerkung).
In dumptype werden die zur Sicherung anzuwendenden Parameter wie Kompression, Backupprogramm (DUMP oder GNUTAR), Indizierung usw. angegeben. Eine ausführliche Beschreibung ist der Dokumentation von amanda zu entnehmen. In diesem Bsp. gibt es zwei Typen, der eine dient zur Sicherung von Linux-Clients, der andere zur Sicherung von Windows-Clients.

Die tatsächlich zu sichernden Daten werden in der Konfigurationsdatei disklist konfiguriert, wobei die in 'amanda.conf' definierten Dumptypen verwendet werden. Hier die Einträge für die Sicherung des oben beschreibenen Bsp-Systems:

Auszug aus: ~/.amandahosts (ca. Zeile: 510)

# sample Amanda2 disklist file, derived from CS.UMD.EDU's disklist
#
# File format is:
#
# hostname diskdev dumptype [spindle [interface]]
#
# where the dumptypes are defined by you in amanda.conf or in-line.

tempelton hda2        normal -1
joshua hda2        normal -1
tempelton //ovation/Daten        nocomp-user-gnutar -1

Die Spalten dieser Datei bestehen aus dem host-Namen, dem Dateisystem (als Datei in /dev, vollständiger Gerätename oder Mountpunkt), dem dumptyp und einem Spindel-Parameter. Letzterer kontrolliert, welche Backups auf einem Host zur gleichen Zeit erfolgen können. Der Wert -1 besagt, dass dieser Parameter ignoriert werden soll. Andere Werte definieren Backup-Gruppen für einen Host. Amanda führt nur Backups derselben Gruppe gleichzeitig aus.
In den ersten beiden Zeilen wird die Partition: hda2 von den Rechnern tempelton und joshua gesichert. In der dritten Zeile wird ein SMB-Share: Daten auf dem Windows-Rechner: ovation mit dem dumptype: xxx gesichert. Die Sicherung geschieht dabei von Sicherungsserver: tempelton aus, was bedingt, das dieser das Paket: samba-client installiert hat.

Damit der Sicherungsserver auf dem Windows-Share Zugriff erhält, ist noch eine Datei: /etc/amandapass zu erstellen, in der die Zugriffsdaten wie Benutzer und Kennwort für das Share eingetragen werden.

Auszug aus: ~/.amandahosts (ca. Zeile: 510)

# Amanda authentication for SMB-shares
#
# //<computer>/<share-name> <Login>%<PASSWORD> NT-Group
#

//ovation/Daten             linux%geheim

In diesem Bsp. erhält amanda Zugriff auf das Share: //ovation/Daten mit dem Benutzer: linux und dem Kennwort: geheim. Die Datei sollte als Benutzer=amanda und Gruppe=disk angelegt werden, und nur über Leserechte (chmod 600).

Amanda-Client

Auch müssen die Clients, die an der Datensicherung mit amanda teilnehmen, entsprechend vorbereitet werden.
Für einen Linux-Client ist ebenfalls am besten das Paket: amanda mit YaST nachzuinstallieren. Genau wie beim Amanda-Server sind die Dateien: /etc/services und /etc/inetd.conf anzupassen. Beim amanda-Client ist in der inetd.conf jedoch nur die Zeile für den Clientanteil auszukommentieren:

Auszug aus: ~/.amandahosts (ca. Zeile: 510)

...
# amanda backup server with indexing capabilities
# amandaidx stream tcp nowait amanda /usr/lib/amanda/amindexd amindexd
# amidxtape stream tcp nowait amanda /usr/lib/amanda/amidxtaped amidxtaped
#
# amanda backup client
amanda dgram udp wait amanda /usr/lib/amanda/amandad amandad
#
...

Wie beim 'Amanda'-Server ist auch eine '.amandahosts' zu erstellen, in der die berechtigten Rechner eingetragen werden (vgl. Amanda-Server). Eigentlich sind das schon alle Maßnahmen die an einen Linux-Client durchgeführt werden sollten.

Bei einen Windows-Client sieht die Vorbereitung noch einfacher aus, es ist lediglich nur eine Freigabe für den zu sichernden Bereich zu erstellen (vgl. Datensicherung im LAN).

Datensicherung mit Amanda

Nachdem der Server und die Clients für die Datensicherung vorbereitet sind, kann nun mit amanda gearbeitet werden. Im folgenden möchte ich nur ein paar elementare Bsp. zur Handhabung von amanda geben. Die folgenden Bsp. sollen vielmehr das ordnungsgemäße Funktionieren der Konfiguration sicherstellen, für das detaillierte Umgehen mit amanda möchte ich auf die Dokumentation zum Programmpaket verweisen.

Tapes labeln (amlabel)

Bevor überhaupt eine Datensicherung mit 'Amanda' angestoßen werden kann, sind die Tapes zu 'labeln'. Das 'Labeln' der Tapes sollte als Benutzer: 'amanda' durchgeführt werden:

tempelton:~ # su - amanda
amanda@tempelton:~> amlabel DailySet1 DailySet1-01
rewinding, reading label, reading label: Input/output error
rewinding, writing label DailySet1-01, checking label, done.
amanda@tempelton:~>

Entsprechend des Eintrags tapecycle in /etc/amanda/DailySet1/amanda.conf müssen die obigen Schritt für die weiteren Bänder wiederholt werden. Dazu ist lediglich eine Erhöhen der Nummerierung '01' fortlaufend nötig.

Konfiguration testen (amcheck)

Ein gutes Verfahren zum Testen der Konfiguration (Client und Server) und des Sicherungsmediums kann mit dem Programm: amcheck erfolgen, welches ebenfalls als Benutzer: amanda auszuführen ist.

tempelton:~ # su - amanda
amanda@tempelton:~> amcheck DailySet1
Amanda Tape Server Host Check
-----------------------------
NOTE: skipping tape-writable test
Tape DailySet1-01 label ok
Server check took 0.324 seconds

Amanda Backup Client Hosts Check
--------------------------------
Client check: 2 hosts checked in 0.973 seconds, 0 problems found

(brought to you by Amanda 2.4.2p2)
amanda@tempelton:~>

Zunächst wird das Bandlaufwerk inkl. eingelegtem Band (ist der 'Label' des Bandes bezogen auf des 'Set' korrekt) geprüft. Anschließend wird die Erreichbarkeit der Clients überprüft. In diesem Bsp. wurden zwei Clients mit dem Ergebnis: '0 problems found' überprüft.

Datensicherung anstoßen (amdump)

Zum anstoßen der Datensicherung dient das Kommando: amdump. Von Hand angestoßen wird das Kommando ebenfalls unter dem User: amanda:

tempelton:~ # su - amanda
amanda@tempelton:~> amdump DailySet1
amanda@tempelton:~>

Nach jeder Sicherung schickt amanda einen Mailreport an den in der amanda.conf selektierten User. Dieser enthält unter anderem Informationen was gesichert wurde, bzw. was nicht gesichert werden konnte, wieviel Prozent des Tapes benutzt wurden, mit welcher Durchsatzrate die Daten auf das Band geschrieben wurden, und wie lange gesichert wurde.
Für eine stetige Datensicherung sollte auf jeden Fall das Kommando: amdump als cron-Job unter dem User: amanda eingetragen werden.

Wiederherstellen von Daten (amrecover)

Zum Wiederherstellen Dateien eignet sich am besten das Tool: amrecover. Das Tool bietet eine Benutzerschnittstelle, die auf Indexdaten zugreift, welche für Dumptypen mit eingeschalteter Index-Option beim Backup erstellt wurden (Option index bei define dumptype in der /etc/amanda.conf). Wurde der Backup ohne Indizierung erstellt muss das Programm: amrestore genutzt werden. Die Schnittstelle erlaubt eine bequeme Navigation durch die verschiedenen Versionen von gesicherten Dateien und Verzeichnissen. Zu wiederherstellende Einträge lassen sich selektieren und können anschließend aus dem Programm heraus zurückgespielt werden.
Hier ein Bsp.-Szenario um eine verloren gegangene Dateien /daten/info* auf dem Rechner: tempelton wiederherzustellen (z.B. Verzeichnis wurde samt Inhalt versehentlich gelöscht):

tempelton:/ # amrecover DailySet1
AMRECOVER Version 2.4.2p2. Contacting server on localhost ...
220 tempelton AMANDA index server (2.4.2p2) ready.
200 Access OK
Setting restore date to today (2002-12-26)
200 Working date set to 2002-12-26.
200 Config set to DailySet1.
200 Dump host set to tempelton.
Can't determine disk and mount point from $CWD
amrecover> setdisk hda2 /
Warning: no log files found for tape tape-01 written 0-00-00
200 Disk set to hda2.
amrecover> cd daten
/daten
amrecover> ls
2002-12-26 .
2002-12-26 info_1.doc
2002-12-26 info_2.doc
2002-12-26 info_3.doc
amrecover> addx info*
Added /daten/info_1.doc
Added /daten/info_2.doc
Added /daten/info_3.doc
amrecover> extract

Extracting files using tape drive /dev/nst0 on host localhost.
The following tapes are needed: tape-05

Restoring files into directory /
Continue? [Y/n]: y

Load tape tape-05 now
Continue? [Y/n]: y
set owner/mode for '.'? [yn] y
amrecover> quit
200 Good bye.
tempelton:/ #

Zunächst ist das Programm: amrecover als root auszuführen. Danach erfolgt eine interaktive Shell, ähnlich wie beim ftp-Client. (Alle folgenden Kommandos die eingegeben wurden, sind gelb markiert.)
Als erstes ist mit 'setdisk' das Laufwerk und der mount-Punkt zu setzen, danach wird mit 'cd' in das zu wiederherstellende Verzeichnis gewechselt. Der ursprüngliche Inhalt des Verzeichnisses kann mit 'ls' aufgelistet werden. Mit 'addx info*' werden nun alle Dateien zur Wiederherstellung selektiert und mit 'extract' die Wiederherstellung eingeleitet.

Anmerkungen

Um eine kontinuierliche Datensicherung zu gewährleisten sollte auf jeden Fall die Ausführung zum Sichern in ein cron-Job für den Benutzer: amanda eingetragen werden. Ein Eintrag zu den obigen Bsp. könnet etwa so aussehen:

15 19 * * 1-5 /usr/sbin/amdump DailySet1

Bei diesem Eintrag wird von Montag bis Freitag jeden Tag die Datensicherung um 19:15 Uhr gestartet.

Um die notwendigen Laufwerk- und Band-spezifischen Parameter herauszufinden kann das Tool: tapetype genutzt werden. Leider befindet sich das Programm bei einer Installation mittels Yast auf der Festplatte, sondern muss separat aus den Quellen von Amanda generiert werden. Nachdem das Programm vorliegt kann es wie folgt aufgerufen werden:

tempelton:/tmp # ./tapetype -e 4g -f /dev/nst0 -t HP-C1533C
wrote 103490 32Kb blocks in 79 files in 7867 seconds (short write)
wrote 104145 32Kb blocks in 159 files in 8226 seconds (short write)
define tapetype HP-C1533A {
comment "just produced by tapetype program"
length 3244 mbytes
filemark 0 kbytes
speed 413 kps
}
tempelton:/tmp #

Bei der Nutzung des Programms ist darauf zu achten, dass eine evt. Hardware Kompression des Laufwerks abgeschaltet ist. Der Lauf des Programms kann einige Stunden an Zeit in Anspruch nehmen.

Steht genügend Festplattenkapazität zur Verfügung sollte für amanda eine so genannte 'holdingdisk' deklariert werden. Eine 'holdingdisk' ist ein zugewiesener Bereich auf der Festplatte, der die zu schreibenden Daten zwischenspeichert, um den Durchsatz beim Schreiben des Bandes zu erhöhen. Außerdem ist sichergestellt, dass auch bei einem Laufwerkfehler die Daten gesichert werden, da das Backup zu einem späteren Zeitpunkt auf das Sicherungsmedium geschrieben werden kann.

Weitere Infos

Homepage: Amanda http://www.amanda.org/
Kapitel aus O'Reilly "Unix Backup & Recovery" http://www.backupcentral.com/amanda.html
Amanda Faq-O-Matic http://amanda.sourceforge.net/fom-serve/cache/1.html
Amanda Frequently Asked Questions http://www.synack.net/amanda/
Fragen zu AMANDA http://www.tu-chemnitz.de/urz/system/backup/backupdienst/amanda_chemnitz_faq.html/
Amanda User-Group http://groups.yahoo.com/group/amanda-users/
Meine Datensicherung mit Amanda: Praxisbezogenes Bsp.
Manualseiten zu: <program> man <program>
System-Dokumentation: <program> /usr/share/doc/<programm>

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