0
votes

I would like to setup RAID 0 for my Dell 2900 server. Which one is better, using hardware RAID (using installed Dell PERC 6 controller) or software RAID? The RAID 0 is for database.

8
  • 3
    Despite what I hear Atwood saying on his podcasts; a proper hardware based RAID is going to outperform software solutions. Although, I wouldn't necessarily consider RAID 0 to be the best choice for a database server. May 7, 2009 at 23:07
  • Agree with @BobbyShaftoe - RAID 0 is not the best thing for db performance. Do you need that level of redundancy?
    – squillman
    May 13, 2009 at 1:42
  • 1
    @Bobby: In defense of Jeff I don't think he ever said software raid would offer better performance, he theorized it would be more reliable because it avoided the poorly written firmware on raid controllers.
    – Element
    May 13, 2009 at 4:42
  • 5
    @squillman, what redundancy. RAID0 is striping. If any drive fails you loose everything.
    – Zoredache
    May 13, 2009 at 4:48
  • You do mean a mirror, RAID 1, yes? May 13, 2009 at 15:39

12 Answers 12

9
votes

Hardware RAID is the only way to go, if your pockets allow.

3
  • 1
    Aye. Hardware RAID = good.
    – squillman
    May 13, 2009 at 1:39
  • 5
    yep, but fakeraid (ie BIOS based) is very bad. software raid is quicker and more reliable. HW > SW > Fake.
    – gbjbaanb
    Jun 14, 2009 at 13:39
  • How to tell if fake, is there always going to be a noticeable board for hardware RAID? Additionally dont most motherboards have 'fake' RAID these days, in which case would you be better off with software RAID than that?
    – Paul C
    Apr 19, 2013 at 15:59
7
votes

See my other answer regarding raid to get the concept.

Dell PERC 6 although a real hardware raid is a "cheap" one. You should avoid that one and use software raid instead (if you can). If you end up using it as a hardware raid no worries, it is not that bad. Just do not expect too much from it (e.g. bad performance). There are also binary utilities that can be used to manage the controller from linux. They all suck compared to good hw raid or software raid.

My comment is based on my experince with a 1 or 2 generation older card. It could have been improved since, but I do not think so.

2
  • 2
    Upvote for this. The opinion may upset some people, but a half-cut HW RAID setup is indeed by no means better than some proven SW RAID. Cards with cheap or ageing chipsets can be just as much burden on system resources whilst altogether more unreliable.
    – Dan Carley
    Jun 5, 2009 at 13:32
  • I couldn't agree less. I just had a real nightmare using a Perc controller a couple of years old with new SSDs. It turns out software RAID 10 over hardware RAID 0 for every single disk (JBOD is not supported!) is double as fast as hardware RAID 10. CPU load is below noise level. Sep 26, 2014 at 13:02
6
votes

It depends on what you know and what you buy. Back in the day, I managed FC arrays on Sun servers with Veritas Volume Manager and software RAID. Things worked great and performance was excellent. I had a similar experience with AIX 4 servers a few years later.

Hardware RAID should be faster; but in reality the trashy RAID controllers that you often find negate that, and you'd be better off with a maintainable software RAID and lvm. Mr. Atwood's experience with the IBM ServerRAID 8k isn't an isolated incident. We had an incident where a defective RAID controller firmware forced us to visit over 400 remote locations to perform a manual upgrade.

If you don't know whether your RAID controller is junk or not, test, test, test.

6
votes

This Stackoverflow posting talks about RAID layout for database servers. You should not use RAID-0 as it has no redundancy. RAID-0 is interesting for performance at the expense of everything else; you might use it on a video editing system (for example) but it is not appropriate for databases.

Linux has much better support for software RAID than Windows does. I would almost never recommend software RAID on a windows server. Linux is a different proposition. The software RAID on Linux is quite good and is certainly worth considering. On Linux, a fast CPU might result in better RAID performance than a slower RAID controller, but most SATA or SAS RAID controllers have fairly beefy RISC cores with hardware XOR units. Some even have multi-core CPUs clocked at more than 1GHz.

Most Dell PERCs are rebadged LSI or Adaptec controllers. One point to note is that they can take a battery backed cache, which is a feature that is not supported on software RAID. This gives you extra resilience to certain failure modes.

My suggestion would be to run some benchmarks with bonnie++ or something similar on both H/W and S/W RAID. If either configuration is noticeably faster go with that. However, if the server is currently in use and not causing any problems you may want to stick with your current configuration. The configuration is not likely to make enough of a difference to warrant rebuilding a server that is already in production.

3
  • What parts of Windows Server software raid is not up to par with Linux? May 13, 2009 at 15:40
  • Generally speaking with Windows Server sw raid, people are pointing and clicking to set things up, and that ease of use makes it likely that someone will screw it up. On the Unix platforms, there's usually a good & easy to use command line that can be scripted so that low-level techs can do stuff. May 13, 2009 at 16:30
  • 2
    S/W RAID on Windows suppors a limited range of layouts (no RAID-10 or RAID-50 support as far as I can tell) and is dreadfully slow on RAID-5. May 13, 2009 at 17:00
2
votes

Running a software RAID seems kind of like asking a airline pilot to fly the plane and serve drinks and peanuts to all the passengers at the same time :-)

In my opinion it's always better to use hardware that's dedicated to a specific task, thus I would choose the PERC RAID controller over the software RAID, regardless of the OS you are running.

1
vote

I've had fairly good luck with that PERC card. I always prefer hardware RAID for the piece of mind, and simplicity of it. I've seen too many tragic mistakes with software RAID with a shoddy mdadm command. I only recommend software RAID if you're really comfortable with the commands and such needed to rebuild, expand, and shrink the array.

1
vote

Keep in mind that each vendor implements their hardware raid themselves and keeps the implementation details private, while linux software raid is completely open. Hardware raid may in some cases be better than software raid but how do you determine the quality of a particular hardware raid implementation?

Software raid is also portable in that you can take a disk from one machine and move it to another. That generally doesn't work with hardware raid.

As for the issue of cpu overhead, modern cpus have cycles to burn so I don't worry about that.

I've used both hardware and software raid over the years and have generally been more satisfied with software raid from a reliability and maintenance perspective.

2
  • Don't be so quick to dismiss CPU requirements. It's true that some boxes have spare CPU cycles, but there are also many cases where a box is running a CPU bound application and every cycle counts. May 28, 2009 at 15:38
  • if every cycle counts, those boxes are not writing to disk all the time. My linux web server uses less than 1% CPU for its software RAID1.
    – gbjbaanb
    Jun 14, 2009 at 13:44
1
vote

There's a good discussion about this on Jeremy Zawodny's blog. This convinced me that there's something to be said about software RAID.

0
votes

Never use software RAID if your core/CPU 0 or 1 is even vaguely busy as it will add a lot of load to those cores. If you can always use hardware RAID, UNLESS you have one of those not-very-good semi-hardware/semi-software-based cards that are worse than having nothing. I partricularly like the HP/Compaq SmartArray cards, they're rock-solid, fast and I'm pretty sure they'll work in your Dell but you might have to route the cables in an odd way due to chassis difference.

0
votes

Just as a datapoint, I have been running an LSI MegaRAID SATA 300 card with a RAID 5 configuration on Centos 5, and have been very happy. Have had one incident of a drive failure, and was able to rebuild the >1TB array in just a couple of hours using the megarc command line utility - with no down time. The performance has been great so far. I have had success in the past using software RAID in a RAID0 configuration, but drivers at installation time were always a bit of a pain to deal with.

0
votes

[Yes, I know I'm responding to a nearly five-year-old post; but I can't bear to let the misinformation posted by "XTZ" stand.]

Sorry, "XTZ", but Martijn Heemels has it exactly right: "Software RAID" and "fakeRAID" are two ENTIRELY different things. Further, I can confirm from first-hand experience that you can indeed migrate a (properly implemented -- i.e., Linux) Software RAID array into a completely different machine, and have it recognized automagically. Take another five minutes to tweak your mdadm.conf and fstab files and create a mount point for the new "drive", reboot, and you are DONE, with all data intact. I recently proved this after my main file server took a dump due to a sudden failure somewhere on the motherboard (probably a blown cap, but I've yet to do the full post-mortem). Once I figured out that the problem as NOT originating in the RAID array, I set about rescueing my data. So as a temporary fix (I'm shopping for a new "real" server as we speak), I scrounged up a removed-from service desktop system with a case big enough to support all the drives I needed to mount, did a fresh Debian install on the boot drive, transferred the RAID drives and an add-in (el-cheapo non-RAID -- well, it can do "fakeRAID", but that "feature" is disabled) four-port SATA adapter, and... Voila! More than a Terabyte of data was back online, and my heart rate could start returning to normal. Notably, the replacement system could hardly have been more different from the original one, having a (very) different motherboard, based on an entirely different main (Northbridge/Southbridge) chipset, an AMD Athlon XP CPU instead of an Intel P4, completely different integrated peripheral chipsets, and so on. So if migrating the drives worked in that situation, it should work with almost any other combination of old/new hardware.

-2
votes

Software raid=fake. Go ahead and try to throw a disk in another raid after it and see if you can recover anything.

Since your planning on a Raid0 I do hope you have a very consistent backup and recovery solution!

Hardware only, if your not spending over 200 for a Raid card, its most likely FAKE RAID as well!(generalization i know)

http://linux-ata.org/faq-sata-raid.html

I love your blog btw.

1
  • 1
    I think you're mistaken about the recovery of software raid. Since it's not bound to specific hardware and firmware, it's usually much easier to recover on another machine than hardware raid. My experiences are limited to linux software raid, which works very well and can even be recovered from a random linux live-cd. It seems you're throwing software raid and 'fakeraid' onto the same heap. Yes, they're related but the advantage real software raid has over fakeraid is that no specific (crappy) hardware is required, hence less points of failure. Sep 3, 2009 at 22:22