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