Se um sistema RAID5 experimenta um URE durante a reconstrução, todos os dados são perdidos?

17

Eu entendo o argumento a respeito da maior probabilidade dos drives maiores de experimentar um URE durante uma reconstrução, mas não tenho certeza quais são as implicações reais disso. Esta resposta diz que toda a reconstrução falha, mas isso significa que todos os dados estão inacessíveis? Por que isso seria? Certamente, um único URE de um único setor na unidade afetaria apenas os dados relacionados a alguns arquivos, no máximo. O array ainda não seria reconstruído, apenas com alguns pequenos danos em alguns arquivos?

(Estou especificamente interessado na implementação do RAID5 pelo ZFS aqui, mas a lógica parece a mesma para qualquer implementação do RAID5.)

    
por process91 28.10.2018 / 03:02

4 respostas

20

Depende realmente da implementação específica do RAID:

  • a maioria dos RAIDs de hardware abortará a reconstrução e alguns também marcarão a matriz como falha , reduzindo-a. A lógica é que, se um URE acontecer durante uma reconstrução RAID5, isso significa que alguns dados são perdidos, portanto, é melhor parar completamente o array, em vez de arriscar a corrupção de dados silenciosa. Observação: alguns RAIDs de hardware (principalmente baseados em LSI) serão puncionar a matriz, permitindo que a reconstrução continue marcando o setor afetado como ilegível (semelhante a como o RAID de software Linux se comporta).

  • O software linux RAID pode ser instruído para a) parar a reconstrução da matriz (o único comportamento das construções "antigas" do MDRAID / kernels) ou b) continuar com o processo de reconstrução marcando algum LBA como ruim / inacessível. A lógica é que é melhor deixar o usuário fazer sua escolha: afinal, um único URE pode estar no espaço livre, não afetando os dados (ou afetando apenas arquivos sem importância);

  • O ZRAID mostrará alguns arquivos como corrompidos, mas continuará com o processo de reconstrução (consulte aqui para um exemplo). Novamente, a lógica é que é melhor continuar e informar ao usuário, permitindo que ele faça uma escolha informada.

por 28.10.2018 / 11:50
7

Se o URE acontecer, você perceberá algum dano nos dados sobre o bloco, que normalmente tem tamanho de 256 KB-1 MB, mas isso não significa que TODOS os dados do seu volume seriam perdidos. O que não é tão bom em relação ao RAID5 é uma coisa totalmente diferente: a reconstrução em si é estressante e há grandes chances de você ter uma segunda falha no disco. Nesse caso, todos os dados seriam perdidos.

    
por 28.10.2018 / 10:06
2

Eu explicaria o contrário;

Se o controlador RAID não parar no URE, o que poderia acontecer?

Vivi em um servidor, o RAID nunca notou o URE e após a reconstrução, um dano começou a se acumular em todo o volume RAID.

O disco começou a ficar mais danificado após a reconstrução e os dados começaram a ficar corrompidos.

O disco nunca foi expulso do volume RAID, a falha do controlador é tarefa para proteger a integridade dos dados.

Esse exemplo é escrito para fazer você pensar que um controlador não pode empurrar um volume com URE, é para a integridade dos dados, já que o volume não é um backup, mas uma resiliência a uma falha de disco

    
por 28.10.2018 / 03:18
1

Eu sugeriria ler esta pergunta e responder por um pouco mais de conhecimento. Em seguida, leia novamente a pergunta que você vinculou novamente.

Quando alguém diz sobre essa situação que "o RAID falhou", isso significa que você perdeu o benefício do RAID - você perdeu o acesso contínuo aos dados que, em primeiro lugar, configurou o array RAID.

Você não perdeu todos os dados, mas a maneira mais comum de recuperar de uma unidade inativa além de (alguns) UREs (algumas) das unidades restantes seria reconstruir completamente a matriz a partir do zero, o que significa restaurar todos os seus dados do backup.

    
por 28.10.2018 / 03:28