How do the
md devices get assembled at bootup in Ubuntu? Is
/etc/mdadm/mdadm.conf truly the relevant factor here?
mdadm.conf is sound and I checked that while I was in the rescue CD environment. When running
mdadm -A --scan it finds and assigns the device names as desired. The
AUTO -all to take out all automatism from assembling the arrays.
What I need to do is to be able to auto-assemble the
md devices as outlined in
mdadm.conf at boot time or that when assembling it honors the
super-minor value for the 0.9 array and the
<hostname>:<super-minor>) for the 1.2 arrays and does the right thing without
mdadm.conf. What puzzle piece am I missing?
I have the following problem. There are two
md devices with RAID1 (
md1) and one with RAID6 (
md2). I am referring to them by the desired device names.
md0 has meta-data version 0.9, the other two have version 1.2.
md0 maps to
/ and the other two are not relevant for booting.
The boot drive is GPT partitioned. There is a glue "BIOS Boot Partition" (
sda1) on it.
grub-install --no-floppy /dev/sda reports success.
md0 == sda3 + sdb3
md1 == sda2 + sdb2
md2 == sdc + sdd + sde + sdf + sdg + sdh
sdb1are "BIOS Boot Partition" each
GRUB2 is happy with the
/boot/grub/devicemap I gave it and I added
ext2 to the modules to preload in GRUB2.
Since I still had my root volume in the rescue environment, I simply mounted everything and then
chrooted into it:
mkdir /target mount /dev/md0 /target mount -o bind /dev /target/dev mount -o bind /dev/pts /target/dev/pts mount -o bind /sys /target/sys mount -o bind /proc /target/proc chroot /target /bin/bash
From there I reset the
md0 (with meta-data 0.9) and the
md2. I also verified that it worked using
mdadm --detail ....
Other than that I adjusted
update-grub and also
grub-install --no-floppy /dev/sda and
grub-install --no-floppy /dev/sdb.
After that, when booting, I am always dropped into the
initramfs rescue shell, however, because the root file system could not be mounted. The reason, after checking
/proc/mdstat appears to be that the respective
md device doesn't even get assembled and run. Not to mention that the other two (meta-data version 1.2) drives receive a device number somewhere in the 125..127 range.
Note: GRUB2 comes up from the boot disk. So at the very least it has been embedded correctly. The issue is the transition from the initial
rootfs to the proper root file system.