smartmontools
Inhaltsverzeichnis
Ü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