Backup & Restore des System aus dem Rescuemodus

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
jack88
Beiträge: 72
Registriert: 23.05.2008 18:50:25

Backup & Restore des System aus dem Rescuemodus

Beitrag von jack88 » 23.05.2008 18:56:03

Hallo,

ich habe einen rootserver mit debian etch drauf. Da mein Provider keine kostenlose Neuinstallation des Systems anbietet möchte ich eine Neuinstallation aus dem Rescue-System mit möglichst wenigen Handgriffen erstellen können.

Die Platte ist wie folgt partitioniert:

Disk /dev/sda: 146.1 GB, 146163105792 bytes
255 heads, 63 sectors/track, 17769 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 17 136521 83 Linux
/dev/sda2 18 148 1052257+ 82 Linux swap / Solaris
/dev/sda3 149 17769 141540682+ 83 Linux


Um das vom Provider vorinstallierte System im Rescue erstmal komplett zu sichern gehe ich nun wie folgt vor:

SERVER BACKUP

// Partitionstabelle sichern.

sfdisk -d /dev/sda | ssh root@backupserver.xx "cat > / backup/sda.pt"


// MBR sichern
dd if=/dev/sda bs=512 count=1 | ssh root@ backupserver.xx "cat > / backup/ mbr.dd"

// Boot-Partition sichern
dd if=/dev/sda1 | gzip -c | ssh root@backupserver.xx "cat > / backup /sda1.dd.gz"

// Dateiensystem +Bootpartition mounten

mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot

// Alle Dateien sichern

cd /mnt
tar -cSpz --numeric-owner --atime-preserve -f - * | ssh root@backupserver.xx "cat > / backup/daten.tar.gz"

Das funktioniert soweit einwandfrei.

Das Restore/Zurückspielen des kompletten Servers im Rescuesystem erfolgt dann analog wie folgt:

SERVER RESTORE

// Partitionstabelle zurückspielen
ssh root@backupserver.xx "cat / backup/sda.pt" | sfdisk /dev/sda


// MBR zrückspielen
ssh root@backupserver.xx "cat / backup/mbr.dd" | dd of=/dev/sda


// Boot-Partition zurückspielen
ssh root@backupserver.xx "cat / backup/sda1.dd.gz" | gunzip | dd of=/dev/sda1

// Filesystem mit ext3 formatieren
mkfs.ext3 /dev/sda3

// Swap-Partition formatieren
mkswap /dev/sda2
swapon /dev/sda2

// Filesystem mounten
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

// Dateiensystem aus dem Tar-Arechiv zurückspielen
mkdir /mnt/temp_restore
ssh root@backupserver.xx "cat / backup/grundsystem.tar.gz" | cat > /mnt/temp_restore/grundsystem.tar.gz

tar -xSpzvf /mnt/temp_restore/grundsystem.tar.gz -C /mnt/

Das geht soweit auch ohne Probleme.

Jetzt komme ich zu der eigentlichen Frage:

Wenn ich den Server jetzt neu starte dann bleibt er beim booten immer hängen. Als Fehlermeldung erscheinen im Konsolenfenster zig „GRUBGRUBGRUB.....“

Anschließend starte ich also wieder das Rescue-System, mounte die Partitionen

mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot

und führe dann

grub-install /dev/sda --root-directory=/mnt

aus

danach gibt´s keine Probleme mehr und der Server bootet wieder ganz normal.

Was ich nicht ganz verstehe ist weshalb der Schritt mit „grub-install“ erforderlich ist? Obwohl ich den MBR und die Bootpartition zuvor mit dd gespiegelt habe und wieder 1:1 zurückgespielt habe muss Grub trotzdem jedes mal nach dem Restore des Servers repariert werden?

Vielleicht hat ja jemand eine Idee?

Viele Dank im Voraus für jede Hilfe
jack

Antworten