1.5 Allgemeine angewandte Prinzipen im System Backup2
MiniLinux Kernel auf dem Klienten
Als Erstes wird die IP über den DHCP-Dienst empfangen.
Die IP des NFS-Servers wird angefordert, um das RootFS über NFS zu mounten.
Des weiteren wird eine RAM-Disk angelegt, um lokale Schreibvorgänge zu gewährleisten.
Durch das einbinden des RootFS werden grundlegende Systemfunktionen bereitgestellt, wie eine
Shell (bash2), und die Möglichkeit Skripte auszuführen
Partimage vs. dd
Zum "Abziehen" der Platte standen 2 Tools zur Auswahl, partimage oder dd. Es wurde sich
letztendlich für dd entschieden aus folgenden Gründen:
Vorteile für Partimage:
- zieht nur tatsächlich belegten Speicherplatz ab, daraus ergeben sich
schnellere Backupzeiten als bei dd
Nachteile Partimage:
- unterstütz viele Filesysteme, aber bei weitem nicht alle,
die im Rootlabor benötigt werden könnten
- sichert nur Partitionsweise (ohne Partitionstabelle) dadurch würde der "Verwaltungsufwand"
beim Sichern und Wiederherstellen erhöht
- alpha-Release
Vorteile dd:
- ständig weiterentwickeltes, oft angewandtes und stabiles Unixtool
- es wird ein Binary Dump der Festplatte erzeugt, dadurch ist es egal welches
FS auf dem Klient vorhanden ist
Nachteile dd:
- zieht auch "ungenutzte" Festplattenblöcke ab, dadurch langsamer als partimage - dieser
Nachteil wird durch den Einstatz von fdisk behoben, da der letzte benutzte Plattenblock
ausgelesen wird, und nur bis zu diesem Block eine Sicherung der Festplatte erfolgt
Das Tool dd wurde mit Hilfe von gzip,netcat und fdisk zu einem leistungsfähigen
Werkzeug für diese Aufgabe
Verwendete Serverdienste
- NFS - bereitstellen des RootFS
- DCHP - automatisches beziehen der IP-Adressen der Klienten und "verteilen" der Netzwerkkonfiguration
- TFTP - nötig um von PXE zu booten (übertragen des Bootimage)
- SSH - einfache Wartung der Klienten, sowie "entferntes" ausführen der Backup-Skripte
- WOL - automatisches einschalten der Rechner ohne Rootlabor betreten zu müssen
- HTTP - bereitstellen eines Webinterfaces um komfortable Bedienoberfläche zu gewährleisten
Nullen der Festplatten auf dem Klienten
Das "Nullen" wird vorgenommen um Datenmüll auf dem Klienten zu
eliminieren, damit mit gzip wirklich nur die benötigten Daten
komprimiert werden, und große Blöcke mit Nullen übrigbleiben, welche
leicht gezippt werden können.
Beschreibung
- Die IP Adresse des NFS Servers wird dem Clienten per DHCP mitgeteilt.
- Der Export des NFS wird in /etc/exports konfiguriert.
Das System braucht folgende Einstellungen um seine Daten zu erreichen:
/tftpboot/nfsroot 192.168.0.0/255.255.0.0(ro,no_root_squash)wobei die IP
natürlich den Gegebenheiten anzupassen ist. Es wird NUR das
vorbereitete Backupsystem freigegeben
- Beim Hochfahren des Klienten wird das Skript /etc/init.d/backupsystem.sh
ausgeführt. Dort drin bestimmt der Client seine eigene IP und startet dann
die Datei /backup2/${Client_IP}.do.sh. Dieses Skript findet man auf dem
Server unter /tftpboot/nfsroot/pivot_roots/etc/init.d/backupsystem. Die
Unterscheidung erfolgt also entsprechend der zugewiesenen IP durch den
DHCPD.
-
Es werden die Verzeichnisse /etc, /var in der Ramdisk angelegt,
weil Anwendungsprogramme in diesen Verzeichnissen Änderungen vornehmen
könnten.Es wird außerdem noch /dev angelegt, weil Devices im NFS, nach
eigenen Erfahrungen, nicht optimal laufen.
- Der Client ist auf PXE Boot als First-Boot-Device im Bios eingestellt. Als 2.
Device hat er dann CD oder HD oder Floppy. In der Konfiguration von PXE wird
festgelegt ob der Client diesmal lokal oder per Netz booten
soll, diese Unterscheidung wird anhand eines speziellen Links
getroffen. Je nachdem auf welche der beiden Dateien (localboot, remoteboot)
gezeigt wird, wird entweder der Kern geladen oder lokal gebootet
- Für jeden Rechner befindet sich im Verzeichnis /backup eine <ip>.do.sh die der
Client selbstständig startet. Diese Datei wurde vorher vom Skript backup2.sh auf
dem Server entsprechend der Anforderungen aus dem WebInterface vorbereitet.
© Torsten Höfler, Christian Burkert, Martin Telzer, Mirko Opitz, Andre Lichei, Daniel Röder, 26.02.2004