Tuesday, June 10, 2008

Linux Raid 5 Example Using mdadm(8)

mdadm(8) - manage MD devices aka Linux Software RAID

RAID 5 filesystem (~940GB of effective storage, 14 disks, 2 reserves, ~73GB drives)

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=14 --spare-devices=2 --chunk=128 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1 /dev/sdp1

mke2fs -j -b 4096 -R stride=32 /dev/md0

fstab line:
/dev/md0 /raid5 ext3 rw 0 0

After reboot, we had to re-assemble by:

mdadm --assemble -f /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1 /dev/sdp1

# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sda1[0] sdo1[14] sdp1[15] sdn1[13] sdm1[12] sdl1[11] sdk1[10] sdj1[9] sdi1[8] sdh1[7] sdg1[6] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1]
931864960 blocks level 5, 128k chunk, algorithm 2 [14/14] [UUUUUUUUUUUUUU]
unused devices:

Monitor example:

mdadm --monitor -m someone@somewhere.com -f /dev/md0

Thanks co-worker (you know who you are)

Note: Please see the November 2008 issue of Linux Journal (pg. 68-72) for an excellent article on Linux SW RAID using mdadm.