Achtung: Diese Anleitung ist pre-alpha und weitgehend ungetestet, da ich bislang eine andere Backuplösung verwende! Bitte noch etwas Geduld.
Die Musterlösung bringt ein Backup Skript mit (/usr/local/sbin/sysbackup.pl) das nur noch an die örtlichen Gegebenheiten angepasst werden muss.
Prinzipiell sichert das Skript das System 1:1 auf eine „weitere Festplatte“. „Weitere Festplatte“ kann dabei eine interne Wechselplatte sein oder eine per USB angeschlossene externe Platte. Auch ein NFS-Share eines anderen Rechners kann zur Mitarbeit bewegt werden. Man kann auch einzelne Verzeichnisse aus der Sicherung ausschließen, z.B. wenn das Beackupmedium zu klein ist/wird.
Das häufigste Szenario dürfte derzeit sicherlich die externe USB Festplatte sein, da diese zu günstigen Preis/Leistungskonditionen erehältlich ist.
Soll das gesamte System gesichert werden, muss auf dem Backup Medium mindestens soviel Speicherplatz vorhanden sein wie die Systemdaten zum Zeitpunkt der Sicherung einnehmen, da das Backup nicht komprimiert wird.
Zunächst muss die USB Platte ins System eingebunden werden. Dazu schließt man die Platte einfach an einen freien USB-Port an. Nun kann man in der Log-Datei /var/log/messages überprüfen, ob die Platte erkannt wurde. tail /var/log/messages sollte etwa so aussehen:
Jul 11 16:42:47 host kernel: SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB) Jul 11 16:42:47 host kernel: sdb: sdb1 Jul 11 16:42:49 host kernel: SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB) Jul 11 16:42:49 host kernel: sdb: sdb1
In diesem Beispiel wurde die Platte also als /dev/sdb eingebunden. Sollte die Platte nicht erkannt werden, überprüft man, ob das usb_storage Modul geladen ist (bei Kernel 2.4.x heißt es usb-storage): lsmod liefert eine Liste aller geladenen Module.
Mit modprobe usb_storage kann man es wenn nötig laden, dann sollte die Platte erkannt werden.
Nun kann man eine Partition auf der Platte anlegen, die genügend Speicherplatz zur Verfügung stellt, das ist beispielsweise mit dem Programm cfdisk möglich. Diese Partition formatiert man dann vorzugsweise mit demselben Filesystem wie die Originalinstallation, zumdindest wenn man anschließend von der Platte booten will.
(Erklärung: Wenn man von der Platte booten will, muss die Datei /etc/fstab im Backup angepasst werden, was das Skript auch machen kann, es passt aber nicht den Dateisystemtyp an)
mkfs.ext3 /dev/sdb1 würde also auf einer primären Partition ein ext3 FS erstellen.
Dann sollte man die Partition mal mounten und schauen, ob es geklappt hat:
mount -t <fstype> /dev/sdb1 /mnt df -h
Nun sollte man einen Eintrag sehen der ungefähr so aussieht:
/dev/sdb1 230G 20K 218G 1% /mnt
Am Beginn der Datei /usr/local/sbin/sysbackup.pl gibt es einen Bereich, der angepasst werden muss:
# anzupassende Deklarationen ############################### my $rootplatte = "/dev/hda"; # Diese Platte enthaelt das Rootsystem my $zielplatte = "/dev/hdc"; # Die Ziel-/Wechsel-platte my $mountpunkt = "/mnt/"; # An diesem Punkt wird die Zielpartition eingehaengt my $substfstab = 0; # Soll fstab angepasst werden? 1=Ja/0=Nein
Die Zeilen der Reihenfolge nach:
Wie die Konfiguration aussehen sollte wenn das System auf mehr als einer Festplatte liegt, weiß ich derzeit nicht.
Nun muss noch die Verzecinisliste angepasst werden, ein Beispiel findet sich im Skript. Man kann sich seine Partitionierung zunächst mal anschauen und dann entscheiden. Wenn man wie oben beschrieben nur eine Partition anlgelegt hat, sieht das eigentlich so aus:
my %verzliste = (
"/" => [$mountpunkt , $zielplatte."1"]
);
Ob es bei USB-Platten noch die Notwendigkeit einer gesonderten boot-Partition gibt muss ich mal schauen, Lilo ist da inzwischen recht tolerant. Wer auf Nummer sicher gehen will, erstellt eben zwei Partitionen auf der Backupplatte und achtet darauf, dass die erste ganz vorne landet. Dann sieht die Verzeichnisliste z.B. so aus:
my %verzliste = (
"/" => [$mountpunkt , $zielplatte."5"],
"/boot" => [$mountpunkt , $zielplatte."6"]
);
wenn die Partitionen /dev/sdb5 und /dev/sdb6 sind.
Nun kann ein erster Test folgen:
sysbackup.pl
und mal die Ausgaben anschauen.