Not in smartctl database

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Bei einer smartctl Abfrage von neuen SATA Festplatten oder SATA SSDs liefern die smartmontools häufig die Ausgabe Not in smartctl database. Falls ein Laufwerk auch nach einer Aktualisierung der Smartmontools Datenbank weiterhin in der Datenbank fehlt, kann ein lokaler Eintrag mit Informationen zum Laufwerk im etc-Verzeichnis als /etc/smart_drivedb.h abgelegt werden.

Beispiel: Not in smartctl database - Unknown_Attribute

Wenn ein Laufwerk nicht in der smartctl Datenbank hinterlegt ist, können viele SMART Attribute nicht ausgewertet werden - diese werden dann als Unknown_Attribute angeführt. Weitere Attribute (die auf den Default-Werten von Festplatten beruhen) können mitunter falsch interpretiert sein.

Das folgende Beispiel zeigt eine SSD, die noch nicht in der smartctl database 7.3/5319 enthalten ist:

tk@debian12:~$ sudo smartctl -a /dev/sda
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.0-rc3-dirty] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     ATP SATA III M.2 2242 SSD
Serial Number:    21110179-000011
LU WWN Device Id: 5 141357 09001458f
Firmware Version: T0205B
User Capacity:    480,103,981,056 bytes [480 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      M.2
TRIM Command:     Available, deterministic, zeroed
Device is:        Not in smartctl database 7.3/5319
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Aug 24 07:53:34 2023 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

[...]

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     0x002f   100   100   000    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       285
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       37
 14 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       1546518528
 15 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       937703088
 16 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       461
 17 Unknown_Attribute       0x0033   000   000   000    Pre-fail  Always       -       89
100 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       6177
160 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       12
174 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       7
175 Program_Fail_Count_Chip 0x0032   100   100   000    Old_age   Always       -       6
181 Program_Fail_Cnt_Total  0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   034   118   000    Old_age   Always       -       34 (Min/Max 23/34)
195 Hardware_ECC_Recovered  0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
202 Unknown_SSD_Attribute   0x0030   100   100   000    Old_age   Offline      -       0
205 Thermal_Asperity_Rate   0x0032   100   100   000    Old_age   Always       -       21
231 Unknown_SSD_Attribute   0x0022   036   127   000    Old_age   Always       -       756940836
234 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       2614583488
235 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       3043951205
241 Total_LBAs_Written      0x0032   100   100   000    Old_age   Always       -       4328248897
242 Total_LBAs_Read         0x0032   100   100   000    Old_age   Always       -       691406554
248 Unknown_Attribute       0x0030   100   100   001    Old_age   Offline      -       100
249 Unknown_Attribute       0x0033   000   000   000    Pre-fail  Always       -       89
[...]

drivedb.h

Die Ausgabe von smartctl -h zeigt, welche Datenbankdateien von den smartmontools genutzt werden:

tk@debian12:~$ sudo smartctl -h
[...]
  -B [+]FILE, --drivedb=[+]FILE                                       (ATA)
        Read and replace [add] drive database from FILE
        [default is +/etc/smart_drivedb.h
         and then    /var/lib/smartmontools/drivedb/drivedb.h]
[...]

/etc/smart_drivedb.h erstellen

Die Datei /var/lib/smartmontools/drivedb/drivedb.h kann als Beispieldatei helfen, einen Eintrag für das eigene Laufwerk zu erstellen. Sofern vom Hersteller Informationen zu den Attributen verfügbar sind, können diese zusätzlich als Hilfe bei der Erstellung eines Eintrages verwendet werden.

Für die im Beispiel angeführte ATP SSD erstellen wir folgende Datei:

tk@debian12:~$ cat /etc/smart_drivedb.h 
  { "ATP SATA III Superior Line SSDs",
    "ATP (SATA III|SATAIII|I-Temp. SATA III|I-Temp. SATAIII) (M.2 (2242|2280)|mSATA|2.5 inch) SSD", // tested M.2 2242 & 2280 with firmware version T0205B (Superior Line with PLP)
    "T0205B|U0316B",
    "",
    "-v 1,raw48,Raw_Read_Error_Count "
    "-v 5,raw16(raw16),Realloc_Flash_Blocks_Ct "
  //"-v 9,raw24(raw8),Power_On_Hours "
  //"-v 12,raw48,Power_Cycle_Count "
    "-v 14,raw48,Device_Raw_Capacity "
    "-v 15,raw48,Device_User_Capacity "
    "-v 16,raw48,Initial_Spare_Blocks "
    "-v 17,raw48,Remaining_Spare_Blocks "
    "-v 100,raw48,Total_Erease_Count "
    "-v 160,raw48,Uncorrectable_Sectors "
    "-v 172,raw48,Block_Erase_Failures "
    "-v 173,raw48,Maximum_Erase_Count "
    "-v 174,raw48,Unexpected_Power_Loss "
    "-v 175,raw48,Average_Erase_Count "
    "-v 181,raw48,Block_Program_Failures "
    "-v 187,raw48,Reported_Uncorr_Errors "
  //"-v 194,tempminmax,Device_Temperature "
  //"-v 195,raw48,Hardware_ECC_Recovered "
    "-v 197,raw48,Current_Pending_ECC_Cnt " // Like Crucial MX500: May flip 0 <> 1 (ticket #1227)
    "-v 198,raw48,Offline_UErr_Media_Scan "
    "-v 199,raw48,SATA_FIS_CRC_Errors "
    "-v 202,raw48,Percent_Lifetime_Used "
    "-v 205,raw48,Thermal_Asperity_Rate "
    "-v 231,tempminmax,Controller_Temperature "
    "-v 234,raw48,Sectors_Read_from_NAND "
    "-v 235,raw48,Sectors_Written_to_SSD "
    "-v 241,raw48,Sectors_Written_to_NAND "
    "-v 242,raw48,Sectors_Read_from_SSD "
    "-v 248,raw48,Percent_Lifetime_Remain "
    "-v 249,raw48,Spare_Blocks_Remaining " // same as ID 17 (Remaining_Spare_Blocks)
  }
tk@debian12:~$ 

SMART Abfrage mit Laufwerk in der Datenbank

Nun können die SMART Attribute interpretiert werden, die SSD wird als In smartctl database angeführt:

tk@debian12:~$ sudo smartctl -a /dev/sda
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.0-rc3-dirty] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     ATP SATA III Superior Line SSDs
Device Model:     ATP SATA III M.2 2242 SSD
Serial Number:    21110179-000011
LU WWN Device Id: 5 141357 09001458f
Firmware Version: T0205B
User Capacity:    480,103,981,056 bytes [480 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      M.2
TRIM Command:     Available, deterministic, zeroed
Device is:        In smartctl database
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Aug 24 08:07:15 2023 CEST
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

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:            (0x0002)	Does not save 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: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 (  30) minutes.
Conveyance self-test routine
recommended polling time: 	 (   1) 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_Count    0x002f   100   100   000    Pre-fail  Always       -       0
  5 Realloc_Flash_Blocks_Ct 0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       285
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       37
 14 Device_Raw_Capacity     0x0032   100   100   000    Old_age   Always       -       1546518528
 15 Device_User_Capacity    0x0032   100   100   000    Old_age   Always       -       937703088
 16 Initial_Spare_Blocks    0x0032   100   100   000    Old_age   Always       -       461
 17 Remaining_Spare_Blocks  0x0033   000   000   000    Pre-fail  Always       -       89
100 Total_Erease_Count      0x0032   100   100   000    Old_age   Always       -       6177
160 Uncorrectable_Sectors   0x0032   100   100   000    Old_age   Always       -       0
172 Block_Erase_Failures    0x0032   100   100   000    Old_age   Always       -       0
173 Maximum_Erase_Count     0x0032   100   100   000    Old_age   Always       -       12
174 Unexpected_Power_Loss   0x0032   100   100   000    Old_age   Always       -       7
175 Average_Erase_Count     0x0032   100   100   000    Old_age   Always       -       6
181 Block_Program_Failures  0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorr_Errors  0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   038   118   000    Old_age   Always       -       38 (Min/Max 23/38)
195 Hardware_ECC_Recovered  0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_ECC_Cnt 0x0032   100   100   000    Old_age   Always       -       0
198 Offline_UErr_Media_Scan 0x0030   100   100   000    Old_age   Offline      -       0
199 SATA_FIS_CRC_Errors     0x0032   100   100   000    Old_age   Always       -       0
202 Percent_Lifetime_Used   0x0030   100   100   000    Old_age   Offline      -       0
205 Thermal_Asperity_Rate   0x0032   100   100   000    Old_age   Always       -       21
231 Controller_Temperature  0x0022   039   127   000    Old_age   Always       -       39 (Min/Max 30/45)
234 Sectors_Read_from_NAND  0x0032   100   100   000    Old_age   Always       -       2616124096
235 Sectors_Written_to_SSD  0x0032   100   100   000    Old_age   Always       -       3044409413
241 Sectors_Written_to_NAND 0x0032   100   100   000    Old_age   Always       -       4328792513
242 Sectors_Read_from_SSD   0x0032   100   100   000    Old_age   Always       -       692020570
248 Percent_Lifetime_Remain 0x0030   100   100   001    Old_age   Offline      -       100
249 Spare_Blocks_Remaining  0x0033   000   000   000    Pre-fail  Always       -       89
[...]


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


Das könnte Sie auch interessieren

SMART
SMART Attributes Monitoring Plugin
Smartctl