Ich habe ein Laufwerk, das den Selbsttest nicht durchführen möchte:
# 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.
#
Jetzt würde ich erwarten, dass im Status die Meldung "Routine in Bearbeitung" angezeigt wird. Dies würde ich nicht nur erwarten, sondern auch für alle anderen Geräte!
Stattdessen wird jedoch "Vom Host abgebrochen" angezeigt:
# 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 -
Auf der anderen Seite smartctl -t long
erhalte ich beim erneuten Ausführen die Meldung, dass eine Überprüfung bereits ausgeführt wird und ich warten sollte. Ich kann es mit erfolgreich abbrechen -X
und neu starten -t long
und bekomme eine weitere Zeile in der Ausgabe mit "Aborted by host".
Was ist denn hier los?
Beachten Sie, dass auch wenn der Test tatsächlich durchgeführt werden kann (obwohl "90% verbleibend" immer stecken bleibt!), Ich die Nachrichtenausgabe "Routine in Bearbeitung" benötige, weil ich smartctl von einem Skript aus starte und warten muss, bis der Vorgang abgeschlossen ist fertig...
Antworten:
Wenn Ihr Skript sehen möchte, ob der Test abgeschlossen ist, sollten Sie nicht das Protokoll, sondern den Ausführungsstatus des Selbsttests (in der Ausgabe von
smartctl -a
) anzeigen .quelle