Achtung: Diese Anleitung ist pre-alpha und weitgehend ungetestet, da ich bislang eine andere Backuplösung verwende! Bitte noch etwas Geduld.

Mitgeliefert: sysbackup.pl

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.

Konfiguration für Betrieb mit USB Platte

Anschließen der Platte

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.

Partitionieren und formatieren

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

Anpassen von sysbackup.pl

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:

  1. Device der Festplatte, auf der das System installiert ist
  2. Device der Backupplatte
  3. Wohin soll die Backupplatte gemountet werden?
  4. Soll die fstab auf der Backupplatte angepasst werden, so dass man von dieser booten kann?

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.

 
version2/backup/sysbackuppl.txt · Zuletzt geändert: 2010/02/07 19:38 (Externe Bearbeitung)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki