O motivo pelo qual o RAID 5 pode não ser confiável para tamanhos de discos grandes é que, estatisticamente, os dispositivos de armazenamento (mesmo quando estão funcionando normalmente) não estão imunes a erros. Isto é o que é denominado UBE (às vezes URE), para a taxa Unrecoverable Bit Error , e é citado em erros completos por número de bytes lidos. Para discos rígidos rotacionais de consumidor, essa métrica é normalmente especificada em 10 ^ -14, o que significa que você obterá uma leitura de setor com falha por leitura de 10 ^ 14 bytes. (Por causa de como os expoentes funcionam, 10 ^ -14 é a mesma coisa que um por 10 ^ 14.)
10 ^ 14 bytes podem soar como um grande número, mas na verdade são apenas alguns passes completos de leitura em uma unidade moderna (digamos de 4 a 6 TB). Com o RAID 5, quando uma unidade falha, existe uma redundância no , o que significa que qualquer erro não pode ser corrigido: qualquer problema em ler qualquer uma das outras unidades e o controlador (seja hardware ou software) não saberá o que fazer. Nesse ponto, sua matriz é quebrada.
O que o RAID 6 faz é adicionar um disco de redundância segundo à equação. Isso significa que mesmo se uma unidade falhar completamente, o RAID 6 poderá tolerar um erro de leitura em uma das outras unidades da matriz ao mesmo tempo e ainda reconstruir seus dados com êxito. Isso dramaticamente reduz a probabilidade de um único problema fazer com que seus dados fiquem indisponíveis, embora não elimine a possibilidade; no caso de uma unidade ter falhado, em vez de uma unidade adicional precisar desenvolver um problema para os dados serem irrecuperáveis, agora duas unidades adicionais precisam desenvolver um problema no mesmo setor para que haja um problema.
É claro que o valor de 10 ^ -14 é estatístico , da mesma forma que os discos rígidos rotacionais comumente têm uma estatística AFR (Taxa de Falha Anual) citada em a ordem de 2,5%. O que significa que a unidade média deve durar de 20 a 40 anos; claramente não é o caso. Erros tendem a acontecer em lotes; talvez você consiga ler 10 ^ 16 ou 10 ^ 17 bytes sem nenhum sinal de problema e, em pouco tempo, obterá dezenas ou centenas de erros de leitura.
O RAID realmente torna esse último problema pior expondo as unidades a cargas de trabalho e ambiente muito semelhantes (temperatura, vibração, impurezas de energia, etc.). A situação é ainda mais agravada pelo fato de que muitas matrizes RAID são comissionadas e configuradas como um grupo, o que significa que, no momento em que a primeira falha ocorrer, todas as unidades da matriz estarão ativas por quase a mesma quantidade. de tempo. Tudo isso torna as falhas correlacionadas muito mais prováveis de acontecer: quando uma unidade falha, é muito provável que as unidades adicionais sejam marginais e possam falhar em breve. Apenas o estresse da leitura completa passar junto com a atividade normal do usuário pode ser suficiente para empurrar uma unidade adicional para a falha. Como vimos, com o RAID 5, com uma unidade não funcional, o erro de leitura qualquer em qualquer outro local causará um erro permanente e é altamente provável que simplesmente interrompa sua matriz. Com o RAID 6, você tem pelo menos alguma margem para erros adicionais durante o processo de resilvering.
Como o UBE é declarado de acordo com o número de bytes lidos, e o número de bytes lidos tende a se correlacionar razoavelmente bem com quantos bytes podem ser armazenados, o que costumava ser uma boa configuração com um conjunto de unidades de 100 MB pode ser configuração marginal com um conjunto de unidades de 1 TB e pode ser completamente irrealista com um conjunto de unidades de 4-6 TB, mesmo se o número físico das unidades permanecer o mesmo. (Em outras palavras, dez unidades de 100 MB contra dez unidades de 6 TB.)
É por isso que o RAID 5 é geralmente considerado inadequado para matrizes de tamanhos comuns atualmente e, dependendo das necessidades específicas, o RAID 6 ou 1 + 0 geralmente é incentivado.
E isso nem sequer toca nos detalhes que o RAID não é um backup .