Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I need to compare the reliability of different RAID systems with either consumer or enterprise drives. The formula to have the probability of success of a rebuild, ignoring mechanical problems, is simple:

error_probability = 1 - (1-per_bit_error_rate)^bit_read

and with 3 TB drives I get

  • 38% probability to experience an URE (unrecoverable read error) for a 2+1 disks RAID5 (4.7% for enterprise drives)

  • 21% for a RAID1 (2.4% for enterprise drives)

  • 51% probability of error during recovery for the 3+1 RAID5 often used by users of SOHO products like Synologys. Most people don't know about this.

Calculating the error for single disk tolerance is easy, my question concerns systems tolerant to multiple disks failures (RAID6/Z2, RAIDZ3 and RAID1 with multiple disks).

If only the first disk is used for rebuild and the second one is read again from the beginning in case or an URE, then the error probability is the one calculated above squared (14.5% for consumer RAID5 2+1, 4.5% for consumer RAID1 1+2). However, I suppose (at least in ZFS that has full checksums!) that the second parity/available disk is read only where needed, meaning that only few sectors are needed: how many UREs can possibly happen in the first disk? not many, otherwise the error probability for single-disk tolerance systems would skyrocket even more than I calculated.

If I'm correct, a second parity disk would practically lower the risk to extremely low values.

Am I correct?

Update

The calculations are (URE probabilities are per bit read!):

  • 1-(1-1e-14)^(2*3e12*8)=38% for RAID5 2+1 because I have to read two 3TB disks to rebuild the third one

  • 1-(1-1e-14)^(3e12*8)=21% for RAID1 because of the RAID10 with 2x3TB + 2x3TB disks, I have to read only the mirror of he failed disk

  • 1-(1-1e-14)^(3x3e12*8)=51% for RAID5 3+1 because I have to read 3 disks to rebuild the 4th.

Another detail: these probabilities refer at least one URE, non necessarily only one. They must be read on the other way round: 62%/79%/49% to complete the rebuild without read errors.

share|improve this question
1  
Hi Olaf! As far as I'm concerned, this question seems a little too specific to computer hardware to be a good fit for Mathematics, but you could ask on their meta site if they'd like to have your question. If that's the case, flag again and we'll be happy to migrate it for you! –  slhck Dec 13 '12 at 17:34
2  
How exactly do you arrive at 38% URE probability for RAID5 with 3 drives? Using URE = 10^14, HDD = 3.5*1024^4 bytes I get 3.8% URE per drive and 11.1% for URE while rebuilding. That is: 100* (1- (1-(hdd / ure))^3). I think your numbers are a bit off (although the practical failure rate is higher than what is stated by manufacturers). Since the error rates are given per bits read per drive and not per bits read, I think the part where you use ^bit_read is wrong. Perhaps give more detail on how you calculated those odds? +1 for interesting question. cs.cmu.edu/~bianca/fast07.pdf –  Ярослав Рахматуллин Mar 11 '13 at 12:22
    
Added info and checked calculations. –  OlafM Nov 20 '13 at 19:50
add comment

1 Answer

up vote 2 down vote accepted

There are a number of sites and articles that attempt to address this question.

This site has calculators for RAID 0, 5, 10/50/60 levels.

The wikipedia article on RAID levels has sections on RAID 0 and RAID 1 failure rates.

RAID 0:

Reliability of a given RAID 0 set is equal to the average reliability of each disk divided by the number of disks in the set:

That is, reliability (as measured by mean time to failure (MTTF) or mean time between failures (MTBF)) is roughly inversely proportional to the number of members – so a set of two disks is roughly half as reliable as a single disk. If there were a probability of 5% that the disk would fail within three years, in a two disk array, that probability would be increased to {P}(at least one fails) = 1 - {P}(neither fails) = 1 - (1 - 0.05)^2 = 0.0975 = 9.75%.

RAID 1:

As a simplified example, consider a RAID 1 with two identical models of a disk drive, each with a 5% probability that the disk would fail within three years. Provided that the failures are statistically independent, then the probability of both disks failing during the three-year lifetime is 0.25%. Thus, the probability of losing all data is 0.25% over a three-year period if nothing is done to the array.



Also I've found several blog articles about this subject including this one that reminds us the independent drives in a system (the I in RAID) may not be that independent after all:

The naïve theory is that if hard disk 1 has probability of failure 1/1000 and so does disk 2, then the probability of both failing is 1/1,000,000. That assumes failures are statistically independent, but they’re not. You can’t just multiply probabilities like that unless the failures are uncorrelated. Wrongly assuming independence is a common error in applying probability, maybe the most common error.

Joel Spolsky commented on this problem in the latest StackOverflow podcast. When a company builds a RAID, they may grab four or five disks that came off the assembly line together. If one of these disks has a slight flaw that causes it to fail after say 10,000 hours of use, it’s likely they all do. This is not just a theoretical possibility. Companies have observed batches of disks all failing around the same time.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.