O que acontece em um ataque (5) quando uma unidade ou mais recebe um setor ruim?

0

Uma pergunta muito simples que não consegui encontrar uma resposta simples e clara em qualquer lugar online!

Eu tenho um RAID 5 em uma caixa NAS de 4 discos rígidos físicos e dois deles estão relatando alguns setores defeituosos. Eu só quero entender o que acontece em termos de como as unidades se relacionam umas com as outras e se os dados danificados nas unidades ruins podem ser copiados facilmente para os outros.

Esse bloco ruim é copiado mal para os outros drives cegamente (eu não assumo)? Minha compreensão limitada de como os dados são dispostos sobre os discos em uma invasão 5 pode explicar a ingenuidade dessa questão.

Eu uso caixas QNAP NAS e assim, enquanto esta questão é mais focada no Linux, é uma questão geral, eu preferiria não ser respondida apenas para o cenário do Linux.

    
por AdamJones 27.04.2018 / 17:08

2 respostas

2

Para responder à sua pergunta diretamente:

Is that bad block copied bad to the other drives blindly (I assume not)?

É possível sim.

Se você executasse uma operação do tipo " Verificar e reparar ", seria possível que dados incorretos fossem considerados corretos e que o dispositivo de paridade fosse atualizado ... mesmo quando o dispositivo de paridade está de fato correto, e um dos outros dispositivos está com defeito.

Esta é uma pergunta que não tem uma resposta simples, pois há muitas variáveis em jogo aqui.

"RAID5" pode soar como uma coisa padrão ... mas não é. O RAID5 não é um padrão entre diferentes implementações do fabricante e, potencialmente, até mesmo entre diferentes produtos de um determinado fabricante. O fato de este termo estar se tornando cada vez mais popular por simplesmente se referir a " armazenamento com um dispositivo de paridade " atrapalha ainda mais as águas. Devido a isso sozinho, não é fácil dar a você uma resposta " isso fará isso ".

Com uma configuração de " hardware RAID ", muitas vezes você descobrirá que erros de leitura não detectados são passados pelo sistema como bem-sucedidos, mesmo sem verificar os dados em relação ao dispositivo de paridade - por exemplo: se um setor é não detectado como ruim pelo dispositivo de armazenamento, a paridade não ajuda.

Com sistemas de arquivos mais modernos e avançados, como ZFS e Btrfs os dados são verificados e verificados com muito mais cuidado (os dados não foram verificados ou verificados anteriormente). Aqui, um erro de leitura silenciosa será detectado e corrigido, mesmo que o dispositivo de armazenamento não possa detectá-lo. Além disso, é possível determinar se o dispositivo de paridade está com defeito ou se o outro dispositivo está com defeito.

Quando um dispositivo de armazenamento sabe que uma leitura foi ruim, existem também possibilidades drasticamente diferentes. Dentro da arena de armazenamento magnético (Hard Disk Drive) você encontrará que:

  • As unidades de área de trabalho geralmente tentam várias vezes para realizar uma leitura bem-sucedida. Durante esse período, elas geralmente parecem não responder e isso pode durar segundos. Isso faz sentido, pois tal disco destina-se a ser usado sozinho, sem redundância.
  • As unidades
  • Enterprise ou " NAS " tendem a declarar a falha mais prontamente, preferindo permanecer disponíveis. Novamente, isso faz sentido, porque essa classe de disco espera poder recorrer a um espelho ou dispositivo de paridade para recuperação de erros em um nível mais alto. (Olhe para Recuperação de Erros com Limite de Tempo )

Quando se trata de setores defeituosos em discos, existem dois níveis nos quais o gerenciamento deles pode ser executado.

  1. O próprio disco pode decidir que um setor é " ruim " durante uma operação de E / S.
  2. O sistema de arquivos pode gravar um setor como " ruim " e, intencionalmente, evitá-lo.

Com os discos modernos, # 1 é mais comum, mas com os discos mais antigos # 2 foi o caminho - alguns discos antigos vieram com uma lista de setores defeituosos da fábrica, que você tinha que digitar quando comissionando.

Os discos não costumam realocar setores " ruins " em um erro de leitura (para que você possa tentar novamente), enquanto uma gravação com falha resultará em uma realocação.

Para mergulhar ainda mais fundo, existem dois modos principais de falha para um determinado setor:

  • Os dados parecem errados, mas o meio parece estar funcionando bem.
    • Um erro de leitura pode ser causado por inversões de bit ou sinal reduzido devido à fraca orientação magnética.
    • Uma gravação (ou reescrita) funcionará bem e, posteriormente, os dados serão lidos corretamente.
  • Os dados parecem incorretos e a mídia não funciona corretamente.
    • Um erro de leitura pode ser causado por problemas mais fundamentais com o meio de armazenamento - por exemplo, arranhões causados por um acidente de cabeça.
    • Uma gravação não funcionará corretamente. Isso normalmente acionará um setor para ser realocado.
por 27.04.2018 / 18:06
2

A maioria dos sistemas tratam da mesma maneira que um setor ruim em um dispositivo não-RAID.

Quando um sistema encontra um setor defeituoso em qualquer dispositivo, RAID ou não, ele tenta ler desse setor e mover os dados para outro setor. Ele fará o mesmo com o dispositivo RAID. A única diferença é que é muito mais provável que ele consiga mover com sucesso os dados para outro setor do dispositivo RAID lógico, já que os dados podem ser reconstruídos.

Normalmente, a camada RAID reporta para a próxima camada que o setor lógico está ruim, mas que foi capaz de ler seu conteúdo. Essa próxima camada geralmente atribui um novo setor lógico, grava os dados lá e atualiza suas informações de rastreamento de acordo.

    
por 27.04.2018 / 17:21