mdadm puts wrong devices in array on boot Correct mdadm.conf file

You probably need to rebuild your initrd so that it has the correct mdadm.conf file in it because the boot process has to use that version until it can get the root filesystem mounted.

What you need to do is something like this:

mkinitrd /boot/initrd-<kernel-version>.img <kernel-version>

I'm assuming here that the CentOS version you're using is still using mkinitrd - if it has switched to dracut then you will want:

dracut /boot/initramfs-<kernel-version>.img <kernel-version>

In either case you will need to rename the old file first before you can build the new one.


mdadm should be able to asseble a md device. It seems as it is seeing some wrong drives:

md127 : inactive sda[2] sdb[3]

That looks like it's taking the whole sda and sdb disks for the raid array, and not the partitions sda1 sdb1 sdc1 sdd1.

What does blkid show? what does mdadm -E /dev/sda or mdadm -E /dev/sdb show?

Maybe there is something strange going on with the superblocks.

As TomH said you should also try to rebuild initrd.