Entendo o argumento sobre a probabilidade aumentada de unidades maiores de experimentar um URE durante uma reconstrução, mas não tenho certeza de quais são as implicações reais para isso. 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 só afetaria os dados relacionados a alguns arquivos. A matriz ainda não seria reconstruída, apenas com uma pequena corrupção em alguns arquivos?
(Estou especificamente interessado na implementação do RAID5 do ZFS aqui, mas a lógica parece a mesma para qualquer implementação do RAID5.)
raid
zfs
zfsonlinux
process91
fonte
fonte
Respostas:
Realmente depende da implementação específica do RAID:
a maioria dos RAID de hardware abortará a reconstrução e alguns também marcarão a matriz como falhada , derrubando-a. A lógica é que, se um URE ocorrer durante uma reconstrução do RAID5, significa que alguns dados serão perdidos; portanto, é melhor parar completamente a matriz em vez de arriscar a corrupção silenciosa de dados. Nota: algum RAID de hardware (principalmente baseado em LSI) perfurará a matriz, permitindo que a reconstrução continue enquanto marca o setor afetado como ilegível (semelhante à maneira como o RAID de software Linux se comporta).
O RAID do software linux pode ser instruído para: a) interromper a reconstrução do array (o único comportamento de compilações "antigas" do MDRAID / kernels) ou b) continuar com o processo de reconstrução, marcando alguns LBA como ruins / inacessíveis. A lógica é que é melhor deixar que o usuário faça sua escolha: afinal, um único URE pode estar no espaço livre, não afetando os dados (ou afetando apenas os arquivos sem importância);
O ZRAID mostrará alguns arquivos como corrompidos, mas continuará com o processo de reconstrução (veja aqui um exemplo). Novamente, a lógica é que é melhor continuar e reportar ao usuário, permitindo que ele faça uma escolha informada.
fonte
Se o URE acontecer, você sofrerá uma corrupção de dados no bloco, que geralmente 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 no RAID5 é uma coisa totalmente diferente: a reconstrução é estressante e há grandes chances de você ter uma segunda falha de disco consecutiva. Nesse caso, todos os dados seriam perdidos.
fonte
Eu explicaria o contrário;
Se o controlador RAID não parar no URE, o que poderia acontecer?
Eu morava em um servidor, o RAID nunca notou o URE e, após a reconstrução, uma corrupção 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 iniciado com o volume RAID, a falha do controlador é tarefa para proteger a integridade dos dados.
Esse exemplo foi escrito para fazer você pensar que um controlador não pode impulsionar um volume com o URE, é para a integridade dos dados, pois o volume não é para ser um backup, mas uma resiliência a uma falha no disco
fonte
Sugiro ler esta pergunta e respostas para obter um pouco mais de experiência. Em seguida, leia novamente a pergunta à qual você vinculou .
Quando alguém diz sobre essa situação que "o RAID falhou", significa que você perdeu o benefício do RAID - o acesso contínuo aos dados foi o motivo pelo qual você configurou a matriz RAID em primeiro lugar.
Você não perdeu todos os dados, mas a maneira mais comum de recuperar de uma unidade morta mais (alguns) UREs em (algumas) unidades restantes seria reconstruir completamente a matriz do zero, o que significa restaurar todos os seus dados do backup.
fonte