Este comando:
badblocks -svn /dev/sda
O que isso faz? Ele apenas relata os blocos ruins? Ou de alguma forma ele lida com os blocos ruins para que eu não precise me preocupar com eles?
Eu li o manual por man badblocks
, mas não tenho a -n
opção:
-s Show the progress of the scan by writing out rough percentage completion of
the current badblocks pass over the disk. Note that badblocks may do multiple
test passes over the disk, in particular if the -p or -w option is requested
by the user.
-v Verbose mode. Will write the number of read errors, write errors and data-
corruptions to stderr.
-n Use non-destructive read-write mode. By default only a non-destructive read-
only test is done. This option must not be combined with the -w option, as
they are mutually exclusive.
A saída da execução badblocks -svn /dev/sda
que durou quase dois dias:
Atualizar
Alguns posts sugerem que depois de executar badblocks -svn /dev/sda
, o controlador do disco rígido cuidaria dos blocos defeituosos. Não tenho certeza.
para que o controlador de disco rígido substitua os blocos defeituosos por blocos sobressalentes.
https://askubuntu.com/a/490552/507217
Se você processou totalmente seu disco dessa maneira, o controlador de disco deve ter substituído todos os blocos defeituosos por blocos de trabalho e a contagem realocada será aumentada no log SMART.
https://askubuntu.com/a/490549/507217
INTELIGENTE
Verifiquei a tabela SMART depois de executar o badblocks
comando:
smartctl --all /dev/sda
Observe que Current_Pending_Sector
o valor bruto é 56
. É o dobro do 28
relatado por badblocks
. Talvez estejam relacionados.
Interpretação do erro
De acordo com isso:
Como interpretar a saída de badblocks
badblocks
log de erros está na forma de reading/writing/comparing
. No meu caso, todos os 28
erros são erros de leitura. Ou seja , nenhum aplicativo pode ler esses blocos.
Registros do SO
Eu olhei para os logs do sistema operacional por sudo journalctl -xe
. Na verdade, a SMART está lançando erros sobre esses 56
setores defeituosos ( 28
blocos defeituosos):
smartd[1243]: Dispositivo: /dev/sda [SAT], 56 setores atualmente ilegíveis (pendentes)
Conclusão
Prefiro fazer backup dos dados e substituir o disco rígido antes que seja tarde demais.
O " modo de leitura e gravação não destrutivo " acionado pela
-n
opção grava os dados de teste em cada bloco, assim como o-w
, e força o disco a aceitar a gravação, realocar um bloco defeituoso ou retornar um erro de gravação.No entanto, sua grande vantagem é que ele primeiro lê o bloco que está prestes a substituir e reescreve esses dados após os dados de teste serem gravados. Isso significa que, após
badblocks
a conclusão, o disco deve conter os mesmos dados que continha antes de iniciar a execução.Processo
Embargo
Gravar um bom bloco de dados em um disco resultará na operação esperada: o bloco será gravado. No entanto, se a gravação falhar, o firmware do disco remapeará de forma automática e transparente o endereço do bloco para um de seus blocos sobressalentes e tentará novamente a gravação para você nesse novo local no disco. Desde que essa gravação seja bem-sucedida, você não saberá nada de diferente e o disco parecerá perfeitamente normal. (Na tabela SMART, o contador de Setor Realocado será aumentado em um.) Eventualmente, com o passar do tempo, o conjunto de blocos sobressalentes pode se esgotar e, a partir desse ponto, as gravações de disco que teriam sido remapeadas simplesmente falharão.
Um teste de gravação de disco completo, como um fornecido por ou
badblocks
forçará gravações em todos os blocos de disco, garantindo que todos estejam disponíveis para você ou realçando blocos de disco que não podem ser remapeados.-w
-n
Observe que
badblocks
isso não garante que você não tenha perdido dados : se ele não puder ler um bloco, ele não poderá reescrevê-lo após o teste, portanto, ele não executa o teste de gravação (mas informa o bloco como ruim). Sebadblocks
não puder ler um bloco, nenhum outro aplicativo poderá fazê-lo e seus dados serão perdidos .Minha recomendação seria que, se você obtiver algum bloco de disco que não possa ser remapeado, substitua o disco o mais rápido possível, porque você não tem mais nenhuma rede de segurança. (Pessoalmente, eu substituiria esse disco antes de chegar a esse estágio.) A
ddrescue
ferramenta pode ajudar a copiar dados desse disco quebrado para um novo.