Raid ?

ron

Member
OK, all you whiz-kid Syd Admin types ... I have a challenging question. :D

We use software RAID 1+0 - spread the DB extents over 10 striped discs - and have AI, BI, OS and "other stuff" all on their own separate discs. Performance is pretty good.

We are heading into a round of hardware upgrades. I was considering using Ultra320 SCSI JBOD arrays and software RAID. Effectively just a faster version of what we already have.

When I see the vendor pricing, however, I have had a rethink. I can get a nice, new, fast SAS array with an FC host connection for nearly 15% less - even with 15K RPM discs instead of 10K RPM. Obviously a much better deal.

But - even with faster discs and a discount - it comes unconditionally with a hardware array controller.

My opinion is that since we will configure RAID in software, the array controller is of no particular advantage. But I have no objection to it - since it's included.

However - and here comes the point at issue - I'm being pressured to upgrade to an array with two controllers "to get even better performance". As I said, I don't think we will gain anything much at all from the first controller - so I'm certain that we'll get nothing whatsoever from the second one. Does anyone have an opinion on this?

(BTW: I quite specifically do not want to implement RAID in hardware, since that will lessen our resilience - even though I am sure it would improve performance a bit.)

Ron.
 

TomBascom

Curmudgeon
I think that you are missing the boat.

If at all possible you should always do RAID in the hardware. It is much more effective from a performance POV.

I'm not sure why you say that it is a resilience problem. Because the controller could fail? It can do that anyway -- that risk isn't reduced by not implementing RAID in the hardware. Modern disk arrays have multiple redundant paths to the host. When properly implemented losing a controller won't result in an outage any more than losing a disk will. (I would guess that this is the real reason to get a second controller... you may "get even better performance" but you should also get an alternate path between the host and the disks.)
 

ron

Member
Hi Tom.

I would not dispute that implementing hardware RAID has performance advantages over software RAID. It allows the disc sector mapping to be done in the array, which would lessen host CPU loading a little bit. I can't see that with reading it would make any appreciable difference one way or the other. It's actually possible that software RAID might win a little because it will alternate between two separate paths. With writes, of course, hardware RAID gets a reasonably significant win: data is only sent from the host to array once.

However, all discs these days have cache to facilitate write-through updates - so the array controller and its cache have - as far as I can see - just a small advantage.

Of course, if we were using RAID-5, then hardware RAID would win by a relatively big margin. But we don't - we use RAID 1+0.

If we implement RAID in hardware then the HBA and array controller are single points that can fail. We can circumvent this by having a second (redundant) array controller - connected to a second HBA - but at a rather high cost.

Or - we can use software RAID and use two totally separate arrays and HBAs.

My intention is to use two 12 x disc arrays where ten of the discs hold the DB. That's easy to do with software RAID. How can I do that with hardware RAID? The maximum number of discs I can concatenate within one array is 6 - without having an expansion tray - which is additional expense.

I'm not convinced that when using RAID 1+0 that the performance hit from implementing RAID in software is much at all - and thus not convinced that it is worth the extra cost.

I would, of course, be very, very, interested in benchmarks details relating to this. But although I have searched, I can find nothing that seems relevant.

Sceptic, aren't I?? :)
 

TomBascom

Curmudgeon
FWIW I don't strongly disagree with much of what you're saying. I do think though that you are fighting the tide for very little (if any) benefit, making a lot more work for yourself in the process and that the resulting system is less resilient not more so.

With "SW" RAID the cpu cycles to implement the RAID come from the same host that is running the database. Ultimately that decreases your potential throughput.

Obviously the vocabulary differs from brand to brand and each OS has different ways of saying the same thing too but in most disk arrays there are ways to set up the disks in "raid groups" (or some similar concept). You can then present LUNS from multiple RAID groups to the host in order to form file systems. It is easy to draw LUNS from as many spindles as you'd like. If you have 12 disks but are limited to 6 per RAID group then form 2 RAID groups...

A second controller really shouldn't be a very great expense in the scheme of things.

A second disk array could be seen as expensive. Do you have a second server? People who are as concerned about failures as you seem to be generally have a production server and a fail-over server. They usually do the same with their disk arrays. True this tends to be a lot of money at first glance. But when it is put in business terms vs the cost of outages it often turns out to be quite modest.

Modern disk arrays are very reliable. The manufacturers have really gone to amazing lengths to make them that way. When you roll your own RAID I don't believe that you are going to get as good a result. And it's going to take you a lot more work to maintain a homegrown setup.

Beyond that I guess you'd have to benchmark and weigh the costs and benefits. You're right -- I know of no specific studies of the topic that you can refer to. So you would have to do your own. (I'd be happy to pitch in and help!)
 

ron

Member
Thank you, as always, Tom, for your consideration and thoughtful input!

I have asked this question widely - including to a few Sys Admins who manage large systems.

My conclusion is that (for RAID 1+0) - there is almost no difference in performance. Each has a few advantages and disadvantages as far as performance goes.

So, I've decided to opt for two totally separate arrays and do the RAID in software. I know that some will criticise me - but I know I'll sleep easier. :sleepy:
 
Top