SmartMonTools: Como posso saber se existe algum teste smartctl em execução no meu disco rígido?

31

Estou testando um disco rígido com SmartMonTools .

Status do disco rígido antes dos testes (apenas um teste curto realizado há alguns dias):

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -

Então começo o teste longo :

$ sudo smartctl -t long /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 130 minutes for test to complete.
Test will complete after Sat May  9 16:05:27 2015

Use smartctl -X to abort test.

O teste deve estar sendo executado , mas se eu tentar ver o progresso dele:

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -

... tudo que eu obtenho são os mesmos resultados, como se não houvesse testes de execução / execução agora.
O parâmetro '-H' não fornece mais informações:

$ sudo smartctl -H /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

E, desde que não exista nenhum processo em execução (este teste é realizado apenas pelo controlador de disco rígido), alguma pesquisa de estilo ps -e não deverá ajudar.

Como posso saber se existe algum autoteste SMART em execução agora?

    
por Sopalajo de Arrierez 09.05.2015 / 12:43

2 respostas

37

Em smartctl -a <device> , procure Self-test execution status .

Exemplo quando nenhum teste está em execução:

Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.

Exemplo enquanto um teste está sendo executado:

Self-test execution status:      ( 249) Self-test routine in progress...
                                        90% of test remaining.

Ao executar o autoteste seletivo ( -t select ), haverá também um progresso mostrado aqui:

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA    MAX_LBA  CURRENT_TEST_STATUS
    1        0  125045423  Self_test_in_progress [90% left] (2881512-2947047)
    
por 09.05.2015 / 13:06
10

Tente:

smartctl -c /dev/sda

se / dev / sda for a unidade que você deseja verificar.

    
por 20.09.2015 / 19:30