Nachdem mir GRUB2 bei meinem neuen MD-RAID-System einen Strich durch die Rechnung gemacht hat, habe ich mich halt für die gute alte /boot-Partition entschieden. Nachdem Erstellen des neuen Partitionslayouts auf der neuen Festplatte, dem Erstellen des RAID-Arrays und dem anschließenden Kopieren aller Daten auf die neuen Dateisysteme, musste ich leider feststellen, dass sich Debian-Squeeze nicht von einem degraded-Array booten lässt. Dem initramfs wurden die benötigten Kernel-Module mitgegeben und auch eine aktuelle mdadm.conf existiert, dennoch möchten die Skripte nicht meine /dev/md0-Root-Partition erkennen und einbinden. Der erste Lösungsansatz bezog sich auf den Fakt, dass es sich um ein degraded-Array handelt und so habe ich dem Kernel folgenden Parameter übergeben:

md-mod.start_dirty_degraded=1

ohne Erfolg. Nach einigen Probieren und der Lektüre der initramfs-Skripte, bin ich zudem zu dem Schluss gekommen, dass eigentlich alles funktionieren müsste… Letztendlich hat nur folgender mdadm-Aufruf am Ende des Skripts /usr/share/initramfs-tools/scripts/local-top/mdadm geholfen:

/sbin/mdadm --assemble --scan --auto=yes

geholfen. Das hätte eigentlich genau dieses Skript erledigen sollen, doch genau dazu kommt es nicht; wo genau das Skript die falschen Entscheidungen trifft, konnte ich nicht herausfinden.

Auch ein normales RAID1-Array konnten die initramfs-Skripte nicht einbinden, obwohl die Partitionen auf den Typ 0xfd gesetzt sind und eine saubere mdadm.conf existiert! Somit verbleibt diese unsaubere Lösung in meiner Initramfs.


Next post: HTTP-Header-Filterung bei BigBrother

Previous post: GRUB2: “Error: fd0 read error”