Festplatte mit Smart prüfen

Im Gegensatz zu anderen Serveranbietern auf dem Markt tauschen wir bereits Festplatten, wenn diese einen möglichen Defekt aufweisen. Das bedeutet, wir warten nicht, bis die Festplatte einen Software RAID Verbund beschädigt oder bis diese vollständig defekt ist, bevor der Austausch durch einen Techniker vorgenommen wird. Es empfiehlt sich daher für unsere Kunden regelmäßig zu prüfen, ob die Festplatten im RAID Verbund auffällige SMART Werte aufweisen.

 

SMART Werte einer Festplatte auslesen

Unter Linux ist das auslesen der SMART Werte einer Festplatte sehr einfach. Sie müssen den Server lediglich über unseren Bootmodus in das Bootimage SysrescueCD booten oder auf das Debian / Ubuntu das Tool smartmontools installieren. Der Befehl für die Installation lautet:

apt-get install smartmontools

Wurde das Tool Smartmontools installiert, kann man mit Hilfe des Befehls:

smartctl -a /dev/sda

Die Smart Werte der entsprechenden Festplatte auslesen. Je nach dem wie viele Festplatten im Server eingesetzt werden, muss man hier sda gegen sdb, sdc, … ersetzen.

 

Das Ergebnis der Smart Werte könne dann wie folgt aussehen:

 

SSD
SMART Attributes Data Structure revision number: 10
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   ---   ---   ---    Pre-fail  Always       -       14597175146359
  5 Reallocated_Sector_Ct   0x0033   100   100   003    Pre-fail  Always       -       1
  9 Power_On_Hours          0x0032   ---   ---   ---    Old_age   Always       -       5861434915543908352
 12 Power_Cycle_Count       0x0032   ---   ---   ---    Old_age   Always       -       353380
171 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       5
177 Wear_Leveling_Count     0x0000   000   000   000    Old_age   Offline      -       3
181 Program_Fail_Cnt_Total  0x0032   000   000   000    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   000   000   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Lifetime Min/Max 30/30)
195 Program_Failure_Blk_Ct  0x001c   ---   ---   ---    Old_age   Offline      -       14597175146616
196 Erase_Failure_Blk_Ct    0x0033   ---   ---   ---    Pre-fail  Always       -       91236
201 Write_Commands_Tot_Ct   0x001c   ---   ---   ---    Old_age   Offline      -       14597175146616
204 Bad_Block_Full_Flag     0x001c   ---   ---   ---    Old_age   Offline      -       14597175146616
230 Head_Amplitude          0x0013   100   100   000    Pre-fail  Always       -       100
231 Temperature_Celsius     0x0013   100   100   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0000   000   000   000    Old_age   Offline      -       2721
234 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       3727
241 Total_LBAs_Written      0x0032   000   000   000    Old_age   Always       -       3727
242 Total_LBAs_Read         0x0032   000   000   000    Old_age   Always       -       4102


HDD
SMART Attributes Data Structure revision number: 10
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   117   095   006    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0003   093   093   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       41
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   086   060   030    Pre-fail  Always       -       449237574
  9 Power_On_Hours          0x0032   046   046   000    Old_age   Always       -       47975
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       41
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   063   034   045    Old_age   Always   In_the_past 37 (Lifetime Min/Max 32/46)
194 Temperature_Celsius     0x0022   037   066   000    Old_age   Always       -       37 (0 21 0 0)
195 Hardware_ECC_Recovered  0x001a   056   053   000    Old_age   Always       -       19103120
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 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

 

Bedeutung der SMART Werte

Nachfolgend finden Sie die Bedeutung der einzelnen SMART Positionen. Rot markiert sind solche, die auf einen Festplattendefekt hinweisen können.

 

Raw_Read_Error_Rate

Anzahl der bislang aufgetretenen Lesefehler. Dieser Wert weist allerdings nicht zwangsweise auf einen Festplattendefekt hin, denn die Festplattenhersteller unterziehen einige Festplatten vor Auslieferung mehreren zusätzlichen Tests, daher kann dieser Wert z.B. bei Seagate Festplatten bereits ab Auslieferung eine sehr große Zahl aufweisen, obwohl die Festplatte völlig in Ordnung ist.

 

Reallocated_Sector_Ct

Jede Festplatte verfügt über eine gewisse Anzahl an Reservesektoren. Sollte daher ein Sektor der Festplatte einen Defekt aufweisen, werden im besten Fall die Reservesektoren aktiviert. Steigt dieser Wert signifikant, kann das ein erstes Anzeichen eines Festplattendefekts sein.

 

Spin_Up_Time

Zeit in Millisekunden, bis die Festplatte die volle Umdrehungsgeschwindigkeit erreicht hat. Ein geringer Wert weist auf einen möglichen Schaden des Motors hin. Dies könnte sich auch durch eine langsame Ladezeit von Programmen äußern.

 

Start_Stop_Count

Anzahl wie oft der Festplattenmotor sich eingeschaltet hat.

 

Seek_Error_Rate

Dieser Wert beschreibt die Anzahl der Positionsfehler des Schreib-/Lesekopfs der Festplatte. Steigt dieser Wert kann dies ein Zeichen für einen schleichenden Festplattendefekt sein.

 

Power_On_Hours

Bisherige Betriebsdauer der Festplatte in Stunden gemessen. Dies ist allerdings herstellerabhängig. Einige Hersteller messen die Betriebsdauer auch in Minuten. Dies kann kritisch sein, sofern die vom Hersteller angegebene MTBF Zeit überschritten ist. Im Normalfall ist dies aber ein Wert unter optimalen Bedingungen der in der Realität selten erreicht wird.

 

Spin_Retry_Count

Anzahl der Startversuche der Festplatte. Steigt dieser Wert ist dies ebenfalls ein Zeichen für einen schleichenden Festplattendefekt.

 

Power_Cycle_Count

Anzahl der Anschalte-Vorgänge der Festplatte. Bei Green Festplatten ist dieser Wert normalerweise sehr hoch, da diese die Geschwindigkeit reduzieren, wenn die Festplatte wenig in Nutzung ist. In unseren Serversystemen sind allerdings keine Green Festplatten verbaut, da durch den Dauerbetrieb die Lebenserwartung einer solchen Green Festplatte zu gering ist.

 

Wear_Leveling_Count

Dies ist ein Wert, der nur bei SSD Festplatten vorkommt. Er definiert die Anzahl der Löschvorgänge auf einem einzelnen Speicherblock. Ist dieser Wert sehr hoch, sollte ebenfalls ein Tausch der Festplatte vorgenommen werden.

 

Program_Fail_Cnt_Total

Wenn das Schreiben auf die SSD Festplatte fehlschlägt bzw. der Flash Speicher der SSD Festplatte erschöpft ist.

 

Erase_Fail_Count_Total

Dieser Wert spiegelt die Anzahl der auf der SSD Festplatte fehlgeschlagenen Löschvorgänge wieder.

 

High_Fly_Writes

Informiert darüber, wenn der Schreib-/Lesekopf außerhalb des normalen Betriebsbereichs liegt. Dieser Wert sollte immer bei 0 liegen. Ansonsten weist er ebenfalls auf einen Festplattendefekt hin.

 

Airflow_Temperature_Cel

Umgebungstemperatur der Festplatte. Diese kann bei unseren Serversysteme etwas höher sein, da im Rechenzentrumsumfeld durch die Menge an Serversystemen eine durchaus höhere Umgebungstemperatur vorliegen kann. Ein Wert wie z.B. (Lifetime Min/Max 32/46) ist durchaus normal, je nach dem wie viele Festplatten übereinander im Gehäuse angebracht sind. Sollte der Wert deutlich höher liegen, kann dies auf einen Lüfter defekt im Gehäuse hinweisen. Dieser sollte dann durch einen Techniker geprüft werden.

 

Reported_Uncorrect / Hardware_ECC_Recovered

Anzahl der UNC Fehler die durch den Error Correction Code behoben werden.

 

Offline_Uncorrectable

Anzahl der fehlerhaften Sektoren, die während eines offline-Scan der Festplatte erkannt wurden. Diese Scans starten z.B. wenn sich die Festplatte im Leerlauf befindet vergleichbar mit einem Selbsttest.

 

Current_Pending_Sector

Die Anzahl der Sektoren, die darauf warten wieder gestartet oder neu zugeordnet zu werden. Im Optimalfall ist dieser Wert ebenfalls bei 0.

 

Temperature_Celsius

Temperatur der Festplatte. Ob dieser Wert kritisch oder nicht ist, ist von der Festplattenart abhängig. Manche Festplatten haben eine höhere Betriebstemperatur und manche eine niedrigere. Die Betriebstemperatur der Festplatte sollte aber 45 Grad nicht überschreiten.

 

Bad_Block_Full_Flag

Gibt die Anzahl der Bad Blocks wieder, im Optimalfall ist dieser Wert auf 0, allerdings kann es Herstellerabhängig sein, wie sich dieser Wert bei SSD Festplatten verhält.

 

Media_Wearout_Indicator

Gibt die Restlebensdauer der SSD Festplatte an.

 

Total_LBAs_Written

Gesamtzahl der 512 Byte Sektoren die während der gesamten Lebensdauer des Gerätes geschrieben werden.

 

Total_LBAs_Read

Gesamtzahl der 512 Byte Sektoren die während der gesamten Lebensdauer des Gerätes gelesen werden.

 

UDMA_CRC_Error_Count

Anzahl der Übertragungsfehler bei der Datenübertragung. Ein hoher Wert deutet auf deinem Kabel- oder SATA Controller Defekt hin.

 

Multi_Zone_Error_Rate

Anzahl der Fehler beim Schreiben von Daten auf die Festplatte. Steigt der Wert kann dies auf einen Fehler der Plattenoberfläche der Magnetscheibe hinweisen.

 

Data_Address_Mark_Errs

Spiegelt die Anzahl der falschen oder ungültigen Datenadressierungen auf der Festplatte wieder. Auch dieser Wert sollte auf 0 sein.

 

Festplatte an RAID Controller prüfen

Einige unserer Kunden setzen einen Hardware RAID Controller ein. In unseren neuen Servern verbauen wir ausschließlich RAID Controller der Firma Adaptec. Mit Hilfe des Adaptec Storage Managers können Sie mit dem Befehl:

/usr/StorMan/arcconf GETLOGS 1 DEVICE

Den Fehlerspeicher des RAID Controllers auslesen. Im Optimalfall sieht das Ergebnis so aus:

Controllers found: 1
<ControllerLog controllerID="0" type="0" time="1388047007" version="3" tableFull="false">
</ControllerLog>

Command completed successfully.

Sollte eine der Festplatten defekt sein, könnte das Ergenis wie Folgt aussehen:

Controllers found: 1
<ControllerLog controllerID="0" type="0" time="1388047103" version="3" tableFull="false">
    <driveErrorEntry smartError="false" vendorID="Hitachi " serialNumber="MSK4215H1EUG7G" wwn="0000000000000000" deviceID="0" productID="HDS72105" numParityErrors="0" linkFailures="0" hwErrors="0" abortedCmds="32" mediumErrors="0" smartWarning="0" />
    <driveErrorEntry smartError="true" vendorID="" serialNumber="Z2A68BHK" wwn="0000000000000000" deviceID="0" productID="ST350041" numParityErrors="0" linkFailures="0" hwErrors="0" abortedCmds="0" mediumErrors="0" smartWarning="0" />
    <driveErrorEntry smartError="false" vendorID="" serialNumber="9QM1C4VC" wwn="0000000000000000" deviceID="1" productID="ST350082" numParityErrors="0" linkFailures="4" hwErrors="0" abortedCmds="64" mediumErrors="0" smartWarning="0" />
</ControllerLog>

Command completed successfully.

 

Die Werte numParityErrors=“0″, linkFailures=“0″, hwErrors=“0″, abortedCmds=“0″, mediumErrors=“0″ und smartWarning=“0″ sollten im Optimalfall immer 0 ergeben. Sollte hier ein Wert von 0 abweichen, ist dies für uns bereits ein Anzeichen eines Festplatten-Defekts. Dieser kann zur Folge haben, dass der RAID Verbund inkonsistent wird, das Linux in den Real/Only Modus wechselt oder das RAID Array im laufenden Betrieb den Status Offline annimmt.

 

Um Datenverlust zu vermeiden, tauschen wir daher bereits Festplatten, die einen anderen Wert als 0 in der Controllerlog aufweisen.

 

Bei einem 3Ware RAID Controller sehen die Befehle wie Folgt aus – hierfür muss natürlich vorher tw_cli installiert sein:

 

tw_cli info

 

Zeigt die Informationen des RAID Controllers, welcher RAID Verbund eingerichtet ist.

 

tw_cli info c0

 

Zeigt den Status des RAID Verbundes und ob ggf. eine Festplatte ausgefallen ist.

 

smartctl -a -d 3ware,0 /dev/twa0

 

Liest die SMART Werte der Festplatte am Port 0 aus.

 

smartctl -a -d 3ware,1 /dev/twa0

 

Zeigt die Smart Werte der Festplatte an Port 1.

 

Festplatte tauschen lassen

Sollte eine Ihrer Festplatte einen Defekt aufweisen, so teilen Sie uns bitte die Seriennummer der defekten oder nicht defekten Festplatte mit, damit unsere Techniker einen kostenfreien Austausch dieser vornehmen können. Die Seriennummer der Festplatte wird bei RAID Controllern bereits in der Log aufgeführt, bei einem Software RAID erfahren Sie diese mit dem Befehl:

smartctl -i /dev/sda

Sollten Sie nicht wissen, wie man ein Software RAID nach Austausch der Festplatte wiederherstellt, unterstützen wir Sie gerne bei der Wiederherstellung.

 

Tags