[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grub auf SoftRaid1



Hallo Heiko,

mit dem Problem muss ich mich auch immer wieder rumschlagen, wenn ich ein Raid Level 1 Softraid mit 2 Platten einrichte.

Ich habe mir so beholfen, dass ich den LILO einmal in /dev/hda und einmal in /dev/hdb installieren lasse. Grund: Man will ja schließlich, dass nach dem Ausfall einer der beiden Platten die Maschine auf der verbliebenen, gespiegelten Platte, booten kann. Das habe ich auch ausprobiert. Ich entferne im Test eine Platte und boote, und siehe da LILO funktioniert. Dann stecke ich die Platte wieder an, boote, lasse das md-Device syncronisieren und fahre anschließend die Kiste wieder runter und klaue ihm die andere Platte, und auch dann muß der LILO einwandfrei booten. Erst dann ist das für mich wirklich eine redundante Sache mit der ich zufrieden bin.

Einmal:
boot=/dev/hda
root=/dev/md0
und LILO laufen lassen

Zweitemal:
boot=/dev/hdb
root=/dev/md0
und LILO laufen lassen

Aber mal ne ganz andere Frage:
Warum machst du das eigentlich, dass du die hda in 2 Partitionen aufteilst und dann zum Level 1 Raid machst? Nur zum testen, oder hat das einen tieferen Sinn?

Freundliche Grüße
Heinz Allerberger


Heiko Schlittermann wrote:

Hallo,

bin ich eigentlich der Einzige, der das Gefühl hat, daß der Grub sich
nicht wirklich gut installiert, wenn er nicht in den MBR sondern in eine
Partition, die Bestandteil eines (Soft)RAID1 ist, soll?


   /dev/hda    bzw (hd0)   - die Platte
   /dev/hda1   bzw (hd0,0) - die erste Partition, gehört zu /dev/md0
   /dev/hda2   bzw (hd0,1) - die zweite Partition, zu /dev/md1


# Die ersten 100 Byte löschen und prüfen
dd if=/dev/zero of=/dev/md1 bs=100 count=1
od -t xz /dev/md1 | head


# Nun Grub installieren
grub > root (hd0,1)
    > setup (hd0,1)
    ....
    einiger Text, der besagt, daß alles ok ist.


# Und nun mal nachgucken:
od -t xz /dev/md1 | head
od -t xz /dev/hda2 | head

.. und festellen, daß da der Grub sehr wohl in /dev/hda2 liegt, aber
nicht in /dev/md1 (was ja irgendwo verständlich ist, da der Grub sicher
selbst auf /dev/hda2 schreibt, daß aber "unter" /dev/md1 liegt, und
somit /dev/md1 nichts davon weiß.

Und bei Runterfahren passiert's scheinbar, daß das, was immer in
/dev/md1 lag, dann auch auf /dev/hda2 geschrieben wird (in meinem Fall
also diese 100 Nullen...)

Was kann man tun?
Ich habe mir jetzt geholfen:

   dd if=/dev/hda2 of=/tmp/x bs=512 count=1
   cat /tmp/x >/dev/md1

Und dann funktionierte auch das Booten wieder ...
Wie macht der LILO das?  (Oder schreibt der bei 'nem boot=/dev/mdX
nur auf den MBR und nicht in die entsprechende Partition?)


- Heiko Schlittermann



Reply to: