Como o RAID 1 determina se um disco está corrompido?

4

Eu criei uma matriz RAID 1 de 2 discos, A e B.

Isso significa que cada bit em A é igual a um bit em B. Se um disco falhar, posso recuperar com segurança meus dados do outro disco. Mas então comecei a pensar: como isso é verdade?

Digamos que um bit 1 em A leia 0, mas 1 em B. Como o controlador RAID seria capaz de dizer, qual deles está corrompido e qual não está? Isto é baseado no que o chamado "S.M.A.R.T." relatórios de tecnologia, e isso realmente vale alguma coisa, ou eu estaria tão bem com uma solução não-RAID?

Eu posso ver porque isso não é um problema no RAID 5, por isso estou planejando atualizar.

    
por Einar 12.02.2012 / 23:11

2 respostas

5

O RAID 1 ou o RAID 5 não protegem contra o tipo de problema que você está descrevendo. Eles servem principalmente para proteger contra a falha de hardware de uma única unidade (e, portanto, para reduzir o tempo de inatividade do sistema). Com o RAID 5, as informações de paridade não são usadas até que a falha de uma unidade seja detectada.

Embora muito raros, bits podem aparentemente mudar aleatoriamente de estado devido a uma variedade de causas - é chamado de bit rot . Para proteger contra a podridão, você pode:

  1. Adicione mais redundância, por exemplo, usando o RAID 6, combinado com verificações regulares de integridade de dados.
  2. Use um sistema de arquivos que verifica ativamente a integridade dos dados, como o ZFS. Ao usar o ZFS com RAID-Z1 (redundância de unidade única), ao ler qualquer bit aleatoriamente "invertido", o erro será detectado porque a soma de verificação calculada não corresponde à soma de verificação armazenada. Então, quando possível, o ZFS corrigirá automaticamente o erro usando informações de paridade.

Vale ressaltar que os discos rígidos têm redundância de dados internos para mitigam parcialmente a podridão de bits.

    
por 13.02.2012 / 00:00
9

O RAID1 não é uma solução de backup. O que o RAID1 faz é proteger você de uma falha de unidade única. Isso é tudo. Bem, tudo bem, também acelera um pouco as velocidades de leitura. Mas não é uma solução de backup. Se você excluir um arquivo, ele será excluído das duas unidades. Se você formatar seu RAID1, as duas unidades serão formatadas. Se seus arquivos estiverem infectados por um vírus, você não poderá se recuperar. É por isso que o RAID1 não é uma solução de backup.

Para responder a sua outra pergunta, se os dados forem incompatíveis nas unidades, não há como saber qual está correto. No entanto, as chances disso talvez não sejam tão altas quanto você possa imaginar. Veja, por exemplo, a seção da Wikipedia sobre tratamento de erros em discos rígidos modernos.

Não é impossível adicionar detecção de erro e correção de erros adicionais, mas isso normalmente não é feito no nível do controlador RAID. Alguns sistemas de arquivos, como o ZFS, adicionam proteção adicional à integridade de seus dados.

    
por 12.02.2012 / 23:49