Como o RAID detecta um HD defeituoso?

4

Eu tenho procurado nos níveis de Raid nos últimos 3 dias. E foram pesando os pro / cons de hardware / software de controladores RAID. Eu entendo que o RAID não é uma solução de backup e estou perfeitamente bem com isso, embora ainda haja uma pergunta.

Como um controlador RAID, mesmo o Raid 1 até o Raid 6, detecta que uma unidade de disco rígido está falhando. As pesquisas que realizei mostraram que os fabricantes de discos rígidos mais comuns usam o ECC em seu projeto de unidade de disco rígido que supostamente protege contra falhas de 1 bit em uma extensão de 3 bits.

Embora ao pensar sobre isso, digamos que você tenha Raid (1) e dois discos rígidos idênticos. Digamos que os dados sejam lidos da unidade 0 e também ao mesmo tempo da unidade 1. Embora a unidade 1 relate uma falha de leitura ECC ao Controlador Raid.

Agora esta é a grande questão, com o hardware raid que faria o controlador Raid? Tem um sinal do disco rígido que a leitura falhou. Ele pode relatar o disco rígido como defeituoso e precisa ser substituído.

O Raid Controller procura uma unidade de disco rígido diferente para os dados até obter uma leitura bem-sucedida da unidade. (Sim, uma unidade pode reportar a leitura como correta e os dados ainda podem estar corrompidos e o RAID não verifica a polaridade ou o ECC na leitura)

    
por Chad 07.01.2010 / 02:15

4 respostas

7

Perguntei a um engenheiro da NetApp que estava nos dando uma palestra sobre essa questão. Sua resposta, mais ou menos, foi:

Nobody reads the checksums on reads. There's no point. Reading a checksum means you have to read the entire slice plus checksum, then compute the checksum to verify you have the correct data. Plus the orthoganal checksum if you are running RAID-6 or whatever. It is a total performance killer because it breaks the ability to randomly seek to totally different sectors on different disks at the same time. Similarly, almost nobody reads both sides of a mirror in RAID-1 because if you only read one side you can alternate which side of the mirror you read from so that you get faster throughput, and if you suddenly have a mismatch, which disk do you take as correct and which do you take as broken? All modern RAID systems depend on the on-disk controllers to signal the RAID controller that they are in distress (through SMART or the like), at which point that disk is almost always kicked out of the array. Checksums are used for rebuilding arrays, not for read-verification.

    
por 07.01.2010 / 04:30
2

A resposta para a pergunta vai depender muito do fabricante do controlador RAID e como eles implementaram a detecção de erros / falhas na unidade.

    
por 07.01.2010 / 02:18
1

Existem vários métodos que uma implementação RAID pode avaliar a "integridade" de um disco (SMART, SCSI "Verificar Condição" e "Chave Sense"), mas não tenho conhecimento de nenhum "padrão" publicado quanto a como implementações de RAID devem agir sobre esses métodos. As etapas específicas que cada um faz e modela o firmware do controlador RAID (ou, na verdade, uma implementação de RAID de software em um sistema operacional) usam, dependendo do projeto do fabricante.

Todas as unidades de disco rígido usam códigos de correção de erros (ECC) hoje. Nas densidades de dados em que estamos trabalhando, os erros de bit são apenas um fato da vida. Erros de leitura irrecuperáveis são o que importa para um controlador RAID. No nível em que você está interessado, você precisa ter as especificações de projeto do controlador RAID e do firmware da unidade para entender realmente como os erros de mídia seriam relatados na pilha de dispositivos para o sistema operacional e, em última análise, para o usuário. / p>     

por 07.01.2010 / 02:22
0

A implementação é inteiramente do fabricante. Eles poderiam usar qualquer mistura de ferramentas ... calculando a paridade de dados à medida que são gravados na unidade e, se estiver errada, sinaliza um possível problema, pode observar o status do disco rígido se houver status SMART onboard, ler erros diretamente da unidade, verificar se há problemas por meio de vários erros em um determinado dirigir, etc ...

Eu tive um controlador que não sabia que havia um problema com uma unidade. Nós tivemos um RAID 5 de três unidades onde um disco falhou completamente. Instalei uma nova unidade e, no processo de reconstrução de um dos discos bons, um erro de leitura irrecuperável, que é um problema cada vez maior à medida que as unidades aumentam e os fabricantes permitem um certo número delas no processo de fabricação. Resultado final? Reconstrua a partir do backup bare metal. Então, quando você pergunta como o controlador "sabe" que o disco está ruim, ele não necessariamente sabe.

Em outras palavras, os controladores RAID só fazem o melhor que podem. Eles ainda falham.

O resultado final é que os controladores RAID geralmente simplificam sua configuração abstraindo o trabalho do software, descarregam o poder de processamento em hardware dedicado e adicionam (geralmente) algum suporte melhor para dizer ao usuário final qual unidade é ruim ferramentas de software e / ou luzes piscando) para que você não precise adivinhar qual é ruim.

O software RAID é integrado ao sistema operacional, é muito mais barato e é praticamente tão confiável agora (especialmente se você está falando sobre o Linux) e quase tão veloz (em alguns casos, mais rápido). Ele também não precisa de drivers especiais ao contrário de muitos controladores. Se você usar um cartão de alto desempenho, ele provavelmente terá um desempenho melhor, mas para a maioria dos RAIDs de uso doméstico eles tendem a ser comparáveis em velocidade.

Se você está falando sobre o RAID da placa-mãe, não é realmente RAID. É uma versão de baixa qualidade do software RAID, e torna quase impossível recuperar dados se a sua placa-mãe for para o sul porque muitas vezes eles são específicos do fornecedor em como eles mexem com dados na unidade. Eu tive casos em que um sistema falhou e você não podia levar a unidade da matriz para outro sistema para recuperar dados.

No geral, a menos que você esteja falando sobre RAID para servidores em uma empresa ou tenha necessidades realmente especializadas, o RAID de software provavelmente está no mesmo nível do RAID de hardware para 90% do que usuários domésticos o usariam.

    
por 07.01.2010 / 02:30