SmartMonTools: Skąd mam wiedzieć, czy na moim dysku twardym działa test smartctl?

40

Ja testuje dysk twardy z Smartmontools .

Stan dysku twardego przed testami (tylko jeden krótki test wykonany kilka dni temu):

$ 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         -

Więc zaczynam długi test :

$ 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.

Test powinien zostać uruchomiony , ale jeśli spróbuję zobaczyć jego postęp:

$ 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         -

... otrzymuję tylko te same wyniki, jak gdyby w tej chwili nie było uruchomionych / wykonujących testów.
Parametr „-H” nie daje więcej informacji:

$ 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

I dopóki proces nie jest uruchomiony (ten test jest przeprowadzany tylko przez kontroler dysku twardego), niektóre ps -ewyszukiwanie stylu nie powinno pomóc.

Skąd mam wiedzieć, czy w tej chwili działa jakiś autotest SMART ?

Sopalajo de Arrierez
źródło

Odpowiedzi:

43

W smartctl -a <device>look Self-test execution status.

Przykład, gdy nie jest uruchomiony żaden test:

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

Przykład podczas testu:

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

Podczas uruchamiania selektywnego autotestu ( -t select) będzie również widoczny postęp:

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)
frostschutz
źródło
2
Dobry pomysł. Sugeruję, aby dodać tę bezpośrednią linię (poprzez grepping) jako opcję:, smartctl -a /dev/sda | grep "progress" -i -A 1aby wyciąć nadmierny wydruk informacji.
Sopalajo de Arrierez
1
Potrzebujesz jednak nadmiernego wydruku, aby uzyskać cały obraz. W skrypcie grep może być w porządku, ale ludzie, którzy są przyzwyczajeni do grepwszystkiego w wierszu poleceń ( dmesg | grep something, smartctl -a | grep ...etc.), będą przegapić rzeczy. W smartctlszczególności nie ma prostego polecenia, które mówi, że wszystko jest w porządku ... smartctl -Hjest fałszywym przyjacielem w tym względzie.
frostschutz
@frostschutz „smartctl -H jest pod tym względem fałszywym przyjacielem”. Możesz powtórzyć! Ja też raz wpadłem na tę opcję, myśląc, że może to mieć związek z autotestami ... ale nie, zupełnie innym przedmiotem (i celem).
składniaerror
Co mam zrobić dla „Urządzenie nie obsługuje rejestrowania autotestu”?
Mr.WorshipMe
13

Próbować :

smartctl -c /dev/sda

jeśli / dev / sda jest dyskiem, który chcesz sprawdzić.

SebM
źródło
Edycja: Przepraszam. Myliłem się. -c oznacza - możliwości, ale także pokazuje bieżący postęp testu. jak60% of test remaining.
JPT