The advantages of open source software RAID
In light of a recent entry, I feel like singing the praises of software RAID, especially open source software RAID. For the moment, let's set aside the performance and cost issues of software RAID versus hardware RAID, because it's honestly not what I really care most about.
Software RAID in general has two major advantages:
- much more of what is going on is exposed, instead of being locked
away inside a black box. For example, you are guaranteed to see
the raw disk status and error messages if something starts to go
wrong, and often you can directly inspect system state with the
tools of your choice.
- it is not tied to having specific hardware. If you can bring your OS up on something that you can plug your disks into, you can get at your data again.
The alternate phrasing of the second advantage is that hardware RAID is portable across operating systems while software RAID is portable across hardware. In practice, the second is vastly more important to most people than the former.
The further advantage of open source software RAID is that you can actually look into things to find out what's going on, and you may be able to do something about any problems that you run into. (In short, it's even more open to inspection than ordinary software RAID.)
In theory, it's possible for hardware RAID to be almost as open and as inspectable as software RAID. In practice, I don't think I've ever seen hardware RAID come close; the degree of openness required seems to be foreign to hardware RAID companies, who often barely document the interface to their cards much less things like RAID storage formats.
All of this matters because every RAID implementation has historically had bugs; the only question is when you find out about them and how much you can do about it. Hardware RAID and closed software RAID is saying 'trust us, we got it right this time and all of our stuff just works'. The positive side of my Linux software RAID situation is that if I want to, I actually can instrument the kernel, get full reports about everything going on, and so on, which is a lot more than I'd get with hardware RAID.