Wozu wird SMART benötigt?

In der heutigen Zeit ist Ausfallsicherheit in der IT nicht nur ein gewünschtes Feature, sondern für viele Unternehmen bares Geld. Damit eine hohe Verfügbarkeit erreicht wird, werden hohe Ansprüche an die Technik gestellt. Wichtig ist dabei auch eine Selbstüberwachung um auftretende Defekte schon frühzeitig zu erkennen. Aus diesem Grund wurde in Koopertion einiger Firmen (IBM, Compaq und weitere) die Technik S.M.A.R.T als weitestgehend standardisiertes Verfahren entwickelt um Festplatten zu überwachen. Insbesondere Festplatten sind auf Grund ihrer mechanischen Teile besonders fehleranfällig.

SMART unterscheidet sich bezüglich der realisierten Festplattenanschlüsse. Aus diesem Grund exisitiert ein ATA- und ein SCSI-Standard. Die Firmware des Laufwerks ermöglicht das Auslesen des HEALTH STATUS sowie der Temperatur, Selbsttests und Logbüchern. Bei ATA-Laufwerken können zusätzlich diverse Werte ausgelesen werden, die leider von Hersteller zu Hersteller, aber auch von Festplatte zu Festplatte desselben Herstellers nicht standarisiert und daher schwer zu interpretieren sind.

 

SMART Probleme mit externen Laufwerken!

Externe Laufwerke werden heutzutage meist per USB angeschlossen. USB nutzt weitestgehend SCSI-Komandos, was zu Problemen beim Auslesen von SATA-Laufwerken an USB-zu-SATA Adaptern führt. Um dieses Problem zu beheben müssen USB-(S)ATA-Bridges genutzt werden, welche die ATA-Komandos über USB tunneln. Zudem wurde ein standarisiertes Verfahren (SAT) entwickelt um SCSI- in ATA-Komandos zu übersetzen.

 

SMART Parameter - Kurz erklärt.

Die SMART-Parameter lassen sich in zwei Kategorien einteilen. Es gibt Werte, die ausfallrelevant sind und einige, welche über das Betriebsverhalten eines Laufwerks informieren.

Einige Beispiele von kritischen SMART-Parametern:

  • Seek Error Rate - Nicht korrigierbare Lesefehler, -> Neu einlesen
  • Raw Read Error Rate - Nicht korrigierbare Lesefehler -> Neu einlesen
  • Hardware ECC Recovered - Korrigierte Bitfehler beim Lesen
  • Reallocated Sector Count - Anzahl verbrauchter Reserve-Sektoren

Einige Beispiele von Informativen SMART-Parametern:

  • Power On Hours Count - Laufleistung in Stunden oder Sekunden
  • Load/Unload Cycle Count - Anzahl Parkvorgänge des Schreib-Lesekopfes
 

Western Digital Caviar Green / Load_Cycle_Count

Vor einigen Jahren gab es Berichte von Nutzern der WD "Green"-Reihe, welche sich über einen sehr hohen "load cycle count" beschwert haben. Problematisch an dem hohen Load-Cycle-Count ist, dass der Hersteller einen festen Wert für diese Platten hat, bis zu welchen das Funktionieren der Festplatte garantiert wird - Wird dieser überschritten ist also theoretisch keine Gewährleistung der Funktionalität vorhanden.

Bei besagten Festplatten existiert nun ein Problem unter Linux, da die Festplatten der Green-Reihe die Köpfe automatisch nach 8 Sekunden parken um Strom zu sparen - Linux weckt die Festplatten aber im Worst-case alle 5 Sekunden wieder auf - Es entsteht ein Load-Cycle-Count der bereits nach wenigen Monaten den Maximal-Wert des Herstellers um ein Vielfaches überschreitet, obwohl die Festplatten mit 3 Jahren Garantie ausgeliefert werden.

Beispiel:


193 Load_Cycle_Count    0x0032   056   056   000    Old_age   Always   -   434974
9 Power_On_Hours        0x0032   090   090   000    Old_age   Always   -     7548
= 314 days

Bei dieser Festplatte liegt das Maximum laut Herstellerangabe bei 300 000. Dennoch läuft die Festplatte problemlos weiter. Dieses ständige Parken und Aufwecken sollte aber um die Festplatte zu schonen ausgeschaltet werden - vor allem dann, wenn es sich um Festplatten im Server-Betrieb handelt, welche sich ständig in Bereitschaft befinden sollen.

Vorweg: Dieses 8-Sekunden-Parken lässt sich nur mittels eines Tools von Western Digital (wdidle) ausschalten und erfordert den Boot von einer DOS-Diskette. Linux-Seitig kann hier nur etwas nachoptimiert werden mittels:

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

Um die Writeback-Zeit von 5 Sekunden auf 15 Sekunden zu erhöhen muss folgender Wert angepasst werden:

commit=15

Dies erfolgt als Parameter beim Mounten eines ext* Dateisystems. Die Manpage zeigt dabei, dass alle 5 Sekunden geschrieben und die Festplatte somit aufgeweckt wird:

commit=nrsec
Sync  all  data  and  metadata  every nrsec
seconds. The default value is 5 seconds. Zero
means default.

Mit Hilfe von hdparm lässt sich dann das Stromsparverhalten noch etwas weiter beeinflussen.

 

SMART-Software

Verwendung von smartmontools

Mit Administratorrechten kann der Status eines Laufwerks mit dem Befehl

smartctrl -a /dev/sdx

ausgegeben werden.

Auswertung der Tabelle

  • ID - Gibt die Parameter ID an.
  • ATTRIBUTE_NAME - Gibt den Parameternamen an.
  • FLAG - durch den Hersteller gesetzte Attribute
  • VALUE - normalisiert Wert (zählt meist rückwärts)
  • WORST - bisher schlechteste Wert
  • THRESH TYPE - unterster Grenzwert
  • UPDATED - gibt den Update-Zyklus an. Entweder permanent(always) oder durch einen Selbsttest(offline data collection)
  • RAW_VALUE (RAW) - beschreibt den gemessenen Wert

Zur Verdeutlichung:

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW
1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0003 160 154 021 Pre-fail Always - 2983
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 877
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x000e 200 200 051 Old_age Always - 0
9 Power_On_Hours 0x0032 070 070 000 Old_age Always - 2489
10 Spin_Retry_Count 0x0012 100 100 051 Old_age Always - 0
11 Calibration_Retry_Count 0x0012 100 100 051 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 876
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 260
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 877
194 Temperature_Celsius 0x0022 117 099 000 Old_age Always - 26
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 051 Old_age Offline - 0

 

Der Wert VALUE wird meist rückwärts gezählt. Das bedeutet je niedriger desto schlechter. WORST ist der schlechteste Wert der gelesen wurde und THRESH ist der Wert, unter welchen VALUE/WORST nicht fallen darf. Bei dieser Festplatte sind die Werte VALUE und WORST nicht unter dem von THRESH - Die Festplatte ist also in Ordnung.

Ein Beispiel mit sehr hoher "Raw Value":

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED FAILED RAW_VALUE
7 Seek_Error_Rate 0x000f 083 060 030 Pre-fail Always - 212309017
9 Power_On_Hours 0x0032 065 065 000 Old_age Always - 31526
190 Airflow_Temperature_Cel 0x0022 061 046 045 Old_age Always - 39 (Lifetime Min/Max 20/54)
195 Hardware_ECC_Recovered 0x001a 070 068 000 Old_age Always - 192844721

 

  • Die hohe Seek_Error_Rate deutet auf Positionierungsprobleme der Lese-/Schreibeinheit hin. Es handelt sich hierbei um nicht korrigierbare Fehler beim Lesen von der Festplatte, welche dazu führen das erneut eingelesen wird.
  • Power_On_Hours zeigt das die Festplatte bereits 3-einhalb Jahre alt ist (31526 / 24 / 365 = 3.59).
  • Airflow_Temperature_Cel ist mit dem "Worst" Wert sehr nah an das Threshold gekommen; hat dieses aber nicht unterschritten.
  • Hardware_ECC_Recovered kann auf Probleme mi der Plattenoberfläche hindeuten; Sehr hohe Werte sind hier allerdings nicht unbedingt ein Indiz für eine fehlerhafte Festplatte. Die hohe Datendichte heutiger Festplatte führt dazu, dass sich die Magnetfelder einzelner Bits überlappen, wodurch die Fehlerkorrektur automatisch anschlägt. Der Wert behandelt also Korrigierte Bitfehler beim Lesen.

Die Festplatte ist grundsätzlich also in Ordnung, sollte aber auf Grund des Alters und der hohen Werte überwacht werden, da ein Versagen durchaus nicht ausgeschlossen ist.

Testen mit smartctl

SMART unterstützt verschiedene Testmodi. Dazu gehören ein Online-Test, ein Offline-Test und ein Selbsttest. Ein Online-Test kann jederzeit, auch im Betrieb des Laufwerks erfolgen. Er beeinflusst das Betriebsverhalten nicht. Offline-Tests können nur bei nicht benutzen des Laufwerks ausgeführt werden. Standardmäßig geschieht dies in der Idle-Zeit. Ein Selbsttest muss vom Administrator von Hand angestoßen werden und dauert unter Umständen sehr lange. Das Laufwerk ist während des Tests nicht einsatzbereit.

smartctl -t long /dev/sdx  - startet einen langen Selbsttest ( Oberflächenanalyse )
smartctl -t short /dev/sdx  - startet einen kurzen Selbsttests
smartctl -t offline /dev/sdx  - startet sofort die Offline Tests

Fehler können mittels

smartctl -l error /dev/sdx

ausgegeben werden

Der nützliche Helfer smartd

smartd ist der Daemon zu smartctl, welcher die Laufwerke regelmässig überwachen kann und im Fehlerfall benachrichtigt, sollte ein Laufwerk einen kritischen Zustand erreichen. Die Berichte können beispielsweise per E-Mail zugestellt werden.

Um smartd zu nutzen muss er zum Systemstart gestartet werden. Das können wir im Konfigurationsdatei.

/etc/default/smartmontools

einstellen. In der Datei

/etc/smartd.conf

finden wir dann die eigentliche Konfiguration. Die Standardkonfiguration sieht das überprüfen aller Laufwerke vor und besteht aus dem folgenden Einzeiler.

DEVICESCAN -d removable -n standby -m root -M exec  
 /usr/share/smartmontools/smartd-runner

Der Bericht wird in diesem Fall direkt an den User root zugestellt. Sollten wir einzelne Laufwerke prüfen wollen, so müssen wir die Zeile DEVICESCAN auskommentieren. DEVICESCAN bewirkt, dass alle anderen Zeilen im Konfigurationsdatei ignoriert werden.

Um ein einzelnes Laufwerk zu prüfen können wir folgende Zeile einfügen. In diesem Fall stellen wir den Bericht an ein E-Mailkonto zu. Hierzu ist eventuell noch weitere Konfiguration für den externen Mailversand nötig.

/dev/sdx  -m admin@example.com -M exec /usr/share/smartmontools/smartd-runner

Was kann SMART, was kann es nicht?

SMART ist die einzige Möglichkeit die Lebensqualität seiner Laufwerke im Auge zu behalten. Obwohl es einheitliche Standarts gibt, den Gesundheitszustand der Laufwerke auszulesen, lassen die Werte weiten Spielraum bei der Interpretation. Leider gibt es meist keine Herstellerspezifische Vergleichswerte, welche eine genaue Analyse auch Produkt übergreifend erlauben. Des Weiteren ist SMART kein Allheilmittel. Es ist nicht ausgeschlossen, dass das Laufwerk trotz guter Werte kurz vor einem Ausfall steht. Es dient lediglich der Prävention eines Ausfalls.

 

Hotline
 
Hotline des Rechenzentrums

Fragen? Rufen Sie uns an!
Montag - Freitag 10:00 - 19:00 Uhr

+49 69 - 900 180 - 0

 
Aktionen & News
 

Dedizierte Supermicro Xeon Server - ab 70,00 Euro

Angebote

 

Zweiter Standort
 
Hotline des Rechenzentrums

Erfahren Sie mehr über unseren zweiten Standort in der Hanauer Landstrasse in Frankfurt am Main.

mehr erfahren

Zertifizierungen
 
TüV geprüftes Rechenzentrum
ISO 27001 zertifiziertes Rechenzentrum
ISO 9001 zertifiziertes Rechenzentrum


Knowledge Base
 

Hilfreiche Artikel zum Thema Netzwerk, Server & IT.

mehr erfahren


Galerie
 

Sehen Sie sich in einem virtuellen Rundgang in unserem Rechenzentrum um:

Niederspannungshauptverteilung Unterbrechungsfreie Strom Versorgung
Kaltwassererzeuger Bereitstellung individueller SAT-Dienstleistungen


100% Ökostrom
 
100% Öko-Strom