I recently switched wumple.com’s boot partition to a RAID 1 array so I will be able to boot up even if the disk that had the original /boot partition failed. I generally followed the directions (with modifications for my setup and Fedora, and skipping unneeded parts) from the HOWTO Install on Software RAID (Gentoo).
At the end, I needed to grow my RAID 1 array from 2 devices to 3 so I could add the original /boot partition to the array.
It was much easier than I expected. Here is what I did:
- Set up the partitions on the new disk as usual for RAID (including partition type fd, "Linux raid autodetect"
- Expand the number of active devices in the array (md1 from 2 to 3 drives in my case): "/sbin/mdadm /dev/md1 –grow -n 3"
- Add the new device (in my case /dev/sdc1) to the array: "/sbin/mdadm /dev/md1 –add /dev/sdc1"
- Watch the array rebuild onto the new device: "watch -n 1 cat /proc/mdstat"
- Followed the steps in the HOWTO to put grub back on the device
For some reason, in /etc/fstab I had to change /boot from "LABEL=/boot" to "/dev/md1" in /etc/fstab so the system could mount /boot during startup (and I know I gave the filesystem the label of /boot on creation). Otherwise the failure to mount /boot when all local filesystems are mounted would stop the boot process.