How to Setup Software Raid after the fact
If you ever need to setup Software Raid on a box after you have already installed your Distro you can following the steps below.
Â
Â
# mdadm will ask which MD arrays are needed for the root fs. Go with the default (all)
yum install mdadm initramfs-tools vim
Â
# Add raid1 to /etc/modules
echo "raid1" >> /etc/modules
Â
# Regenerate initrd.img file
mkinitramfs -o /boot/test -r /dev/mapper/pve-root
Â
# Rename old img file (replace .x for whatever kernel version you are using)
mv /boot/initrd.img-2.6.18-2-pve /boot/initrd.img-2.6.18-2-pve.original
Â
# Rename new img file
mv /boot/test /boot/initrd.img-2.6.18-2-pve
Â
# Make sure grub is setup on both hdds
grub-install --no-floppy /dev/sda
grub-install --no-floppy /dev/sdb
Â
# Change UUID for (hd0,0) on /boot/grub/menu.1st if your file has the UUID in it.
# This most likely involves replacing the root UUID=XXXXX line with root hd(0,0)
# nano /boot/grub/menu.1st
Â
# Change UUIDs for proper md0 devices on /etc/fstab if your file has the UUID in it.
# Now do the same thing for the /etc/fstab file.
# Replace the UUID=XXXXXXXXX /boot ext3 defaults 0 1 line with /dev/md0 /boot ext3 defaults 0
# nano /etc/fstab
Â
# Clone the partition table from 1st drive to 2nd
sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Â
# Create md devices with second drive only
mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb2
Â
# Save new mdconf file
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Â
# Get boot device setup
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
umount /mnt/md0
umount /boot; mount /dev/md0 /boot
sfdisk --change-id /dev/sda 1 fd
mdadm --add /dev/md0 /dev/sda1
Â
# Setup data device
pvcreate /dev/md1
vgextend pve /dev/md1
Â
# this step takes a LOOOOONG time
pvmove /dev/sda2 /dev/md1
vgreduce pve /dev/sda2
sfdisk --change-id /dev/sda 2 fd
mdadm --add /dev/md1 /dev/sda2
Â