Software RAID has come a long way. Unless you have some very high-rate, high-volume, I/O workloads with SLAs that will otherwise cost you money, for the most part a software RAID will perform just fine. One of the primary benefits of using software RAID is the portability of your disks/data. If a box on which you have a software RAID dies somehow and at least some (depending on your RAID configuration) of drives survive, you can easily resurrect the RAID on another machine without having a duplicate RAID card on hand.
Following is an example of how to setup a RAID 1 array using mdadm
on Debian. I have two 2TB drives, /dev/sdb
and /dev/sdc
.
Install mdadm
apt-get install mdadm
Create the array
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
Once you create the RAID device, you can check on the mirroring process (Not sure what it is syncing with a blank disk…)
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc[1] sdb[0]
1953382464 blocks super 1.2 [2/2] [UU]
[>....................] resync = 1.0% (20516736/1953382464) finish=190.1min speed=169401K/sec
bitmap: 15/15 pages [60KB], 65536KB chunk
Create a filesystem
mkfs.xfs /dev/md0
Create a mount point and mount the filesystem
mkdir /data
mount /dev/md0 /data
Ensure that the array is reassembled on boot by adding it to /etc/mdadm/mdadm.conf
. We do this by scanning the active array and appending it’s details to the config file.
mdadm --detail --scan /dev/md0 >> /etc/mdadm/mdadm.conf
Upate the initramfs so that the array will be available on boot
update-initramfs -u
Add an entry to /etc/fstab
/dev/md0 /data xfs defaults,nofail,discard 0 0
Do a test reboot and make sure that it is mounted and the data accessible.