In praise of Linux Software Raid
It may interest some of you to know that we in Fedora Infrastructure use Linux Software Raid (mdraid) on all our servers local disks. Here's a nice list of reasons why:
- Portable: If a machine dies, the disks can actually be swapped into any Linux server and be brought up. If you have hardware raid, you need the same controller, by the same company, with the same firmware, which hopefully works the same way on the new different machine. Good luck with that.
- Consistent: Since we use it everywhere we don't need to worry about weird obscure binary only command lines from N raid vendors that we have to figure out each time we need to do anything with the raid.
- Integrated: When a disk fails, we get email/nagios notification. With hardware raid you can get notification, but you have to setup weird binary only junk and hope that it all works, and hope it lets you know before it's too late.
- Great Performance: True it doesn't have dedicated cache or cpu, but host cpus are so performant these days that mdraid just flies.
- Easy to install: The Fedora/RHEL installer is well integrated to making software raid volumes.
- Easy to discover: You can easily see how many disks a server has, if they are all ok and other info from the command line.
- Hot: You can easily hot remove/add disks and migrate raid levels with no downtime. Hardware raid can sometimes do that with it's binary only command line junk, but often you need to take the machine down into a 'raid bios' thing to do it.
- Upgradable: To get new cool features, all you have to do is upgrade your kernel and userspace tools.
- Completely open: Tons and tons of people use mdadm and the code is open. Most hardware raid vendors have something in the upstream Linux kernel, but it's often behind their development or you need to install binary only tools to really maintain it.