depuração de dados é apresentado a mim como uma maneira de atenuar o que é chamado de podridão (no armazenamento em massa) .
O raciocínio é que os dados nos discos rígidos podem "decair" / "apodrecer" e, portanto, ficar corrompidos, e para impedir que os produtores do disco rígido, os discos adicionem internamente alguns dados de correção adicionais para cada bloco escrito. Um pouco de podridão ocorre quando os dados e seus dados de correção / proteção acompanhantes (algum tipo de código de correção de erros ECC) não conseguem corrigir os dados encontrados em uma unidade.
Agora, meu entendimento / informação no momento é que, ao longo do tempo, os dados (e suas informações de correção adicionadas) são perdidos gradualmente. Isso significa que quanto mais tempo você esperar, mais a bit-rot ocorre internamente até que um ponto seja atingido em cascata, no qual nenhuma correção é possível (ou seja, os dados corrigidos adicionados internos não oferecem informações suficientes para reparo).
A depuração de dados parece ajudar a atenuar a podridão de bits. Eu imagino que seja internamente uma leitura de todos os dados do drive e uma verificação dos dados com os dados adicionais de correção de erros. Se enquanto o teste a unidade encontrar um problema, ele pode corrigir o erro. Além disso, todos os bytes internos de bit-rot (que ainda não aceitam um URE real) podem ser recuperados em um estado melhor.
Isso tudo foi dito: como eu acionaria o dispositivo para fazer essa limpeza de dados?
É smartctl
ou hdparm
?
Com smartctl
, há três tipos de teste: conveyence
, short
, long
/ extended
. O único que realmente faz sentido para mim é long
, já que obviamente levaria tempo para ler todos os dados da unidade para permitir um possível reparo.
Uma pergunta que visa isso com relação a um RAID 1 encontrado aqui: detecção e correção de apodrecimento de bits com o mdadm
Eu quero saber como fazer isso, quando não há RAID, apenas uma unidade SATA simples.