GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überwachung und Testen des Zustands von SSD in Linux

Was ist S.M.A.R.T.?

SCHLAU. – für Self-Monitoring, Analysis, and Reporting Technology – ist eine Technologie, die in Speichergeräte wie Festplattenlaufwerke oder SSDs eingebettet ist und deren Ziel es ist, deren Zustand zu überwachen.

In der Praxis ist S.M.A.R.T. überwacht während des normalen Laufwerkbetriebs mehrere Festplattenparameter, wie die Anzahl der Lesefehler, die Laufwerksstartzeiten oder sogar die Umgebungsbedingungen. Darüber hinaus ist S.M.A.R.T. und kann auch On-Demand-Tests auf dem Laufwerk durchführen.

Idealerweise S.M.A.R.T. würde es ermöglichen, vorhersagbar vorauszusehen Ausfälle wie solche, die durch mechanischen Verschleiß oder Verschlechterung der Plattenoberfläche verursacht werden, sowie unvorhersehbare Ausfälle, die durch einen unerwarteten Defekt verursacht wurden. Da Laufwerke in der Regel nicht abrupt ausfallen, ist S.M.A.R.T. gibt dem Betriebssystem oder dem Systemadministrator die Möglichkeit, bald ausgefallene Laufwerke zu identifizieren, damit sie ersetzt werden können, bevor es zu Datenverlusten kommt.

Was ist S.M.A.R.T. nicht?

All das scheint wunderbar. S.M.A.R.T. ist keine Kristallkugel. Es kann weder einen Ausfall mit 100-prozentiger Genauigkeit vorhersagen, noch garantieren, dass ein Laufwerk nicht ohne Vorwarnung ausfällt. Bestenfalls S.M.A.R.T. sollte verwendet werden, um die Wahrscheinlichkeit abzuschätzen eines Fehlers.

Angesichts der statistischen Natur der Fehlervorhersage ist das S.M.A.R.T. Technologie interessiert besonders Unternehmen, die eine große Anzahl von Speichereinheiten verwenden, und es wurden Feldstudien durchgeführt, um die Genauigkeit von S.M.A.R.T. gemeldete Probleme, um den Austausch von Festplatten in Rechenzentren oder Serverfarmen vorherzusehen.

Im Jahr 2016 führten Microsoft und die Pennsylvania State University eine Studie durch, die sich auf SSDs konzentrierte.

Laut dieser Studie scheinen einige S.M.A.R.T. Attribute sind gute Indikatoren für ein bevorstehendes Scheitern. Das Papier erwähnt ausdrücklich:

Anzahl der neu zugewiesenen (Realloc) Sektoren:

Obwohl die zugrunde liegende Technologie radikal anders ist, scheint dieser Indikator in der SSD-Welt genauso bedeutsam zu sein wie in der Festplattenwelt. Erwähnenswert wegen der in SSDs verwendeten Verschleißausgleichsalgorithmen:Wenn mehrere Blöcke ausfallen, werden wahrscheinlich bald viele weitere ausfallen. Anzahl der Fehler beim Programmieren/Löschen (P/E):

Dies ist ein Symptom für ein Problem mit der zugrunde liegenden Flash-Hardware, bei dem das Laufwerk keine Daten in einem Block löschen oder speichern konnte. Aufgrund von Unvollkommenheiten im Herstellungsprozess können wenige derartige Fehler vorhergesehen werden. Flash-Speicher haben jedoch eine begrenzte Anzahl von Lösch-/Schreibzyklen. Noch einmal, ein plötzlicher Anstieg der Anzahl von Ereignissen könnte darauf hindeuten, dass das Laufwerk das Ende seiner Lebensdauer erreicht hat, und wir können damit rechnen, dass viele weitere Speicherzellen bald ausfallen werden.CRC- und nicht korrigierbare Fehler („Datenfehler“):

Diese Ereignisse können entweder durch Speicherfehler oder Probleme mit der internen Kommunikationsverbindung des Antriebs verursacht werden. Dieser Indikator berücksichtigt sowohl korrigiert Fehler (also ohne Probleme an das Hostsystem gemeldet) sowie unkorrigiert Fehler (also Blöcke, die das Laufwerk gemeldet hat, nicht an das Hostsystem lesen zu können). Mit anderen Worten, korrigierbar Fehler sind für das Host-Betriebssystem unsichtbar, wirken sich aber dennoch auf die Laufwerksleistung aus, da Daten von der Laufwerks-Firmware korrigiert werden müssen und eine mögliche Sektorverschiebung auftreten kann.SATA-Downshift-Zähler:

Aufgrund vorübergehender Störungen, Probleme mit der Kommunikationsverbindung zwischen dem Laufwerk und dem Host oder aufgrund interner Laufwerksprobleme kann die SATA-Schnittstelle auf eine niedrigere Signalrate umschalten. Die Herabstufung der Verbindung unter die nominelle Verbindungsrate hat die offensichtliche Auswirkung auf die beobachteten Laufwerksleistungen. Die Auswahl einer niedrigeren Signalisierungsrate ist nicht ungewöhnlich, insbesondere bei älteren Laufwerken. Daher ist dieser Indikator am aussagekräftigsten, wenn er mit dem Vorhandensein eines oder mehrerer der vorhergehenden korreliert.

Laut der Studie zeigten 62 % der ausgefallenen SSDs mindestens eines der oben genannten Symptome. Wenn Sie diese Aussage jedoch umkehren, bedeutet dies auch, dass 38 % der untersuchten SSDs ohne durchgefallen sind eines der oben genannten Symptome zeigt. Die Studie erwähnte jedoch nicht, ob die ausgefallenen Laufwerke andere S.M.A.R.T. gemeldeter Fehler oder nicht. Dies kann also nicht direkt mit den 36 % Ausfall ohne Vorankündigung verglichen werden, die für Festplatten im Google-Papier erwähnt werden.

Die Abhandlung von Microsoft/Pennsylvania State University legt die genauen untersuchten Laufwerksmodelle nicht offen, aber laut den Autoren stammen die meisten Laufwerke von demselben Anbieter und umfassen mehrere Generationen.

Die Studie stellte signifikante Unterschiede in der Zuverlässigkeit zwischen den verschiedenen Modellen fest. Beispielsweise weist das untersuchte „schlechteste“ Modell neun Monate nach dem ersten Umzugsfehler eine Ausfallrate von 20 % und neun Monate nach dem ersten Auftreten von Datenfehlern eine Ausfallrate von bis zu 36 % auf. Das „schlechteste“ Modell ist zufälligerweise auch die in der Arbeit untersuchte ältere Antriebsgeneration.

Andererseits weisen die Laufwerke der jüngsten Gerätegeneration bei gleichen Symptomen nur 3 % bzw. 20 % Ausfallrate bei gleichen Fehlern auf. Es ist schwer zu sagen, ob diese Zahlen durch Verbesserungen im Laufwerksdesign und im Herstellungsprozess erklärt werden können oder ob dies einfach ein Effekt der Laufwerksalterung ist.

Am interessantesten, und ich habe zuvor einige mögliche Gründe genannt, erwähnt das Papier, dass dies eher ein plötzlicher Anstieg der Anzahl gemeldeter Fehler ist als der Rohwert, der als alarmierender Indikator betrachtet werden sollte:

„““ Es besteht eine höhere Wahrscheinlichkeit, dass die Symptome SSD-Ausfällen vorausgehen, wobei eine intensive Manifestation und ein schnelles Fortschreiten ihre Überlebensfähigkeit über einige Monate hinaus verhindern „““

Mit anderen Worten, ein gelegentliches S.M.A.R.T. Der gemeldete Fehler ist wahrscheinlich nicht als Signal für einen bevorstehenden Ausfall zu werten. Meldet eine gesunde SSD jedoch immer mehr Fehler, muss mit einem kurz- bis mittelfristigen Ausfall gerechnet werden.

Aber woher wissen Sie, ob Ihre Festplatte oder SSD in Ordnung ist? Entweder um Ihre Neugier zu befriedigen oder weil Sie anfangen möchten, Ihre Laufwerke genau zu überwachen, ist es jetzt an der Zeit, smartctl vorzustellen Überwachungstool:

Verwenden von smartctl zum Überwachen des Status Ihrer SSD in Linux

Es gibt Möglichkeiten, Festplatten in Linux aufzulisten, aber die S.M.A.R.T. Status Ihrer Festplatte, empfehle ich smartctl Tool, Teil des smartmontool Paket (zumindest auf Debian/Ubuntu).

sudo apt install smartmontools

smartctl ist ein Befehlszeilentool, aber das ist perfekt, besonders wenn Sie die Datenerfassung automatisieren möchten, insbesondere auf Ihren Servern.

Der erste Schritt bei der Verwendung von smartctl ist zu überprüfen, ob Ihre Festplatte über S.M.A.R.T. aktiviert und wird von folgendem Tool unterstützt:

sh$ sudo smartctl -i /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Momentus 7200.4
Device Model:     ST9500420AS
Serial Number:    5VJAS7FL
LU WWN Device Id: 5 000c50 02fa0b800
Firmware Version: D005SDM1
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Mon Mar 12 15:54:43 2018 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Wie Sie sehen können, verfügt die interne Festplatte meines Laptops tatsächlich über S.M.A.R.T. Fähigkeiten und S.M.A.R.T. Unterstützung aktiviert ist. Also, was ist jetzt mit dem S.MA.R.T. Status? Wurden Fehler aufgezeichnet?

Das Melden „aller SMART-Informationen über die Festplatte“ ist die Aufgabe von -a Möglichkeit:

sh$ sudo smartctl -i -a /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Momentus 7200.4
Device Model:     ST9500420AS
Serial Number:    5VJAS7FL
LU WWN Device Id: 5 000c50 02fa0b800
Firmware Version: D005SDM1
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Mon Mar 12 15:56:58 2018 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x82)    Offline data collection activity
                    was completed without error.
                    Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)    The previous self-test routine completed
                    without error or no self-test has ever
                    been run.
Total time to complete Offline
data collection:         (    0) seconds.
Offline data collection
capabilities:              (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003)    Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01)    Error logging supported.
                    General Purpose Logging supported.
Short self-test routine
recommended polling time:      (   2) minutes.
Extended self-test routine
recommended polling time:      ( 110) minutes.
Conveyance self-test routine
recommended polling time:      (   3) minutes.
SCT capabilities:            (0x103f)    SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

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   111   099   006    Pre-fail  Always       -       29694249
  3 Spin_Up_Time            0x0003   100   098   085    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   095   095   020    Old_age   Always       -       5413
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       3
  7 Seek_Error_Rate         0x000f   071   060   030    Pre-fail  Always       -       51710773327
  9 Power_On_Hours          0x0032   070   070   000    Old_age   Always       -       26423
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   096   037   020    Old_age   Always       -       4836
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   072   072   000    Old_age   Always       -       28
188 Command_Timeout         0x0032   100   096   000    Old_age   Always       -       4295033738
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   056   042   045    Old_age   Always   In_the_past 44 (Min/Max 21/44 #22)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       184
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       104
193 Load_Cycle_Count        0x0032   001   001   000    Old_age   Always       -       395415
194 Temperature_Celsius     0x0022   044   058   000    Old_age   Always       -       44 (0 13 0 0 0)
195 Hardware_ECC_Recovered  0x001a   050   045   000    Old_age   Always       -       29694249
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       1
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       1
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       25131 (246 202 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       3028413736
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       1613088055
254 Free_Fall_Sensor        0x0032   100   100   000    Old_age   Always       -       0

SMART Error Log Version: 1
ATA Error Count: 3
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 3 occurred at disk power-on lifetime: 21171 hours (882 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 ff ff ff 4f 00      00:45:12.580  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      00:45:12.580  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      00:45:12.579  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      00:45:12.571  READ FPDMA QUEUED
  60 00 20 ff ff ff 4f 00      00:45:12.543  READ FPDMA QUEUED

Error 2 occurred at disk power-on lifetime: 21171 hours (882 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 00 ff ff ff 4f 00      00:45:09.456  READ FPDMA QUEUED
  60 00 00 ff ff ff 4f 00      00:45:09.451  READ FPDMA QUEUED
  61 00 08 ff ff ff 4f 00      00:45:09.450  WRITE FPDMA QUEUED
  60 00 00 ff ff ff 4f 00      00:45:08.878  READ FPDMA QUEUED
  60 00 00 ff ff ff 4f 00      00:45:08.856  READ FPDMA QUEUED

Error 1 occurred at disk power-on lifetime: 21131 hours (880 days + 11 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 00 ff ff ff 4f 00      05:52:18.809  READ FPDMA QUEUED
  61 00 00 7e fb 31 45 00      05:52:18.806  WRITE FPDMA QUEUED
  60 00 00 ff ff ff 4f 00      05:52:18.571  READ FPDMA QUEUED
  ea 00 00 00 00 00 a0 00      05:52:18.529  FLUSH CACHE EXT
  61 00 08 ff ff ff 4f 00      05:52:18.527  WRITE FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     10904         -
# 2  Short offline       Completed without error       00%        12         -
# 3  Short offline       Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Die Ausgabe des smartctl-Befehls verstehen

Das sind viele Informationen, und es ist nicht immer einfach, diese Daten zu interpretieren. Der interessanteste Teil ist wahrscheinlich der mit der Bezeichnung „Vendor Specific SMART Attributes with Thresholds“ . Es meldet verschiedene Statistiken, die vom S.M.A.R.T. Gerät und lassen Sie diese Werte (aktuell oder am schlechtesten aller Zeiten) mit einem vom Anbieter definierten Schwellenwert vergleichen.

Hier ist zum Beispiel, wie meine Festplatte verschobene Sektoren meldet:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       3

Sie können dies als „Pre-Fail“-Attribut sehen. Das bedeutet nur, dass das Attribut Anomalien entspricht. Also wenn Wenn dieses Attribut den Schwellenwert überschreitet, könnte dies ein Indikator für einen bevorstehenden Ausfall sein. Die andere Kategorie ist „Alter“ für Attribute, die Attributen für „normales Tragen“ entsprechen.

Das letzte Feld (hier „3“) entspricht dem Rohwert für dieses Attribut, wie er vom Laufwerk gemeldet wird. Normalerweise hat diese Zahl eine physikalische Bedeutung. Hier ist dies die tatsächliche Anzahl der verschobenen Sektoren. Bei anderen Attributen könnte es sich jedoch um eine Temperatur in Grad Celsius, eine Zeit in Stunden oder Minuten oder die Häufigkeit handeln, mit der das Laufwerk einen bestimmten Zustand festgestellt hat.

Zusätzlich zum Rohwert wird ein S.M.A.R.T. aktiviertes Laufwerk muss „normalisierte“ Werte (Felder Wert, schlechtester Wert und Schwellenwert) melden. Diese Werte sind im Bereich von 1-254 (0-255 für den Schwellenwert) normalisiert. Die Festplatten-Firmware führt diese Normalisierung mithilfe eines internen Algorithmus durch. Darüber hinaus können verschiedene Hersteller dasselbe Attribut unterschiedlich normalisieren. Die meisten Werte werden in Prozent angegeben, wobei der höhere der beste ist, aber dies ist nicht zwingend erforderlich. Wenn ein Parameter kleiner oder gleich dem vom Hersteller angegebenen Schwellenwert ist, wird gesagt, dass die Platte für dieses Attribut ausgefallen ist. Bei allen im ersten Teil dieses Artikels erwähnten Vorbehalten steht bei Ausfall eines „Prefail“-Attributs vermutlich ein Festplattenausfall bevor.

Betrachten wir als zweites Beispiel die „Suchfehlerrate“:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  7 Seek_Error_Rate         0x000f   071   060   030    Pre-fail  Always       -       51710773327

Eigentlich, und das ist ein Problem mit S.M.A.R.T. Berichterstellung ist die genaue Bedeutung jedes Werts herstellerspezifisch. In meinem Fall verwendet Seagate eine logarithmische Skala, um den Wert zu normalisieren. „71“ bedeutet also ungefähr ein Fehler für 10 Millionen Suchvorgänge (10 hoch 7,1). Amüsanterweise war das Schlimmste aller Zeiten ein Fehler für 1 Million Suchvorgänge (10 hoch 6,0). Wenn ich das richtig interpretiere, bedeutet das, dass meine Plattenköpfe jetzt genauer positioniert sind als früher. Ich habe diese Diskette nicht genau verfolgt, daher ist diese Analyse mit Vorsicht zu genießen. Vielleicht brauchte der Antrieb bei der Erstinbetriebnahme einfach eine Einlaufzeit? Es sei denn, dies ist eine Folge des Verschleißes mechanischer Teile und wirkt damit heute weniger Reibung entgegen? In jedem Fall und aus welchen Gründen auch immer, ist dieser Wert eher ein Leistungsindikator als eine Ausfallfrühwarnung. Also das stört mich nicht sonderlich.

Abgesehen davon und drei verdächtigen Fehlern, die vor etwa sechs Monaten aufgezeichnet wurden, erscheint dieses Laufwerk in überraschend gutem Zustand (laut S.M.A.R.T.) für ein Standard-Laptop-Laufwerk, das mehr als 1100 Tage (26423 Stunden) eingeschaltet war:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  9 Power_On_Hours          0x0032   070   070   000    Old_age   Always       -       26423

Aus Neugier habe ich den gleichen Test auf einem wesentlich neueren Laptop mit SSD durchgeführt:

sh$ sudo smartctl -i /dev/sdb
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.10.0-32-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA THNSNK256GVN8
Serial Number:    17FS131LTNLV
LU WWN Device Id: 5 00080d 9109b2ceb
Firmware Version: K8XA4103
User Capacity:    256 060 514 304 bytes [256 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Form Factor:      M.2
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-3 (minor revision not indicated)
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Mar 13 01:03:23 2018 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Das erste, was auffällt, auch wenn dieses Gerät S.M.AR.T. aktiviert, es ist nicht im smartctl Datenbank. Das wird das Tool nicht daran hindern, Daten von der SSD zu sammeln, aber es wird nicht in der Lage sein, die genaue Bedeutung der verschiedenen herstellerspezifischen Attribute zu melden:

sh$ sudo smartctl -a /dev/sdb
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.10.0-32-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)    Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)    The previous self-test routine completed
                    without error or no self-test has ever
                    been run.
Total time to complete Offline
data collection:         (  120) seconds.
Offline data collection
capabilities:              (0x5b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003)    Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01)    Error logging supported.
                    General Purpose Logging supported.
Short self-test routine
recommended polling time:      (   2) minutes.
Extended self-test routine
recommended polling time:      (  11) minutes.
SCT capabilities:            (0x003d)    SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

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   100   100   000    Old_age   Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0007   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0013   100   100   050    Pre-fail  Always       -       0
  7 Unknown_SSD_Attribute   0x000b   100   100   050    Pre-fail  Always       -       0
  8 Unknown_SSD_Attribute   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       -       171
 10 Unknown_SSD_Attribute   0x0013   100   100   050    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0012   100   100   000    Old_age   Always       -       105
166 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       0
167 Unknown_Attribute       0x0022   100   100   000    Old_age   Always       -       0
168 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       0
169 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       100
170 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       0
173 Unknown_Attribute       0x0012   200   200   000    Old_age   Always       -       0
175 Program_Fail_Count_Chip 0x0013   100   100   010    Pre-fail  Always       -       0
192 Power-Off_Retract_Count 0x0012   100   100   000    Old_age   Always       -       18
194 Temperature_Celsius     0x0023   063   032   020    Pre-fail  Always       -       37 (Min/Max 11/68)
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
240 Unknown_SSD_Attribute   0x0013   100   100   050    Pre-fail  Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Dies ist normalerweise die Ausgabe, die Sie für eine brandneue SSD erwarten können. Auch wenn aufgrund fehlender Normalisierung oder Metainformationen für herstellerspezifische Daten viele Attribute als „Unknown_SSD_Attribute“ gemeldet werden. Ich kann nur auf zukünftige Versionen von smartctl hoffen wird Daten zu diesem bestimmten Antriebsmodell in die Werkzeugdatenbank aufnehmen, damit ich mögliche Probleme genauer identifizieren kann.

Testen Sie Ihre SSD unter Linux mit smartctl

Bisher haben wir die Daten untersucht, die das Laufwerk während seines normalen Betriebs gesammelt hat. Allerdings ist das S.M.A.R.T. Das Protokoll unterstützt auch mehrere „Selbsttest“-Befehle, um die Diagnose bei Bedarf zu starten.

Sofern nicht ausdrücklich angefordert, können die Selbsttests während des normalen Festplattenbetriebs ausgeführt werden. Da sowohl die Test- als auch die Host-E/A-Anforderungen um das Laufwerk konkurrieren, verschlechtert sich die Festplattenleistung während des Tests. Das S.M.A.R.T. Die Spezifikation spezifiziert mehrere Arten von Selbsttests. Die wichtigsten sind:

Kurzer Selbsttest (-t short )

Dieser Test prüft die elektrische und mechanische Leistung sowie die Leseleistung des Laufwerks. Der kurze Selbsttest dauert normalerweise nur wenige Minuten (normalerweise 2 bis 10). Erweiterter Selbsttest (-t long )

Dieser Test dauert ein bis zwei Größenordnungen länger. In der Regel ist dies eine vertiefende Version des kurzen Selbsttests. Außerdem scannt dieser Test die gesamte Festplattenoberfläche ohne zeitliche Begrenzung auf Datenfehler. Die Testdauer ist proportional zur Plattengröße.Selbsttest der Beförderung (-t conveyance )

Diese Testsuite ist als relativ schnelle Möglichkeit konzipiert, mögliche Schäden zu überprüfen, die während des Transports des Geräts entstanden sind.

Hier sind Beispiele von denselben Datenträgern wie oben. Ich lasse Sie raten, welches was ist:

sh$ sudo smartctl -t short /dev/sdb
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.10.0-32-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon Mar 12 18:06:17 2018

Use smartctl -X to abort test.

Der Test wurde jetzt angegeben. Lassen Sie uns bis zum Abschluss warten, um das Ergebnis anzuzeigen:

sh$ sudo sh -c 'sleep 120 && smartctl -l selftest /dev/sdb'
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.10.0-32-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%       171         -

Machen wir jetzt den gleichen Test auf meiner anderen Festplatte:

sh$ sudo smartctl -t short /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon Mar 12 21:59:39 2018

Use smartctl -X to abort test.

Schlafen Sie erneut zwei Minuten lang und zeigen Sie das Testergebnis an:

sh$ sudo sh -c 'sleep 120 && smartctl -l selftest /dev/sdb'
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     26429         -
# 2  Short offline       Completed without error       00%     10904         -
# 3  Short offline       Completed without error       00%        12         -
# 4  Short offline       Completed without error       00%         0         -

Interessanterweise scheinen in diesem Fall sowohl das Laufwerk als auch der Computerhersteller einige Schnelltests auf der Festplatte durchgeführt zu haben (bei Lebensdauer 0h und 12h). ich war definitiv viel weniger damit beschäftigt, den Zustand des Laufwerks selbst zu überwachen. Da ich also einige Selbsttests für diesen Artikel durchführe, starten wir einen erweiterten teste mal so wie es geht:

sh$ sudo smartctl -t long /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 110 minutes for test to complete.
Test will complete after Tue Mar 13 00:09:08 2018

Use smartctl -X to abort test.

Apparently, this time we will have to wait much longer than for the short test. So let’s do it:

sh$ sudo bash -c 'sleep $((110*60)) && smartctl -l selftest /dev/sdb'
[sudo] password for sylvain:
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       20%     26430         810665229
# 2  Short offline       Completed without error       00%     26429         -
# 3  Short offline       Completed without error       00%     10904         -
# 4  Short offline       Completed without error       00%        12         -
# 5  Short offline       Completed without error       00%         0         -

In that latter case, pay special attention to the different outcomes obtained with the short and extended tests, even if they were performed one right after the other. Well, maybe that disk is not that healthy after all! An important thing to notice is the test will stop after the first read error. So if you want an exhaustive diagnosis of all read errors, you will have to continue the test after each error. I encourage you to take a look at the very well written smartctl(8) manual page for the more information about the options -t select,N-max and -t select,cont for that:

sh$ sudo smartctl -t select,810665230-max /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Selective self-test routine immediately in off-line mode".
SPAN         STARTING_LBA           ENDING_LBA
   0            810665230            976773167
Drive command "Execute SMART Selective self-test routine immediately in off-line mode" successful.
Testing has begun.
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Selective offline   Completed without error       00%     26432         -
# 2  Extended offline    Completed: read failure       20%     26430         810665229
# 3  Short offline       Completed without error       00%     26429         -
# 4  Short offline       Completed without error       00%     10904         -
# 5  Short offline       Completed without error       00%        12         -
# 6  Short offline       Completed without error       00%         0         -

Schlussfolgerung

Definitely, S.M.A.R.T. reporting is a technology you can add to your tool chest to monitor your servers disk health. In that case, you should also take a look at the S.M.A.R.T. Disk Monitoring Daemon smartd(8) that could help you automate monitoring through syslog reporting.

Given the statistical nature of failure prediction, I am a little bit less convinced however than aggressive S.M.A.R.T. monitoring is of great benefit on a personal computer. Finally, don’t forget whatever is its technology, a drive will fail— and we have seen earlier, in one-third of the case, it will fail without prior notices. So nothing will replace RAIDand offline backups to ensure your data integrity!

This article was written by Sylvain Leroux


Linux
  1. Kontinuierliche Integrationstests für den Linux-Kernel

  2. Überwachen und analysieren Sie den Festplattenzustand mit Smartctl in Linux

  3. So überprüfen Sie den SSD/HDD-Zustand unter Linux

  4. So überprüfen Sie die Betriebssystem- und Linux-Version

  5. Finden Sie die größten Dateien und Verzeichnisse in Linux

Überwachung von Linux- und Windows-Hosts mit Glances

Linux auf dem Mainframe:Damals und heute

So partitionieren und formatieren Sie ein Laufwerk unter Linux

Was ist der Unterschied zwischen Linux und Unix?

Upgrade auf ein Solid-State-Laufwerk unter Linux:Der einfache und der schwierige Weg

Das Aufrechterhalten und Testen der Geschwindigkeit einer Website ist von entscheidender Bedeutung