Is RAID 10 enough?

Posted on 2010-01-11
Medium Priority
Last Modified: 2016-12-08
I'm beginning a technology startup company and need to keep hardware to a minimum initially.  Can I get high reliability out of using non clustered RAID 10 storage (plus offsite backups) . I'd like to offer a very reliable service but not commit to dual server storage clusters from the start.  Is this a reasonable approach?
Question by:Phil5780
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2
LVL 47

Expert Comment

ID: 26289291
Well many people in your shoes go to a storage appliance, as they can provision devices as necessary, perform quick and easy migrations/backup, and clustering is easy because multiple host systems can attach.

A used NetApp appliance with onsite support may be the way to go.  Certainly users will have little or no concerns with a NetApp-based storage farm, especially when it comes to reliability.

Author Comment

ID: 26289479
NetApps looks good for step #2 as we scale out but currently that's above budget for us.  We're going to admin our own servers via co-location and were thinking just to use server RAID 10 arrays to offer up indepent IO file access.  With backups in hand, is that too risky?

Expert Comment

ID: 26291268
Having a hot spare is a good idea if you're concerned about reliability. I find the following site quite useful for determining reliability levels: http://www.bgdsoftware.com/freeTools/storage_availability_calc_tool.htm

If you're really concerned about data availability then you might want to look at RAID 6 (NetApp call it RAID DP). RAID 6 is however is slower than RAID 5 for writes which is in turn slower than RAID 10.

If you go down the clustered road, DRBD (http://www.drbd.org/) is an open source block replication/mirroring project that'll you'll want to look at.

Finally a note about software v's hardward RAID. I've used Linux software RAID in many systems for years and it's always worked very well. You will get better performance from a hardware RAID card with battery backed cache, but it's not something you want to cut costs with. I've been burnt by a cheap hardware RAID card in the past.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 47

Expert Comment

ID: 26292289
I would never consider RAID10 or RAID5.  Go RAID6 because it can tolerate 2 drive failures.  It can take days to rebuild a RAID5 set, especially with multi-TB SATA drives.  If you have a double failure, then not only do you lose a customer forever, but word-of-mouth will severely impact your business.  

If performance hits concern you, then make sure you get SAS or even FC drives.  Also, make darned sure if you go down the SATA path, that you buy enterprise class drives good for 24x7x365 day use.  Many of the SATA drives are consumer class designed for 8 hours a day, 300 days/year.
LVL 56

Expert Comment

ID: 26293275
As long as you have dual controllers it shouldn't be necessary to have two SAN storage systems, HP EVA4400 for example has only one set of disks and gives five nines reliability. RAID 10 is fine since rebuild is very quick compared to RAID 5 or 6 and it gives much better performance. Would have to know a rough idea of the budget to be more specific, you say you don't want to mirror two storage systems but presumably you are clustering servers.
LVL 23

Accepted Solution

Mysidia earned 2000 total points
ID: 26320450
Determine what MTBF is acceptable to you, configure storage to achieve it..
And get a suitable backup plan to permit you to recover from failure.

Generally  RAID10  is  used when you need  high-performance storage,  in particular, without the RAID5  read penalty. The cost with RAID10  vs RAID5 is disk space.

It is in common use, you can certainly use it,  but  be very careful about your hardware choices.     Try  to   get   different  drives  in the same mirrored set from different  batches,   and burn in your drives thoroughly  (a few reads and writes to the entire disk surface),   before placing them into an  array, and making them live.

Always use  Brand new Enterprise drives that have the 5yr warranty, and a good hardware RAID controller fully patched for any firmware errata -- LSI MegaRAID or  HP SmartArray  are great;  for  RAID  on a critical server, you should use a controller with battery-backed NVRAM,  to protect any write cache, be sure you can get a spare easily.  No  desktop grade drives.    The  rest of the components in your server can be aftermarket  if you really want,   just buy another one if it breaks --  but data is  irreplacable.

If the server stays in commission for more than 5 years (or approaches your computed MTBF),  plan to swap those drives  and  move them to something less critical.

RAID6 provides better fault tolerance at the cost of performance.

RAID10  can withstand two drive failures, as long as two drives in the same mirrored set do not fail.     However, a failure while  rebuilding can be fatal.

If you do use RAID10,  stick with disk drives that are 200gb or less.
Do not use RAID10  with   500gb or  1tb   desktop  drives,  the chance of a failure while rebuilding  or a second failure is much higher for large disks...

LVL 47

Expert Comment

ID: 26320570
I also agree with LINUX software RAID .. have used to for many, many years.  It is also the foundation of a great number of SAN and NAS appliances.  Just one important bit of advice on LINUX software RAID,  make sure you are patched up and using a current kernel.  Many vendors I know use a small industrial flash drive to boot their O/S also, and use a soft link to the ramdisk for /tmp and log files that nobody will ever want to keep.  

Author Closing Comment

ID: 31675856
Thanks for the information.

RAID6 peeks my interest.  What is the performance loss?  How is the rebuild time compared to RAID 10?
LVL 23

Expert Comment

ID: 26329176
RAID6  is similar to RAID5, but uses  two  parities  "double parity".
It means that for every 'data block',   there will be  two parity blocks.
In RAID5 there was just one parity block for every block of  data disks.

e.g.  in RAID5 you could have
ParityBlock1(disk1sector6) = DataBlock1(dsk1sec6)   +  DataBlock2(dsk1sec6)

So if the drive with 'Datablock1'  failed,    you can still determine the value DataBlock1 had  before the failure,  by computing:  DataBlock2(dsk1sec6) + Parity(dsk1sec6)  which is equal to the missing value.

By  XOR'ing  the bits in the two blocks of remaining disks you have, you get the missing bits.

Keep in mind... this does take longer than reading Datablock1 would take.    If  you lose 1 drive in a RAID5 array, your array is in a degraded state:   it means, that you lose all data on the array if another drive fails,  but it  ALSO  means  that  READ performance is degraded,  since  your   hardware  now needs to perform this XOR computation for most reads;   the same is true of RAID6 if you lose a drive.

In RAID6,   a  second,  more complex  (more CPU-intensive) computation is to
compute a second parity, in addition to the first parity, when writing any block.

The main performance penalty in RAID6 arises when writing, due to the computational expense of calculating a second value  which is  independent of the first Parity block.

There is some flexibility in the RAID controller manufacturer's choice here.
The important property is that, an  additional block is written,   and  that it's sufficient to calculate  the 'user data' value of a given  data block having only:  

*    1  data block and  1 parity block   (as with RAID5,  where 2 datablocks on different disks were used to compute the corresponding parity block)
*    2  parity blocks  (where 2  datablocks on different disks were used to calculate  both the first and the second  corresponding parity blocks)

RAID6 and 5  are not like RAID4  that had a dedicated parity disk and dedicated data disks.   Instead, both RAID 6 and 5 are distributed parity.  If you have N disks...   there is a sequence  over  'which disk' the parity is written to  that alternates for each stripe.

However, the OS wants to read a block of data off the array, the RAID  controller  has to read parts of the block from multiple drives, before it can calculate the value to pass to the OS.       This is what allows  RAID10  to achieve  (slightly) faster reads.

Also,  since RAID10 is simply mirroring.
If a drive does fail,  there won't be a performance degradation on reads.

Normally, the only way you will detect a failure of a single drive in a RAID10 array, is by watching your  array monitoring.

Much different from RAID5  or RAID6,  where  (in some cases),  a server with a failed drive loses much read performance,   can bring the server to its needs and result in thrashing,  depending on how  important  read performance is to the application.


Featured Post

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

this article is a guided solution for most of the common server issues in server hardware tasks we are facing in our routine job works. the topics in the following article covered are, 1) dell hardware raidlevel (Perc) 2) adding HDD 3) how t…
Moving your enterprise fax infrastructure from in-house fax machines and servers to the cloud makes sense — from both an efficiency and productivity standpoint. But does migrating to a cloud fax solution mean you will no longer be able to send or re…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses
Course of the Month9 days, 4 hours left to enroll

765 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