smartmontools

Übersicht

Ein Festplattenausfall kommt meist überraschend und geht oft mit dem Verlust von Daten einher. Wehe dem, der nicht vorgesorgt hat, z.B. durch ein RAID-Festplatten-Verbund oder ein Backup.

Die smartmontools können Zustandsdaten der Festplatte auslesen und so dazu beitragen, rechtzeitig einen sich anbahnenden Festplatten-Ausfall zu erkennen.

Wie der Name schon vermuten lässt, geschieht dies mit Hilfe von S.M.A.R.T. = Self-Monitoring, Analysis and Reporting Technology. Mit SMART können verschiedene Eigenschaften einer Festplatte ausgelesen werden, dazu benötigt man ein Programm wie z.B. die smartmontools.

Die smartmontools bestehen aus den beiden Programmen smartctl und smartd.

smartctl

Mit smartctl kann man den Zustand einer SMART-fähigen Festplatte steuern und abfragen. So können SMART Selbsttest- und Fehler-Logs ausgegeben werden, das SMART automatic offline test ein oder aus geschaltet werden oder Festplatten-Selbsttests angestoßen werden.

Die Syntax ist die folgende:

smartctl [Optionen] device

SMART aktivieren

Für die Festplatte /dev/sda muss dazu folgendes eingegeben werden:

smartctl -s on -o on -S on /dev/sda

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
SMART Attribute Autosave Enabled.
SMART Automatic Offline Testing Enabled every four hours.

Entscheidende SMART-Informationen auslesen

Um die sprechenden herstellerspezifischen SMART-Informationen zu bekommen, ist -A zu übergeben

smartctl -A /dev/sda

Ergebnis kann dann sein:

Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG  VALUE WORST THRESH TYPE    UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f  116  089   006   Pre-fail Always      -       113281943
  3 Spin_Up_Time            0x0003  095  095   000   Pre-fail Always      -       0
  4 Start_Stop_Count        0x0032  100  100   020   Old_age  Always      -       433
  5 Reallocated_Sector_Ct   0x0033  100  100   036   Pre-fail Always      -       0
  7 Seek_Error_Rate         0x000f  039  039   030   Pre-fail Always      -       9844084829673
  9 Power_On_Hours          0x0032  099  099   000   Old_age  Always      -       1155
 10 Spin_Retry_Count        0x0013  100  100   097   Pre-fail Always      -       0
 12 Power_Cycle_Count       0x0032  100  100   020   Old_age  Always      -       509
189 High_Fly_Writes         0x003a  100  100   000   Old_age  Always      -       0
190 Airflow_Temperature_Cel 0x0022  064  058   045   Old_age  Always      -       36(Lifetime Min/Max 34/36)
194 Temperature_Celsius     0x0022  036  042   000   Old_age  Always      -       36 (0 9 0 0)
195 Hardware_ECC_Recovered  0x001a  068  052   000   Old_age  Always      -       26439256
197 Current_Pending_Sector  0x0012  100  100   000   Old_age  Always      -       0
198 Offline_Uncorrectable   0x0010  100  100   000   Old_age  Offline     -       0
199 UDMA_CRC_Error_Count    0x003e  200  200   000   Old_age  Always      -       0
200 Multi_Zone_Error_Rate   0x0000  100  253   000   Old_age  Offline     -       0
202 TA_Increase_Count       0x0032  100  253   000   Old_age  Always      -       0

Die eigentlich interessanten Werte sind VALUE, WORST und THRESH. Unter VALUE ist der aktuelle normalisierte Wert des Attributes zu finden, WORST enthält den bisher schlechtesten Wert und THRESH den Grenzwert, unter welchem laut Hersteller die Festplatte ernsthaft bedroht sein soll.

Die jeweiligen Werte sind keine absoluten Angaben, sondern sind normalisiert. Je höher der Wert, desto besser der Zustand. So beginnen die Werte oft bei 100 oder 200 und werden bei Fehlern allmählich herunter gezählt.

Erläuterung der Eigenschaften

Wichtige Attribute sind vor allem:

Attribut-Name

Erklärung

Raw_Read_Error_Rate

Lesen-Fehlerrate, deutet auf Fehler der Lese/Schreib-Köpfe oder der Plattenoberfläche hin

Spin_Up_Time

Durchschn. Zeit vom Stillstand bis zur volle Arbeitsumdrehung

Reallocated_Sector_Ct

Zählt verschieben von defekten Sektoren in Reserve-Sektoren

Seek_Error_Rate

Fehler beim Ausrichten des Festplattenkopfes

Power_On_Hours

Laufzeit der Festplatte

Power_Cycle_Count

Anzahl der Anschaltvorgänge

Temperature_Celsius

Temperatur der Festplatte

Multi_Zone_Error_Rate

Fehlerrate beim Schreiben

Gesundheit-Status

Ausgabe des Gesundheit-Status der Festplatte, kommt hierauf eine Warnung, ist sofort zu handeln, da die Festplatte entweder schon defekt ist oder in wenigen Stunden ausfällt.

smartctl -H /dev/sda

Test einer Festplatte anstoßen

smartctl -t offline /dev/sda

Der Test dauert eine Zeit, anschließend können die Ergebnisse ausgelesen werden mit:

~# smartctl -l selftest /dev/sda
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Offline             Completed without error       00%      1156         -

Informationen zu allen Optionen sind in der MAN-Page zu finden.

smartd

Mit smartd kann man die Festplatte in regelmäßigen Abständen überwachen.

Tipps & Tricks

Betriebsbedingung

Im Feld Temperature_Celsius kann man z.B. auch erkennen, ob die Platte gut genug gekühlt wird.

Gebrauchte Platten

Mit den SmartMonTools kann man auch feststellen, wie lange eine Festplatte lief (etwa Power_On) und wie oft sie an und ausgeschaltet wurde (Power_Cycle_Count), was bei gebrauchten Platten interessant sein könnte.

Beispiele

Lizenz: GPL

Links

SmartMonTools (zuletzt geändert am 2018-06-17 15:53:08 durch vps84601116)