HowTo: Migrate RAID1 to RAID5

Als ich heute mein eines RAID1 auf RAID5 migriert habe, hatte ich Probleme vom RAID1 zu booten. Zur Information: md0 und md2 sind /boot und / bei mir und als RAID1 angelegt. Das LVM ist auf dem RAID5. Die Probleme gab es mit md2. Als Boot-Parameter ist “root=/dev/md2” angegeben. In /etc/mdadm/mdadm.conf steht folgendes:

ARRAY /dev/md0 level=raid1 num-devices=2 devices=/dev/sd[ab]1
ARRAY /dev/md1 level=raid1 num-devices=2 devices=/dev/sd[ab]2
ARRAY /dev/md2 level=raid1 num-devices=2 devices=/dev/sd[ab]3
ARRAY /dev/md3 level=raid1 num-devices=2 devices=/dev/sd[ab]5
ARRAY /dev/md4 level=raid1 num-devices=2 devices=/dev/sd[ab]6

Obiges ist die originale Ausgangssituation.

Nachdem nun das RAID1 um die dritte Platte erweitert wurde, muss in der mdadm.conf natürlich der Eintrag abgeändert werden, z.B. auf:

ARRAY /dev/md2 level=raid1 num-devices=3 devices=/dev/sd[abc]3

Wer seine Arrays anhand er UUID anspricht, muss da natürlich weniger ändern, aber das eigentliche Problem ist wohl, daß die mdadm.conf in der initrd vom Kernel nicht geupdated wird, selbst wenn man update-initramfs -u -k all aufruft. Dies führt dann dazu, daß der Kernel beim Booten mit der initrd feststellt, daß es einen Konflikt zwischen mdadm.conf und der Information auf dem Array selber kommt und somit das Array nicht gestartet werden kann.

Die Frage ist nun, wie man die aktuelle mdadm.conf in das initrd Image hineinbekommt. Ich vermute, daß es per dpkg-reconfigure mdadm funktionieren könnte, aber da mein RAID5 die nächste Zeit noch am reshapen ist, kann ich das gerade nicht ausprobieren.

Uncategorized