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.