I have an Ubuntu (9.10) machine with 4 SATA disks. Each disk is partitioned identically, with the first few gigabytes set aside for a RAID 1 array (
/dev/md0) for the boot volume, and the remainder set aside for RAID 5 (
Recently, I upgraded to larger drives by repeatedly failing and removing a drive, replacing it with the larger one, partitioning it, and rebuilding onto it, per the instructions here. This all completed successfully.
However, the first time I reboot after upgrading, Ubuntu kicks me out to an initfs shell, claiming it can't find the root device. On checking
/proc/mdstat, I discover that it's somehow assembled the entire drives (
/dev/sdb etc) into a single RAID 5 volume under
/dev/md1, instead of assembling the partitions into their own arrays. Doing
mdadm --stop /dev/md1; mdadm --assemble --scan fixes it, and both volumes are assembled correctly (and mount without issues).
What's going wrong, and how can I fix it?