Nachdem mir Grub2 bei meinem neuen MD-Raid-System ein Strich durch die Rechnung gemacht hat, habe ich mich halt für die gute alte /boot-Partition entschieden. Nachdem erstellen des neuen Partitionslayout 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. Der 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 Schluss gekommen, dass eigentlich alles funktionieren müsste… Letztendlich hat nur folgender mdamd-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.