Raid10 array not assembled at boot, all disks are marked as spare
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Invalid
|
Undecided
|
Unassigned | ||
Release Notes for Ubuntu |
Fix Released
|
Undecided
|
Unassigned | ||
mdadm (Ubuntu) |
Fix Released
|
High
|
Dustin Kirkland | ||
Jaunty |
Fix Released
|
High
|
Dustin Kirkland |
Bug Description
I have just installed jaunty with a separate boot partition and / on a raid10 array (/dev/md1).
However when I boot, I'm dropped in a initramfs shell and I have to manually assemble the array as all disks are marked as spare. There are also segfaults in dmesg. mdadm[1370]: segfault at 0 ip 000000000040839b sp 00007fffb2af2620 error 4 in mdadm[400000+2a000]
The segfault is easily reproducible on jaunty without needing to do a full install on a raid10 setup; steps to do so:
1) create 4 empty loopback disks:
for i in $(seq 1 4) ; do
dd if=/dev/zero of=disk${i} bs=1024 count=512000
sudo losetup /dev/loop${i} disk${i}
done
2) create raid10 array
sudo mdadm -C /dev/md0 -l raid10 -n 4 /dev/loop{1,2,3,4}
3) stop the array:
sudo mdadm --stop /dev/md0
4) incrementally assemble the first loop device; this is how udev invokes mdadm in /lib/udev/
sudo mdadm --incremental /dev/loop1
et voila, segv.
Changed in mdadm (Ubuntu): | |
status: | New → Confirmed |
tags: | added: regression-potential |
I have exactly the same problem. The only quirk is that it is a three disk raid 10. The same disks (750, 500 and 250G) also hold a raid 0 array which works absolutely fine.
The /dev/mdadm/ mdadm.conf file had an incorrect UUID after I'd had to rebuild the arrays. I have fixed this using mdadm --detail /dev/md0, to get the correct UUID, but others beware.
N.b. re-assembling, and re-creating the array (with assume clean) left all my data intact, and I could mount the ext4 LVM volumes.
here's a snip of my dmesg
[ 16.345255] md: bind<sda1>
[ 16.346671] mdadm[2286]: segfault at 0 ip 000000000040839b sp 00007fff6106a5d0 error 4 in mdadm[400000+2a000]
[ 16.384062] md: bind<sdb1>
[ 16.391313] mdadm[2305]: segfault at 0 ip 000000000040839b sp 00007fffa55e70d0 error 4 in mdadm[400000+2a000]
[ 16.432732] md: bind<sdc1>
[ 16.440382] mdadm[2306]: segfault at 0 ip 000000000040839b sp 00007fff1feb49a0 error 4 in mdadm[400000+2a000]
let me know how to help debug this.