20120617

Be Careful With mdadm.conf

I ran into a silly problem with booting my RAID-6.  It seems mdadm inside initrd would not assemble my array on reboot!  Every time the system rebooted, I was dumped after a few seconds into an initrd rescue prompt, and left to my own /dev/*.  Here, again and again, I could manually assemble the array, but that was getting annoying and was certainly something I couldn't do remotely.

During one boot, I tried an mdadm -v --assemble --scan --run, and discovered it was scanning sda, sdb, sdc, etc, but no partitions.

I looked on Google for "initrd not assembling array" and "grub2 not assembling array," to no avail.  I tried updating the initrd with the provided script (update-initramfs).  Finally I happened upon someone mentioning the mdadm.conf file inside initrd.

I peeked in /etc/mdadm, and sure enough, there was a copy of my modified mdadm.conf.  It contained the change I had made: to scan only the five drives of my RAID-6, since the other drives I had in the system at the time were giving me hassles.  Unfortunately, the statement I concocted specified no partitions; my RAID was entirely on partitions.  Entirely my fault. :'-(

The good news is that, once found, it's an easy fix.  Get the system to boot again, reconfigure mdadm.conf, and then perform an update-initramfs.  The system now boots perfectly!

No comments:

Post a Comment