O teste SMART nunca termina

17

Ao executar testes SMART usando smartmontools, NUNCA terminam. Eu sempre recebo "Interrompido (reinicialização do host.)" Em vários sistemas e discos diferentes, incluindo Debian em x86 e ARM, OS X em x64, com unidades externas e internas. Mesmo quando executado no modo cativo com os discos todos vazios (zerados com dd).

O que estou fazendo errado?

Max Ried
fonte
Você não está fazendo nada de errado com você. É o hardware que não está funcionando
Ramhound
É para funcionar?
Max Ried
Sim, deveria estar trabalhando
Ramhound
@MaxRied, você está dizendo que tentou isso em vários computadores diferentes com logs de discos diferentes e ainda nunca viu uma conclusão, mesmo para discos que você sabe que são saudáveis ​​a partir de uma ferramenta de análise SMART diferente?
Frank Thomas
@FrankThomas Sim.
Max Ried

Respostas:

14

Quando o inversor não lida com nenhuma atividade de entrada / saída durante o teste, ele pode entrar em espera, o que aumenta a Interrupted (host reset)condição. Tente ler do disco em intervalos adequados:

while true; do dd if=/dev/disk1 of=/dev/null count=1; sleep 60; done

(substitua /dev/disk1pelo dispositivo apropriado; lê um setor desse dispositivo a cada 60 segundos até você pressionar ctrl-c)

Isso ajudou no meu ambiente: OS X 10.6.8, unidade conectada a WD Elements USB, driver SAT-SMART 0.8.

Um teste em cativeiro deve teoricamente manter a unidade on-line. No entanto, o comando de hardware enviado smartctlpode expirar antes que o teste seja concluído, fazendo com que o kernel redefina o link e acabe na mesma situação que acima ( bug # 303 ).

Veja este tópico na lista de discussão smartmontools-support para obter mais detalhes. Agradeço a Christian Franke pela compreensão dada aqui.

sve.g
fonte
Outras possíveis interrupções ( serverfault.com/a/584055 ): um cabo defeituoso pode causar tempos limite e o kernel acionará uma redefinição. Tenho menos certeza de que é necessário parar o smartd. Qualquer tempo limite e interrupção aparecerão em dmesg / kern.log / journalctl -fk.
Tobu
Uau, isso é loucura! Confirmação - depois de soltar um HGST HDN726060ALE610 de um espelho zpool, ele ficou preso a 10% por 36 horas (terminará mais rápido sem outra atividade, CERTO?). Cinco minutos dessas pequenas leituras de dd fizeram com que ela terminasse. Ceticismo rejeitado.
Bill McGonigle
É /dev/disk1suposto ser o dispositivo ou a partição, ou seja, como /dev/sdaou /dev/sda1?
Merchako 12/06/19
@ Merchako Este é o Mac OS, onde é realmente assim.
Max Ried
5

Eu tentei a solução do Tobu, no meu caso, eu continuava encontrando a unidade USB externa no modo de suspensão, independentemente de algum tempo depois de iniciar o teste e interrompê-lo, parece que o dd acabou lendo no cache do kernel e o cache era grande o suficiente para o disco para entrar no modo de suspensão. Notei que chamar o smartctl para solicitar status sempre foi capaz de "ativar" o disco. Então: esta versão da mesma idéia fez o truque para mim:

sudo bash -c 'while true; do smartctl -a /dev/sdb > /dev/null; sleep 60; done'

Após 5 horas, o disco USB externo ainda está girando. Pela primeira vez, pude ver um teste longo do smartctl em um disco externo.

Acredito que essa solução também tenha a vantagem de que as cabeças do disco não são movidas desnecessariamente a cada minuto. O longo prazo terminou quase exatamente no tempo previsto (o script manter-se acordado não adicionou tempo à execução)

Ari
fonte
3

Uma variação na resposta de Ari é usar watch, porque a smartctlsaída pode ser realmente interessante para acompanhar o status:

sudo watch -d -n 60 smartctl -a /dev/sdx

Isso atualizará automaticamente a saída a smartctl -acada 60 segundos, para que você possa ver quanto tempo resta do autoteste e realce as alterações (para que seja mais fácil perceber que o teste está realmente progredindo).

GreatEmerald
fonte
+1, nunca visto watchantes.
Hashim
1

O teste em cativeiro pode não funcionar se demorar mais de 20 segundos.

Fonte: ticket nº 303 , intitulado "No modo cativo de teste inteligente, estenda o tempo limite, conforme descrito pelo dispositivo ATA".

Sergey V
fonte