Skip to content

On software vs. hardware RAID

Christer Edwards wonders how to compare software and hardware RAID.

I was pleasanlty surprised to read the comments being so positive on software RAID, especially on performance.

Let me repeat what I posted:

Over all, I prefer software RAID (on Linux that is) because
- more control
- easy to migrate disks
- no problems with replacing controllers
- no controllers which might ruin your whole array when replacing a disk (happened to me on a Dell box)
- most hosts have enough cpu power to handle the average loads I need in most of my environments

Downside of software raid:
- I wouldn’t use it when your apss need big iron (e.g. heavily used and optimised database environment)
- Bad support from most installers to easily boot from second mirror drive when the first failed; also not so easy to configure Grub to handle all possible failures (e.g. bad FS vs. bad disk)

What are your opinions on this?

One Comment

  1. Frank wrote:

    Serge,

    We prefer hardware raid. But first, let’s broaden the question. To me, there are actually 3 kinds of RAID.

    The first is plain software raid ("md" on linux). This kind of raid is actually very very very good "feature" wise. The biggest downside is that it is all in software, and the processing power comes from your regular CPU, hence taking away processing time from your regular applications. The other downside is that (at least with PATA/SATA drives on Linux), there is no decent hotswapping support. This means that your system will have to go down if a disk breaks. Depending on what you use the server for, that might be an issue.

    The second type of RAID is "real" hardware RAID. You stick a dedicated raid-controller (with it’s own little bios, it’s own CPU etc) in your system and attach your disks to that controller. If you buy a decent brand (Areca of Intel/LSI for instance, stay away from 3ware or the Dell rebranded shit), this will give you sleepy nights. The CPU is more than powerfull enough (up to 800Mhz RISC cpu’s) to do two separate RAID-6 sets on 15 disks (yes, we have setups like that in use). As it has a real BIOS, it will only show the raid-sets to grub, so no issues with booting or other grub-related problems. Furthermore, most controllers allow you to "roam" and "migrate" disks, even to other controllers, even to other versions of the same controller (it’s possible to migrate from a 4-port PCI-X areca to a 16-port PCI-e areca while shuffling all the disks in a different order without any problem). Of course hot-swap is not a problem with these. They also support raid-level migration (eg from 1 to 5 or from 5 to 6) which can be an issue with software RAID. We usually don’t buy servers without an Areca controller anymore except for small dedicated front-end webservers or LB’s.

    The third kind is the only I don’t trust and will never use unless you point a gun at my head. It’s what I call "BIOS-raid" or "Motherboard-RAID" and is what most (server-grade) motherboards have on board. It’s actually a disguised software raid: the logic is in the driver you install in your OS, and as there is no separate CPU, all calculations are done by the main CPU. I really don’t see advantage in this kind of raid.

    So in short, this is my preference list: "Real" hardware raid > OS-supported software raid >> "bios" hardware raid

    Monday, June 16, 2008 at 10:14 | Permalink

One Trackback/Pingback

  1. raid 0 vs raid 5 performance on Friday, June 20, 2008 at 06:01

    [...] especially on performance. Let me repeat what I posted: Over all, I prefer software raid on Linuxhttp://www.vanginderachter.be/2008/on-software-vs-hardware-raid/Custom Car Company Raided in Texas: Eleanor??s Reputation TaintedUnique Performance, maker of the [...]

Analytics Plugin created by Web Hosting