Was macht der SMART-Test und wie funktioniert er?

27

man smartctl Staaten (der Kürze halber geschnippt):

Die erste Kategorie , genannt "Online" -Tests. Die zweite Testkategorie wird als "Offline" -Test bezeichnet. Normalerweise unterbricht der Datenträger den Offlinetest, während Datenträgerzugriffe stattfinden, und setzt ihn dann automatisch fort, wenn der Datenträger ansonsten inaktiv wäre. Die dritte Testkategorie (und die einzige Kategorie, für die das Wort "Testen" wirklich angemessen ist) ist "Selbsttest".

Aktiviert oder deaktiviert den automatischen Offline-Test von SMART, bei dem das Laufwerk alle vier Stunden auf Datenträgerdefekte überprüft wird. Dieser Befehl kann während des normalen Systembetriebs gegeben werden.

Wer führt die Probefahrt-Firmware aus? Um welche Art von Tests handelt es sich - liest / schreibt die Firmware auf die Festplatte - was genau läuft ab? Ist es sicher, Tests im Betriebssystem (Linux) aufzurufen, oder kann ein Test für einen späteren Zeitpunkt geplant werden - wie geschieht dies -, wenn Sie das Betriebssystem an der BIOS-Eingabeaufforderung neu starten ("Offline-Test")? Wo werden die Ergebnisse angezeigt - SMART-Protokolle?

Wiedereinsetzung von Monica - M. Schröder
quelle

Antworten:

38
  1. Die Firmware des Laufwerks führt die Tests aus.

  2. Die Details der Tests können zB unter www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf nachgelesen werden, das die Elemente der kurzen und langen Tests wie folgt zusammenfasst:

    1. ein elektrisches Segment, in dem der Antrieb seine eigene Elektronik testet. Die speziellen Tests in diesem Segment sind herstellerspezifisch, aber als Beispiele: Dieses Segment kann solche Tests wie einen Puffer-RAM-Test, einen Lese- / Schreibschaltungstest und / oder einen Test der Lese- / Schreibkopfelemente enthalten.

    2. ein Such- / Servosegment, in dem das Laufwerk die Fähigkeit zum Auffinden und Servo auf Datenspuren testet. Die in diesem Test verwendete spezielle Methode ist auch herstellerspezifisch.

    3. ein Lese- / Überprüfungsscansegment, bei dem das Laufwerk ein Lese-Scannen eines Teils der Plattenoberfläche durchführt. Die Menge und der Ort der gescannten Oberfläche hängen von der Zeitbeschränkung für die Fertigstellung ab und sind herstellerspezifisch.

    4. Die Kriterien für den erweiterten Selbsttest sind mit zwei Ausnahmen dieselben wie für den kurzen Selbsttest: Segment (3) des erweiterten Selbsttests muss ein Lese- / Überprüfungsscan des gesamten Benutzerdatenbereichs sein, und es gibt keine maximale Zeit, die das Laufwerk benötigt, um den Test durchzuführen.

  3. Es ist sicher, zerstörungsfreie Tests durchzuführen, während das Betriebssystem ausgeführt wird, obwohl einige Leistungseinbußen wahrscheinlich sind. Wie die smartctlManpage für beide -t shortund sagt -t long,

Dieser Befehl kann im normalen Systembetrieb eingegeben werden (sofern nicht im Captive-Modus ausgeführt).

Wenn Sie den Captive-Modus mit aufrufen -C, wird smartctldavon ausgegangen , dass das Laufwerk nicht verfügbar ist. Dies sollte nicht auf einem Laufwerk durchgeführt werden, das das Betriebssystem verwendet.

Wie in der Manpage ebenfalls vorgeschlagen, sind die Offline-Tests (was einfach regelmäßige Hintergrundtests bedeutet) nicht zuverlässig und wurden nie offiziell Teil der ATA-Spezifikationen. Ich laufe stattdessen von cron weg; Auf diese Weise weiß ich, wann sie passieren sollten, und ich kann sie stoppen, wenn ich muss.

  1. Die Ergebnisse sind in der smartctlAusgabe zu sehen . Hier ist einer mit einem Testlauf:
[root @ risby images] # smartctl -a / dev / sdb
smartctl 6.4 04.06.2015 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (lokaler Build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
[...]
Revisionsnummer 1 der SMART Self-Test-Protokollstruktur
Num Test_Description Status Verbleibende Lebensdauer (Stunden) LBA_of_first_error
# 1 Extended Offline Abgeschlossen ohne Fehler 00% 20567 -
# 2 Extended Offline Abgeschlossen ohne Fehler 00% 486 -

Revisionsnummer 0 der SMART Selective-Selbsttest-Protokolldatenstruktur
Hinweis: Revisionsnummer 1 bedeutet, dass noch nie ein selektiver Selbsttest durchgeführt wurde
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_progress [90% übrig] (0-65535)
   2 0 0 Not_testing
   3 0 0 Not_testing
   4 0 0 Not_testing
   5 0 0 Not_testing

Beachten Sie zwei bereits abgeschlossene Tests (nach 486 bzw. 20567 Betriebsstunden) und den aktuell ausgeführten (10% abgeschlossen).

MadHatter unterstützt Monica
quelle
1
Wenn Sie smartmontools verwenden, kann der smartd-Daemon die regelmäßigen Tests durchführen, ohne dass ein Cronjob erforderlich ist. Es wird auch die Meldung von Laufwerksproblemen behandeln, obwohl eine proaktive Überwachung bevorzugt werden kann.
GnP
8

SMART-Implementierungen sind herstellerabhängig, manchmal sind recht umfangreiche Protokolle per smart -aBefehl verfügbar . Folgendes bekomme ich auf einem meiner selbstverschlüsselnden Laufwerke von Hitachi :

SMART Error Log Version: 1
ATA Error Count: 3

Error 3 occurred at disk power-on lifetime: 2543 hours (105 days + 23 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 08 00 08 00 00  Error: IDNF at LBA = 0x00000800 = 2048

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 08 68 00 08 00 40 00      00:00:06.139  READ FPDMA QUEUED
27 00 00 00 00 00 e0 00      00:00:06.126  READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00      00:00:06.125  IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00      00:00:06.125  SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00      00:00:06.125  READ NATIVE MAX ADDRESS EXT
...

Dieses Whitepaper gibt Aufschluss über die im Protokoll angezeigten Fehlercodes. Häufige Fehlerabkürzungen sind:

  • AMNF - Adressmarkierung nicht gefunden
  • TONF - Track 0 nicht gefunden
  • ABRT - Befehl abgebrochen
  • IDNF - Sektor ID nicht gefunden
  • UNC - Nicht korrigierbare Daten
  • BBK - Schlechte Blockmarke

In meinem Fall kann der IDNF-Fehler (ID Not Found) auf einen Vorfall zurückgeführt werden, bei dem das Laufwerk über einen USB-zu-SATA-Adapter angeschlossen und nicht ausreichend mit Strom versorgt wurde, sodass es nicht ordnungsgemäß gesucht werden konnte.

Dmitry Grigoryev
quelle