Data Centers

RAID 50 offers a balance of performance, storage capacity, and data integrity

RAID 50 is an often overlooked RAID level that can bridge the gap when it comes to choosing between RAID 5, RAID 6, and RAID 10. Scott Lowe explains why RAID 50 is his favorite RAID level.

RAID 50 is my favorite RAID level. Although RAID 50 support is not in every product (for example, my EMC AX4 at Westminster College does not support RAID 50), I find that RAID 50 provides a great balance between storage performance, storage capacity, and data integrity that's not necessarily found in other RAID levels.

If you haven't used RAID 50 before, you're in for a treat. As one of the many multilevel RAID options that are out there, RAID 50 operates by striping (RAID 0) data across multiple RAID 5 sets (Figure A). Figure A

raid50

RAID 50 diagram

As you can see in the diagram, there are three RAID 5 sets that span a total of 12 disks. Each RAID 5 set has four disks, with one disk's worth of capacity dedicated to parity information. For the example above, this means that each RAID set will lose 25% of its total capacity to parity information, as would be the case if you were to deploy a single four-disk RAID 5 set. The beauty of RAID 50 lies in the "0" part of the RAID level; this is where information is striped across each of those underlying individual RAID 5 sets.

There are a number of reasons why I like RAID 50, but there are also tradeoffs to using this RAID level. Here are some pros and cons about using RAID 50.

Disk space

RAID 5 requires 1/#disks worth of space per RAID array. In Figure A, this would mean that, if all 12 disks were in a single RAID 5 set, you'd be left with 11 disks worth of capacity. With RAID 50, you need to allocate one disk per underlying array for parity, so you're left with less usable space than you would have if you simply used RAID 5.

However, if you compare RAID 50 and RAID 10, you'll see a clear winner in RAID 50 from a capacity perspective. With RAID 10, you always lose 50% of your capacity due to mirroring. Since each underlying RAID 5 array requires a minimum of three disks (RAID 5 rules), and you lose the capacity of one disk to parity, you'll never "lose" more than 33% of your total capacity when using RAID 5. As you make each RAID 5 set larger, this loss percentage goes down. In Figure A, with four disks used in each RAID 5 set, 25% of capacity is used for parity overhead; if you make that five disks per RAID 5 set, this percentage drops to 20%. As this percentage drops, your risk increases.

RAID 50 requires an array with at least six disks -- two RAID 5 arrays of three disks each. I like to use three or four disk RAID 5 sets in RAID 50 arrays.

Risk

With RAID 5, as you increase the number of disks in the array, you increase the likelihood that you'll experience total array failure as more than one drive fails at the same time. As you move into RAID 50 territory, that additional disk space that you're giving up translates directly into lowered risk, as RAID 50 systems can suffer multiple disk faults -- as long as those disk faults happen in the right places.

With RAID 50, if you suffer multiple disk faults in any of the underlying RAID 5 arrays, the entire RAID 50 is toast; however, each individual RAID 5 array can withstand the loss of a single disk. You never want to have more than one disk go bad at a time regardless of RAID configuration, but at least with RAID 50, your chances are much better that a second disk failure will not happen in the same array as the first failure. This is one reason that keeping the individual RAID 5 arrays small (three or four disks at most) makes a lot of sense. The more disks you add to the individual RAID 5 arrays, the higher your risk for suffering a dual disk loss in one array.

Remember, the "0" part of RAID 50 offers no fault tolerance; all fault tolerance happens at the individual RAID 5 level. The RAID 0 part does help with performance.

Performance

RAID 50 does not perform as well as RAID 10 when it comes to performance in a degraded state (i.e., during a rebuild), but RAID 50, at least theoretically, performs much better than RAID 5 in overall write performance; this places RAID 50 between RAID 10 (the winner in performance) and RAID 5 (sometimes lackluster performance, depending on workload) in the performance spectrum. Actual performance usually depends on the choice of RAID controller and the kind of information being processed.

Like RAID 10 and RAID 5, RAID 50 provides excellent read performance.

Summary

When it comes to achieving a balance between storage cost, risk, and performance, few RAID levels go as far as RAID 50 for the following reasons:

  • Storage. Although RAID 50 uses more overhead space than RAID 5, it requires much less overhead than RAID 10, making it a nice in between choice.
  • Risk. With RAID 5 alone, organizations run the risk of a second disk failure that could compromise the entire array. RAID 50 mitigates this issue since multiple disks can fail, as long as the disks are the right ones.
  • Performance. Although overall read/write performance is highly dependent on a number of factors, RAID 50 should provide better write performance than RAID 5 alone.

Want to keep up with Scott Lowe's posts on TechRepublic?

About

Since 1994, Scott Lowe has been providing technology solutions to a variety of organizations. After spending 10 years in multiple CIO roles, Scott is now an independent consultant, blogger, author, owner of The 1610 Group, and a Senior IT Executive w...

32 comments
jhladun
jhladun

This is obviously not the solution if you have unlimited resources or money. RAID 10 RAID 11 RAID 111 or RAID 61. Double triple and quadruple redundancy with much more expensive controllers to maintain performance is always the way to go with infinite funds. RAID 50 is a trade-off like most real world solutions.

tkim
tkim

The problem with this article is that the author provided no math behind his theories. I will provide the math and show you guys that probability of failure in a RAID5 is much greater than a RAID50 -- more so than some of you may think. Using the minimum # of required drives (6), we will build a RAID 50 (2x3 drive arrays striped) and a RAID 5 (5+1 parity). Now...WITHOUT EVEN CONSIDERING the RAID level of both sets of 6 disks, we can safely conclude that the odds of losing a disk are the same in both sets. The actual odds of losing a disk is not important (I think someone mentioned 3%). What is important is that the odds of losing a disk do not change based on what RAID array it is participating in. In a 6 drive array (again, regardless of RAID level), there are 15 ways to lose two drives (assuming the order in which you lose the two drives is not important). The formula is this: n!/r!(n-r)!, where n=6 (the # of drives in the array), and r=2 (the # of drives to fail). So, regardless of RAID5 or RAID50 or RAID10, RAID6, etc., there are exactly 15 ways to have a 2 drive failure. With me so far? So here is why RAID50 is more resilient: Out of the 15 2-drive failure combinations, RAID50 can survive 9 of them! Yes, NINE! RAID5 can survive NONE! Math: 3^2, where there are 3 drives in each sub-array, and 2 drives that will fail. What does this mean? It means that if and when you encounter a 2-drive failure on your 6 drive RAID50 array, you have a 60% chance of remaining online! Of course, the more drives you have in your array, the less your chances of staying online. However, once you introduce 3 sub-arrays in your RAID50, you not only spread your odds, you introduce another factor of failure which is sustainable - the 3-drive failure. Using the example in this article, you have 12 drives in a RAID50 (striped across 3 sub-arrays). The # of ways to lose any two drives is 66 (Formula: 12!/2!(12-2)!). A RAID5 array with 12 drives cannot sustain any of these 66 combinations of two-disk failures. To calculate how many of these 66 combinations that a RAID50 can sustain, we'll do the calculation in reverse (it's easier). Let's figure out how many of these combinations will break the RAID50. This RAID50 is made up of three 4-drive RAID5 arrays. If any of the three sub-arrays breaks, the entire RAID50 breaks. So we can calculate how many ways a 4-drive RAID5 array can break, and then multiply that number by three. So the formula is 4!/2!(4-2)!=6. Then 6x3=18. There are 18 ways that the RAID50 can break. That means that if two drives were to fail on this 12-drive RAID50 array, it has a 72.7% chance of staying online. A RAID5 has a 0% chance of staying online. Add to that the ability to sustain some combinations of 3-drive failures, and the resiliency argument for RAID50 is strengthened even more.

dfrueh
dfrueh

Is it just me or is a single RAID 5 array, with a hot spare, not a good way to go. That's been our setup, and we've never even needed the RAID to rebuild. It simply copies to the hot swap, which becomes part of the array, no extra overhead required on the disks, and we can come in to a beeping drive in the morning which we can have replaced next day. Seems like a no brainer to me. I haven't much looked into RAID 6 but 5 with a hot spare is working well.

jhoward
jhoward

RAID 10 is my first choice for all of our business storage needs since our NMS and CDR data is constantly being written to and also needs to be highly available. RAID does not take the place of backups but in all seriousness the RAID levels above 0 exist to reduce the need to restore backups which is a timely exercise I have had to do way too often in the past. If you have a large space requirement and the time to restore backups or deal with a degraded array then a RAID 5/50 makes sense. If not the cost of a RAID 10 easily pays for itself the first time a disk fails in the middle of the day.

ITSPL
ITSPL

You can Say that but eventually you are using RAID 5 Array Pattern.It is Sucessful in large strorage systems but risk of multiple failure is not ruled out. Yes no doubt it is winner than other Raid levels in Performance and storage capacity.RAID-6 Dual Parity Is Not Working In this format. Gurbinder Sharma IT Professional.

tjscott007
tjscott007

Scott: Why not Raid 60 as your favorite? With your example, you could use two six disk raid 6 stripes and one stripe. This gives you the advantage that you have to have three disks in one Raid 6 stripe fail. And your percentage lost is 1/3, as opposed to your raid 60 loss of 1/4 in your example. To me, considering the well discussed idea that disks fail in bunches, Raid 60 gives much more redundancy than Raid 50. For sure the performance of Raid 60 is better than that of Raid 6, but not quite as good as Raid 50 or Raid 10.

S,David
S,David

Maybe I am missing something, but it seem that if I have a risk of two drives failing in a RAID 5, by adding additional RAID 5 under a RAID 0, I still have the same risk of the same two drives failing in a single RAID 5 and taking out everything. I don't see how RAID 50 changes the probability of two drives in a particular RAID 5 failing at the same time.

Editor's Picks