[CentOS] Re: RAID5 or RAID50 for database?

Tue May 27 00:58:38 UTC 2008
Ross S. W. Walker <rwalker at medallion.com>

Christopher Chan wrote:

> Ross S. W. Walker wrote:
> > Christopher Chan wrote:
> > 
> >> William Warren wrote:
> >>> I'm not a fan of RAID 5 at all since it can only tolerate one failure at 
> >>> all.  Go with raid 10 or something like that which is able to handle 
> >>> more than one failure.  Intermittent, uncorrectable sector failures 
> >>> during rebuilds are becoming an increasing problem with today's drives.
> >>>
> >> Is that raid10 or raid 1+0 or raid 0+1? :D
> >>
> >> At least for the latter two, their handling more than one failure 
> >> depends on which disks blow. Not sure how the raid10 module 
> >> handles things.
> > 
> > Whoever implements RAID10 will want the RAID1+0 which is a stripe set
> > of mirrors, rather then the RAID0+1 which is a mirror of stripe sets.
> 
> Here we go. Please go and hammer Neil Brown about his version of RAID10 
> for md which is decidedly different from doing md 0+1/1+0.
> http://neil.brown.name/blog/20040827225440

Well I don't want to hammer Neil and his RAID implementation, but
technically, it isn't really RAID10, really Neil has come up with
a whole new RAID level on to itself. It's quite good, don't get
me wrong, it's just not RAID10.

> Feel free to also hammer him on his definition of raid 1+0/0+1 as he 
> calls raid 0+1 "a raid0 array built over a collection of 
> raid1 arrays".

Well I am not going to hammer him on that either. In fact I am not
out to "hammer" anybody here. We are professionals here not
children.

> > The problem being two fold, 1) in a RAID0+1 a single drive failure
> > on either side of the mirror will put the whole array into total
> > failure jeopardy, a failure on both sides is a total loss, 2) the
> > pathway for simultaneous operations is cut down from (say X is an
> > even number of disks) X reads, X/2 writes, to 2 reads, 1 write.
> 
> A failure of one mirror will destroy the whole raid 1+0 array too. I do 
> not see how having a functional raid0 array on one side of the mirror in 
> raid 0+1 will cut writes to one disk instead of two.

How about a quick picture, O = good disk, X = failed disk,

Stripe of mirrors:

X O X
-|-|-
O X O

A mirror of stripes:

X|O|O
-----
O|X|O

So on the first as only 1 disk in each mirror was affected the
RAID array as a whole survives, but on the second since both
sides have a total loss the array as a whole fails.

> However, I would personally go for a stripe of mirrored disks since a 
> rebuild will not involve all disks.

Another good point I forgot to mention.

> > On a RAID5/6 array you are limited to a pathway of 1 read and 1
> > write at a time and all writes must write across the entire stripe,
> > so if you do choose RAID5/6 then it is highly recommended to use a
> > hardware RAID controller with a BBU write-back and read-ahead cache
> > which can minimize the impact of this by caching a whole stripe set
> > to write at once and to have a stripe set of reads waiting for io
> > requests.
> 
> Yes, any hardware raid doing raid5 without a decent amount of cache is 
> going to be very poor on write performance.
>
> > 
> > For database log files and other applications that do a lot of
> > random io it is recommended to use fast RPM drives in a RAID10
> > which has the multiple pathways for reads and writes which will
> > maximize the total number of random IOPS (ios per second).
> 
> Next time, please follow the thread. We are japping about the raid10 
> module for md by Neil Brown and how it apparently does not require the 
> traditional way of doing raid 1+0/0+1. Like how his module can do 
> "raid10" with just three disks.
> 
> http://neil.brown.name/blog/20040827225440

My Apologies I thought the thread was "RAID5 or RAID50 for database?".

I will next time look out for the hijacking and take appropriate action.

> > Typically most vendors recommend a two-prong approach, keep the
> > database data files on a RAID5/RAID6 type array and keep the
> > log files on a RAID10 array.
> > 
> 
> Thank you for your information.

Your welcome.

-Ross

______________________________________________________________________
This e-mail, and any attachments thereto, is intended only for use by
the addressee(s) named herein and may contain legally privileged
and/or confidential information. If you are not the intended recipient
of this e-mail, you are hereby notified that any dissemination,
distribution or copying of this e-mail, and any attachments thereto,
is strictly prohibited. If you have received this e-mail in error,
please immediately notify the sender and permanently delete the
original and any copy or printout thereof.