Vorbeugen statt Crash
Die Zuverlässigkeit von Festplatten überwachen mit smartmontools
Festplatten besitzten prinzipbedingt mechanisch bewegliche Teile: Die Scheiben rotieren mit 5400 oder 7200 oder noch mehr Umdrehungen pro Minute und die Mechanik der Köpfe ist starken Beschleunigungen und Verögerungen ausgesetzt. Das ganze macht eine Festplatte zum Verschleißteil. Die Hersteller geben eine mittlere Lebensdauer für ihre Produkte an – einen rein statistischen Wert, der nicht ausschließen kann, dass ein Gerät schon nach einem Monat Betrieb sein Leben aushaucht. Nach Morphys Gesetz passiert sowas natürlich immer zur Unzeit, also wenn das Backup gerade veraltet ist oder am Wochenende, wenn kein Computerladen offen hat.
Glück hat noch, wer beim Booten seines Rechners eines Tages eine Fehlermeldung folgender Art sieht:
SMART Failure Predicted on Primary Master: Maxtor 34098H4 Warning! Immediately back-up your data and replace your hard disk drive. A Failure may be imminent.
Die Meldung besagt, dass ein Versagen Ihrer Systemplatte droht. Sie werden aufgefordert, Ihre Daten sofort zu sichern und die Festplatte auszutauschen. Hier meldet das Rechner-BIOS, dass das Fehler-Erkennungssystem SMART der Platte zugeschlagen hat.
SMART an Bord
SMART ist die Self-Monitoring, Analysis and Reporting Technology, über die moderne ATA- und SCSI-Festplatten sowie SCSI-Bandlaufwerke verfügen. Neben der laufenden Protokollierung von Messwerten und Fehlern sind auch Funktionen zum Selbsttest der Geräte eingebaut. Gut wäre natürlich, von dem bevorstehenden unangenhmen Ereignis früher zu erfahren. Dafür sorgt das Softwarepaket Smartmontools. [1] Es dient dazu die SMART-Funktionen Ihrer Geräte aufzurufen und zu steuern – dank des zugehörige Daemon-Prozesses smartd auch automatisch.
Die Programme sind unter den aktuellen Versionen der Betriebssysteme Linux, FreeBSD, NetBSD, Solaris, Darwin und auch unter Microsoft Windows lauffähig. Die Linux-Version gibt es als Binary-RPM und als Source von [1]. An gleicher Stelle sind die Installationsarbeiten beschrieben. Smartmontools unterstützt die ATA/ATAPI-Standards ab Version 3 bis aktuell 7. Vorläufer war das Softwarepaket Smartsuite, dessen Entwicklung nach Version 2.1 im September 2001 verebbte.
Listing 1 zeigt, wie Sie mit smartctl Basisinformationen zum Gerät interaktiv abfragen. Die defekte Festplatte im obigen Beispiel ist als Primary-Master am IDE-Bus angeschlossen, darum wird sie über /dev/hda angesprochen. Grundsätzlich sind alle Kommandos unter Kennung root abzusetzen, weil der Zugriff auf die Gerätedateien für weniger priviligierte Kennungen nicht gestattet ist.
Listing 1
Informationen zum Gerät
# smartctl -i /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen === START OF INFORMATION SECTION === Device Model: Maxtor 34098H4 Serial Number: L4101EJC Firmware Version: YAH814Y0 Device is: In smartctl database [for details use: -P show] ATA Version is: 6 ATA Standard is: ATA/ATAPI-6 T13 1410D revision 0 Local Time is: Tue Aug 10 12:17:11 2004 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled
Sie erfahren, dass es sich um eine Festplatte vom Typ 34097H4 des Herstellers Maxtor mit der Seriennummer L4101EJC handelt, dass eine Version YAH814Y0 der Herstellersoftware an Bord ist und dass das Gerät dem ATA/ATAPI-Standard Version 6 entspricht. Für einen Umtausch innerhalb der gesetzlichen Gewährleitungszeit kann insbesondere die Kenntnis dieser Seriennummer wichtig sein.
Der SMART-Support ist bereits aktiviert, wie die letzte Zeile des Berichts mitteilt. Dies geht hier auf eine entsprechende Einstellung im BIOS des Rechners zurück. Erscheint bei Ihnen dort die Angabe Disabled, so rufen Sie zur Aktivierung smartctl mit der Option -s on auf.
Wie geht es uns denn heute?
Die Option -H bei Aufruf von smartctl fragt den so genannten Health-Status, also der Gesundheitszustand des Geräts ab. In Listing 2 lautet das Resultat FAILED, was auch der Grund für die Warnung beim Booten ist. Hier hat die Festplatten-interne SAMRT-Logik bereits 637 Mal einen defekten Sektor auf den Magnetscheiben ersetzt. Dabei bedient sich die Automatik einer "eisernen" Reserve ungenutzter Sektoren. Diese sind nun leider aufgebraucht. Wäre dagegen alles in Ordnung, dann lautete das Ergebnis PASSED.
Listing 2
Abfrage des Gesundheitszustands
# smartctl -H /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: FAILED! Drive failure expected in less than 24 hours. SAVE ALL DATA. Failed Attributes: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0x0033 001 001 063 Pre-fail Always FAILING_NOW 637
Der ATA-Standard definiert eine ganze Reihe von Attributen, die technische Eigenschaften des Geräts beschreiben [4]. Es bleibt den Herstellern überlassen, darüber hinaus eigene Attribute zu verwalten. Auch bei den Formaten zur Speicherung der Daten gibt es Unterschiede, insbesondere beim Attribut #9, das die Betriebszeit des Geräts angibt. Darum beinhalten die smartmontools eine Datenbank, in der die Belegung der Attribute bei den verschiedenen Modellen dokumentiert ist. Sollte Ihr Modell der letzten Version der Smartmontools nicht bekannt sein, so wenden Sie sich zur Behebung dieses Missstandes mit entsprechenden Informationen an die Mailingliste Smartmontools-database [2]. Das genaue Prozedere beschreibt die Smartmontools-Homepage.
Mit Option -A zeigt smartctl die Werte aller Attribute (siehe Listing 3). Kritische Zustände sind anhand des Vergleichs mit vom Hersteller vorgegebenen Schwellen zu erkennen. Die Spalte VALUE enthält den aktuellen Wert, die Spalte WORST den bislang schlechtesten aufgetretenen Wert und THRESH die vom Hersteller angegebene Schwelle. Fällt der aktuelle Wert auf den Wert der Schwelle oder darunter, so gilt das entsprechende Attribut als schadhaft. Im Beispiel oben (Listing 2) ist die Schwelle für das Attribut Reallocated_Sector_Ct mit 63 angegeben. Mit Angabe 1 liegt der aktuelle Wert schon sehr weit darunter und führt zur Ausweisung des Fehlerfalles FAILING_NOW in der Spalte WHEN_FAILED.
Listing 3
Abfrage der Attribute
# smartctl -A /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000a 253 252 000 Old_age Always - 41 3 Spin_Up_Time 0x0027 222 222 063 Pre-fail Always - 4458 4 Start_Stop_Count 0x0032 253 253 000 Old_age Always - 35 5 Reallocated_Sector_Ct 0x0033 001 001 063 Pre-fail Always FAILING_NOW 637 6 Read_Channel_Margin 0x0001 253 253 100 Pre-fail Offline - 0 7 Seek_Error_Rate 0x000a 253 252 000 Old_age Always - 0 8 Seek_Time_Performance 0x0027 252 246 187 Pre-fail Always - 38203 9 Power_On_Minutes 0x0032 253 253 000 Old_age Always - 16h+46m […]
Wichtig zur Beurteilung ist auch der Typ des Attributs, den die Spalte TYPE in Listing 3 angibt. Old_age-Attribute charakterisieren normale Alterungsprozesse der Festplatte. Kritisch sind Fehler bei den mit Pre-fail bezeichneten Attributen, da hier tatsächlich ein Versagen innerhalb der nächsten Stunden droht! In diesem Fall empfiehlt sich der sofortige Austausch des Geräts.



