[CentOS] mdadm help

Sun Dec 20 18:03:50 UTC 2009
James Bensley <jwbensley at gmail.com>

Hey List,

So I had a 4 drive software RAID 5 set up consisting of /dev/sdb1,
/dev/sdc1, /dev/sdd1 and /dev/sde1. I reinstalled my OS and after the
reinstall I made the mistake of re-assembling the array incorrectly by
typing "sudo mdadm --assemble /dev/md0 /dev/sdb /dev/sdc /dev/sdd
/dev/sde" in a moment of stupidity.

Obviously this didn't work and the array wouldn't mount and after a
short period I realised my mistake and re-issuing the same command but
specifying each drive partition (sdb1, sdc1 etc) instead of the drives
(sdb, sdc etc) meant the raid would assembled and mount just dandy. My
problem is that when I issue "sudo mdadm -E --scan" I get the
following results:

ARRAY /dev/md0 level=raid5 num-devices=4
ARRAY /dev/md0 level=raid5 num-devices=4

These entries aren't in mdadm.conf but mdadm keeps picking up my first
mistake and tries to make a raid out of my four drives and not the
four partitions (the bottom line is the four UUIDs for the partitions
on each drive, the top line is the four UUID for the drives). So now
every time I restart the machine, the array isn't mounted because
mdadm (I guess) doesn't know what to do as it has two sets of devices
defined as /dev/md0. I can issues "sudo mdadm --stop /dev/md0" and
"sudo mdadm --remove /dev/md0" and then re-assemble specifying the
four partitions and carry on as normal but I can't work out how to
tell mdadm to "forget" about the the top line of those results, if
that makes any sence? I have removed the entries from fstab and from
mdadm.conf so when I boot up the machine doesn't automatically try and
mount the incorrect device but I still can't remove the top line from
the results of "mdadm -E --scan" no matter what I do.

I have rebooted and issued the command "sudo mdadm --assemble /dev/md1
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1" and I can mount my array as
normal but I was hoping that now there wouldn't be a clash in the
results of "sudo mdadm -E --scan" (which there isn't, the second lines
says "/dev/md1"), meaning that after a reboot the array would mount
properly but that isn't the case. It is still trying to assemble the
top line.

Does anyone have any idea how I can rectify this?

Thanks for reading.
James ;)

Ted Turner  - "Sports is like a war without the killing." -