A Wikipedia diz que "o RAID 2 é o único nível padrão de RAID, exceto algumas implementações do RAID 6, que podem recuperar automaticamente dados precisos devido à corrupção de dados de um bit".
Alguém sabe se a implementação do RAID 6 mdadm no Linux é uma dessas implementações que pode detectar e recuperar automaticamente a corrupção de dados de um bit. Isso se refere ao CentOS / Red Hat 6, se forem diferentes de outras versões. Tentei pesquisar online, mas não tive muita sorte.
Com taxas de erro SATA de 1 em 1E14 bits e um disco SATA de 2 TB contendo 1,6E13 bits, isso é especialmente relevante para evitar a corrupção de dados.
EDIT 17-Jun-2015
Acredito que isso seja menos uma preocupação que eu pensava originalmente - consulte Disco rígido / SSDs - detecção e tratamento de erros - a corrupção de dados silenciosa é evitada com segurança? para mais detalhes
fonte
O RAID5 e o RAID6 podem detectar e geralmente corrigir a corrupção de bits se você verificar a paridade de toda a unidade. Isso é chamado de "limpeza" ou "verificação de paridade" e normalmente leva de 24 a 48 horas na maioria dos sistemas RAID de produção. Durante esse período, o desempenho pode ser significativamente degradado. (Alguns sistemas permitem que o operador priorize a depuração acima do acesso de leitura / gravação ou abaixo dele.) O RAID6 tem uma chance maior de corrigi-lo, porque pode corrigi-lo se houver duas falhas na unidade, enquanto o RAID5 pode lidar apenas com 1 falha na unidade, e as falhas na unidade são mais prováveis quando você está esfregando devido ao aumento da atividade.
fonte
Eu teria adicionado isso como um comentário, mas não tenho reputação suficiente; Eu queria esclarecer: o RAID5 pode DETECTAR a corrupção de bits, mas não sabe qual unidade possui a corrupção sem erro de leitura. Como resultado, uma limpeza não poderia consertar isso sem um erro de leitura - provavelmente apenas a registraria e atualizaria o bit de paridade para corresponder. O algoritmo do RAID6 depende da posição, portanto, ele pode detectar qual unidade continha o erro e corrigir a corrupção de bits.
fonte
Todas as respostas acima estão incorretas com relação aos recursos do RAID 6. Os algoritmos RAID 6 operam byte a byte como RAID 5, e se um único byte em qualquer unidade estiver corrompido, mesmo sem nenhum erro indicado pela unidade, ele poderá ser detectado e corrigido. O algoritmo para fazer isso é completamente explicado em
https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
Para executar essa verificação, as unidades de paridade P e Q também devem ser lidas junto com as unidades de dados. Se a paridade calculada P 'e Q' diferir sem erros de unidade, uma análise poderá identificar qual das unidades está incorreta e corrigir os dados.
Além disso, se a identificação da unidade estiver em uma unidade que não está presente (como a unidade 137, se houver apenas 15 unidades), mais de uma unidade fornecerá dados corrompidos POR ESTE BYTE, sinalizando um erro de erro incorrigível. Quando há muito menos que 256 unidades no conjunto, isso é detectado com alta probabilidade por byte e como existem muitos bytes em um bloco, com probabilidade extremamente alta por bloco. Se a identificação da unidade não for consistente para todos os bytes dentro do bloco RAID, mais de uma unidade fornecerá dados corrompidos e geralmente poderá-se rejeitar a condição, mas desde que todas as identificações da unidade sejam válidas, o bloco não precisará necessariamente ser rejeitado.
Demora mais do que o tempo de verificação usual para executar essa correção, mas só precisa ser realizada com o cálculo da síndrome (P e Q) que mostra um erro.
Tudo isso dito, no entanto, não examinei o código mdadm para determinar se a corrupção de byte único é tratada. Estou ciente de que o mdadm relata erros de síndrome RAID6 na varredura mensal, mas, a partir da mensagem de erro, não está claro se eles estão sendo corrigidos - ele não interrompe o conjunto de unidades nem identifica nenhuma unidade específica na mensagem.
fonte