Solved

RAID: Which is better? RAID 1+0 or RAID 5?

Posted on 2006-10-19
27
728 Views
Last Modified: 2013-11-14
I will be using an HP Smart Array E200i/128 BBWC Controller with hot-plug SATA drives.  I am limited to 6 drives in the cage.  I have a choice between:

A) 6 drives in RAID 1+0 plus 1 drive as an offline spare (no room for the drive in the cage)
B) 5 drives in RAID 5 plus 1 drive as an online spare

The 2 most important things are performance and reliability / fault tolerance.  Which would be best?

Additional notes...
each drive will be a 250GB SATA drive (HP brand)
I'm assuming the RAID controller above would be fine for either A or B (is this an incorrect assumption?)

Thanks in advance!
0
Comment
Question by:stev0931
  • 11
  • 9
  • 6
  • +1
27 Comments
 
LVL 7

Assisted Solution

by:imacgouf
imacgouf earned 25 total points
ID: 17771253
Check out this great article
Build a Cheap and Fast RAID 5 NAS
http://www.tomsnetworking.com/2006/08/01/cheap_fast_diy_raid_5_nas/

Raid Levels information explained and advice
http://www.storagesearch.com/tandberg-raidn-art.html
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17771604
Read performance should be slightly better with the RAID 5, since the stripe will have 4 drives (plus parity), rather than the 3 drive stripe in the RAID 1+0 configuration.   Write performance will probably be slightly better with the 0+1, but it will be close.

Fault tolerance is slightly better with the 1+0, since more than one drive can fail without data loss as long as the RIGHT drive fails :-)   [in theory you could have 3 drive failures ... as long as they were the right 3 drives]   But that is offset by the hot spare of the RAID-5 configuration => in my view a much better configuration than an off-line spare.

Bottom line:  I'd go with the RAID 5 => 1/3rd more capacity; slightly better read performance; and the advantage of a hot spare.
0
 

Author Comment

by:stev0931
ID: 17771741
This helps a lot.  I was leaning towards the RAID 5 for the increased capacity and the ability to put in a hot spare, but I heard some people talk about the parity calculations being inefficient and slowing performance for write operations.  It sounds like this isn't actually an issue then, right?
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17771848
With a hardware controller it's not a real issue --> the parity calculations are done by specialized hardware in real time.   With software RAID 5 the parity calculations definitely slow things down ... but that's not the case here.
0
 
LVL 55

Assisted Solution

by:andyalder
andyalder earned 175 total points
ID: 17773224
>Read performance should be slightly better with the RAID 5, since the stripe will have 4 drives (plus parity), rather than the 3 drive stripe in the RAID 1+0 configuration.

HP RAID controllers read from either disk in a mirror so that's wrong. There will be 6 drives available for read in in the RAID 1+0 case and only 4 available in the RAID 5 plus hotspare case.
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17773894
"... There will be 6 drives available for read in in the RAID 1+0 case and only 4 available in the RAID 5 plus hotspare case. " ==> Not true !   There are 6 drives, but they consist of 3 identical pairs ... so there are 3 "drives"  (each consisting of a mirrored pair) in the RAID 0 stripe.   The RAID 5 has 4 drives in the stripe (plus the parity drive).   The write performance will be slightly better with the RAID 5.

Think of is simplisticly:  If both arrays are transferring data, then during one rotation of all of the drives, the RAID 1+0 can read 3 "platters worth" of data; the RAID 5 can read 4 "platters worth".
0
 

Author Comment

by:stev0931
ID: 17774073
It sounds then like going with RAID 5 would yield both better performance AND better fault tolerance (because of the online spare), so it looks like that's the way I'll go for the RAID level.  Thanks for your help on this!

What do you think of the RAID controller?  Will I have any issues using an HP Smart Array E200i/128 BBWC Controller for what I'm doing?  (it comes with the ML350 G5)
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17774243
The controller looks fine.   Although it's the bottom-of-the-line in the HP Smart Array controllers, with the 128BBWC option it should work just fine ... and uses the same management software as all of the Smart Array controllers.

I would not say that RAID 5 has "better" fault tolerance => it's more accurate to say it has a much better "recovery from at-risk" because of the online spare.   Remember that the 1+0 (since it has 3 redundant drives) can actually lose as many as 3 drives without losing data [but of course it's very unlikely that the "right" 3 drives would fail => I would, as I said earlier, rather get out of the "at risk" situation quicker].
0
 
LVL 55

Assisted Solution

by:andyalder
andyalder earned 175 total points
ID: 17774455
Gary, the read i/o requests are load balanced between all disks in a RAID 1+0 array on a Proliant Smart Array controller.

Who's the Master ASE in StorageWorks here, you or me?
0
 

Author Comment

by:stev0931
ID: 17774688
Now that you mention it, it does seem like your performance would look like:

                        READ               WRITE
RAID 1+0              6                     3
RAID 5                 4                      4

Does this look right?
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17774704
You can balance the reads all you want ... but the DATA is still only striped across 3 disks, so even if all the drives had perfect synchronization one "rotation" of the logical "disk" can only get 3 cylinders worth of data in one rotation.   This is not a 6-disk RAID-0 array => it's effectively a 3-disk RAID-0 array with some possibility of slight improvement because the mirrored pairs that constitute the array MIGHT gain some access time because of load balancing.    The alternative RAID 5 has 4 disks in the stripe => this doesn't help any with access time, but definitely provides a higher transfer rate (thus a slightly better read performance).
0
 

Author Comment

by:stev0931
ID: 17774783
I think I understand what you're saying...

In RAID 1+0, we have: (S=stripe)
S1       S2      S3
S1       S2      S3

So, we read across S1, S2, and S3 for 3 disks.

In RAID 5, we have:
S1      S2       S3       S4       PARITY

So, we read across S1, S2, S3, and S4 for 4 disks.  And because S1 in the 1+0 can't be read faster than S1 in the 5, the RAID 5 would yield slightly better read performance.  The only advantage of having the duplicate S1 in the 1+0 is that, if there is a seperate read request, it may be able to happen on the duplicate S1 at the same time, so we may gain a little there (the load balancing you referred to)...  Is this correct?
0
 
LVL 55

Assisted Solution

by:andyalder
andyalder earned 175 total points
ID: 17774878
If there are 60 read I/0 requests then 10 will come from each drive in RAID 1+0 on a Smart Array controller, the same 60 read I/O requests would need 15 I/O requests per drive in your 5 drive RAID 5 array.

Sorry about the long URL, download the HP Smart Array Controller technology whitepaper. This doesn't necessarily apply to other makes of RAID controller of course.


 http://h20000.www2.hp.com/bizsupport/TechSupport/DocumentIndex.jsp?contentType=SupportManual&lang=en&cc=us&docIndexId=179111&taskId=101&prodTypeId=329290&prodSeriesId=1157688
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17775128
RAID 1 load balancing can indeed provide better read performance (by accessing the mirrored drives independently), but it's not clear whether this is used in a 1+0 stripe situation [the HP whitepaper only mentions load balancing in the RAID 1 case -> NOT in the 1+0 case (see Page 11)].    In a 0+1 array (which the controller does not support) it would be easy to do load balancing for the "1" part of the array; but in a 1+0 array, where the stripe components are RAID 1 mirrors, it's not quite so simple (and doesn't appear to be implemented).


0
 

Author Comment

by:stev0931
ID: 17775263
I just read through the white paper.  My understanding of the performance now is:

                          Min Disks / Read     Max Disks / Read      Min Disks / Write     Max Disks / Write
RAID 1+0                        3                          6                             3                          3
RAID 5                            4                          4                             4                          4

Is this correct?  What do each of you suggest for the RAID level and why?  Since the application may matter, the primary tasks of this system will be SQL Server and IIS.
0
 

Author Comment

by:stev0931
ID: 17775271
Forgot to mention in my last post: thanks for all the discussion on this - it's really helping me to understand this better!
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17775605
As I noted earlier, the write performance will be better with the 0+1 array; but the read performance will be somewhat better with RAID 5 (although both arrays will be very good).   It's not at all clear that the controller can load balance with a 1+0 array => many controllers do this with RAID 1 (a relatively simple task); but with a 1+0 array the RAID 0 stripe consists of several mirrored "disks" which are all involved in the stripe.   As I noted above, if the array was 0+1 load balancing would be easy (since the two stripes would be independent -> it would be just like load balancing a RAID 1 array).   Consequently, I don't think the Max Disks/Read in the 1+0 case is 6 ==> it's almost certainly just 3.

Note also that for every write the RAID 1+0 writes to 6 disks, whereas the RAID 5 writes to 5.   The RAID 5 is still slower, however, because it has to compute and then write the parity disk after it's written to the 4 data disks.

The bottom line is pretty simple:  If most usage is reading data, the RAID 5 array will be slightly faster and has the advantage of larger capacity and an online spare.   If you're doing a lot of writes, the write speed advantage of the RAID 1+0 may make this a better choice.
0
 
LVL 55

Accepted Solution

by:
andyalder earned 175 total points
ID: 17775793
Load balancing works with RAID 1+0 as well as RAID 1 since RAID 1+0 creates several RAID 1s and then stripes them. I know this for a fact Gary since I have been trained by Compaq and then by HP and they always mention this oni the courses. Attending training was mandatory in the Compaq days, you couldn't just do the exam.

RAID 1+0 will be faster for both read and write. You won't have the luxury of a hot spare of course so perhaps in your particular instance RAID 5 plus spare is more reliable.

For the write performance there are 4 physical I/Os per logical I/O, it can't write 4 data disks in parallel and then write the parity since that is patented by (I think) EMC. Of course the wqrite cache goes a long way to offset this hit. RAID 10 or RAID 1 the write hit is just 2 phtsical I/Os per logical I/O. There's RAID 6 (RAID ADG) with double parity but that controller doesn't do it.
0
 
LVL 70

Assisted Solution

by:garycase
garycase earned 300 total points
ID: 17775942
No question about write performance ... RAID 5 arrays have a clear penalty there because of the added I/O cycles (which, as you noted, can be mitigated a lot with write cache).   But I'm definitely skeptical about whether the load balancing works in the 1+0 case ... wouldn't be the first time instructors had a wrong understanding of the technology :-)   And even if it does ... the load balancing will help overall throughput (since you'll have simultaneous reads), but individual transfers will still be slower than in the RAID 5 case (simple fact:  more drives in a stripe; the faster the transfers).
0
 

Author Comment

by:stev0931
ID: 17776203
I've come up with a new idea - what do you think of option C?

A) 6 drives in RAID 1+0 plus 1 drive as an offline spare (no room for the drive in the cage)
B) 5 drives in RAID 5 plus 1 drive as an online spare
C) 2 drives in RAID 1 for the OS and 3 drives in RAID 5 for the db and IIS with an online spare
0
 
LVL 55

Assisted Solution

by:andyalder
andyalder earned 175 total points
ID: 17776431
Gary, I'm not sure what you mean by an individual transfer, that will be the same under any circumstance since only one disk is required to perform a single read I/O. If you mean single file transfer then the OS gives the the disk controller driver requests for lots of logical blocks all at the same time and then waits for the data to come back in block by block.

C) is quite popular stev0931, there's also D) buy the SAS version of the machine (ML350?) and then you get 8 * 2.5" disk slots. Costs more but 3 years warranty on SAS disks and only 1 years on HP brand SATAs.
0
 

Author Comment

by:stev0931
ID: 17776807
andyalder,
If you're sure about the 1+0 load balancing, I think that would be the best way to go - since it gets optimal performance and I just did the calculations and the redundancy I have without the online spare is high enough that I'm not concerned...
0
 

Author Comment

by:stev0931
ID: 17778227
Thanks again for the help!
0
 
LVL 55

Expert Comment

by:andyalder
ID: 17779582
I haven't tested this particular controller yet, I've tested some of the older ones and seen faster read performance with 1+0 against 5 but there's really no 100% read test except with performance tools since even if you simply read a file the the access date gets modified. You're in the ideal position to check it out during your migration, set it up one way and test, then wipe it and try the other way.  Backup to disk software (ntbackup will do) is easiest software to do big reads with on a verify test.
0
 

Author Comment

by:stev0931
ID: 17780449
Good idea!
0
 
LVL 70

Expert Comment

by:garycase
ID: 17780466
You do have the perfect opportunity to find out exactly how the performance is with YOUR system  ... which can be different than theoretical calculations or standard benchmarks.   Be sure to test both reads and writes => and that you use exactly the same tests in all cases.    Don't forget to test your option (C) above => that's a fairly common option, and provides good write performance for the OS (swap file, etc.) that might be a bottleneck with a RAID 5 setup.   However, if I was setting up option (C) I'd skip the hot spare and use 4 drives for the RAID 5 setup ... both more capacity and 3-drive (faster) stripe.

0
 

Author Comment

by:stev0931
ID: 17780497
I'll try that modification for C, thanks!
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
The article will include the best Data Recovery Tools along with their Features, Capabilities, and their Download Links. Hope you’ll enjoy it and will choose the one as required by you.
This video teaches viewers how to encrypt an external drive that requires a password to read and edit the drive. All tasks are done in Disk Utility. Plug in the external drive you wish to encrypt: Make sure all previous data on the drive has been …
This tutorial will walk an individual through the process of installing the necessary services and then configuring a Windows Server 2012 system as an iSCSI target. To install the necessary roles, go to Server Manager, and select Add Roles and Featu…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now