Dysk nie wykonuje „autotestu” podczas używania „smartctl”?

0

Mam jeden dysk, który nie chce przeprowadzać autotestu:

# smartctl -t long /dev/ada3
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.2-RELEASE-p3 amd64] (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 379 minutes for test to complete.
Test will complete after Thu Apr  2 07:25:59 2015

Use smartctl -X to abort test.
#

Teraz spodziewałbym się, że zobaczę komunikat „rutyna w toku” w statusie. Nie tylko bym się tego spodziewał, ale tak też działa w przypadku wszystkich innych urządzeń!

Jednak zamiast tego otrzymuję „Przerwany przez gospodarza”:

# smartctl -l selftest /dev/ada3
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.2-RELEASE-p3 amd64] (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  Extended offline    Aborted by host               90%      1068         -
# 2  Extended offline    Aborted by host               90%       761         -

Z drugiej strony, jeśli ponownie uruchomię smartctl -t long Dostaję wiadomość, że jeden czek jest już w toku i powinienem poczekać. Mogę to skutecznie anulować -X i uruchom go ponownie -t long i otrzymuję kolejną linię na wyjściu z „Aborted by host”.

Co tu się dzieje?

Zauważ, że nawet jeśli test może być rzeczywiście wykonywany (chociaż „90% pozostałych” jest zawsze zablokowane!) Potrzebuję wyjścia komunikatu „w toku”, ponieważ uruchamiam smartctl ze skryptu i muszę poczekać na operację skończone...

divB
źródło
Dyski zazwyczaj oferują trzy wersje próbne. Wspominasz tylko o „długim” teście. A co z szybkim i krótkim?
sawdust
Dobry chwyt! Wydaje się, że test po prostu nie pojawia się w „-l selftest” podczas działania. Po pierwsze, kolejna linia „Przerwany przez użytkownika” jest dodawana dopiero po wykonaniu „smartctl -X” (anuluj). Po drugie, dla „-t short” test nie pojawia się w „-l selftest” podczas pracy! Jednak po zakończeniu widzę test selftestu z „Krótkim offline zakończonym bez błędu”. W każdym razie jest to problematyczne, ponieważ łamie mój skrypt (muszę wiedzieć, kiedy test autotestu jest uruchomiony)
divB

Odpowiedzi:

0

Jeśli twój skrypt chce sprawdzić, czy test został ukończony, nie powinieneś patrzeć na dziennik, ale raczej na status wykonania autotestu (w wyniku smartctl -a ).

psusi
źródło