Fórmula para calcular a probabilidade de erro de leitura irrecuperável durante a reconstrução do RAID

12

Eu quero comparar a confiabilidade de diferentes sistemas RAID com drives consumer (URE / bit = 1e-14) ou enterprise (URE / bit = 1e-15). A fórmula para ter a probabilidade de sucesso de uma reconstrução (ignorando problemas mecânicos, que eu levarei mais tarde em consideração) é simples:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

Importante lembrar é que esta é a probabilidade de obter PELO MENOS um URE, não necessariamente apenas um.

Vamos supor que queremos um espaço utilizável de 6 TB. Podemos obtê-lo com:

  • RAID1 com 1 + 1 discos de 6 TB cada. Durante a reconstrução, lemos um disco de 6 TB e o risco é: 1- (1-1e-14) ^ (6e12 * 8) = 38% para consumidores ou 4,7% para discos corporativos.

  • RAID10 com 2 + 2 discos de 3 TB cada. Durante a reconstrução, lemos apenas 1 disco de 3 TB (o que está emparelhado com o que falhou!) E o risco é menor: 1- (1-1e-14) ^ (3e12 * 8) = 21% para consumidor ou 2,4% para drives corporativos.

  • RAID5 / RAID Z1 com 2 + 1 discos de 3 TB cada. Durante a reconstrução, lemos dois discos de 3 TB cada e o risco é: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% para discos de consumo ou 4,7% ou corporativos.

  • RAID5 / RAID Z1 com 3 + 1 discos de 2 TB cada (geralmente usados por usuários de produtos SOHO como a Synologys). Durante a reconstrução, lemos três discos de 2 TB cada e o risco é: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% para unidades de consumidor ou 4,7% ou corporativas.

O cálculo do erro para tolerância de disco único é fácil, mais difícil é calcular a probabilidade com sistemas tolerantes a falhas de vários discos (RAID6 / Z2, RAIDZ3).

Se somente o primeiro disco for usado para reconstrução e o segundo for lido novamente no início, no caso, ou um URE, a probabilidade de erro será a calculada acima do quadrado raiz (14,5% para o consumidor RAID5 2 + 1, 4,5 % para o consumidor RAID1 1 + 2). No entanto, suponho (pelo menos no ZFS que tem somas de verificação completas!) Que a segunda paridade / disco disponível é somente leitura quando necessário, o que significa que apenas alguns setores são necessários: quantos UREs podem acontecer no primeiro disco? não muitos, caso contrário, a probabilidade de erro para sistemas de tolerância de disco único aumentaria ainda mais do que eu calculei.

Se eu estiver correto, um segundo disco de paridade praticamente diminuirá o risco para valores extremamente baixos.

Pergunta à parte, é importante ter em mente que os fabricantes aumentam a probabilidade de URE para unidades de classe de consumo por razões de marketing (vendem mais drives de classe empresarial), portanto espera-se que até HDDs de classe 1E-15 / bit read.

Alguns dados: link

Os valores que forneci entre parênteses (drives corporativos), portanto, aplicam-se realisticamente também às unidades de consumidor. E os drives corporativos reais têm uma confiabilidade ainda maior (URE / bit = 1e-16).

No que diz respeito à probabilidade de falhas mecânicas, elas são proporcionais ao número de discos e proporcionais ao tempo necessário para a reconstrução.

    
por FarO 09.12.2012 / 12:34

2 respostas

3

Esta é a melhor resposta, com a teoria das probabilidades também:

link

    
por 28.04.2014 / 21:16
2

Existem vários sites e artigos que tentam resolver essa questão.

Este site tem calculadoras para os níveis RAID 0, 5, 10/50/60.

O artigo da wikipedia sobre Níveis de RAID tem seções sobre as taxas de falha RAID 0 e RAID 1.

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.



Também encontrei vários artigos de blog sobre esse assunto, incluindo este que nos lembra que os drives independentes em um sistema (o I no RAID) podem não ser tão independentes assim:

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.

    
por 12.03.2013 / 15:19