Actualiza DriveDB para librarte del Unknown_Attribute en smartmontools

 

Quienes usamos smartmontools (smartctl) para monitorizar el estado de nuestros discos, nos habremos encontrado en algún momento con que en los parámetros de salud del disco nos reportaba Unknown_Attribute.

=== START OF INFORMATION SECTION ===
Device Model: INTEL SSDSC2KB480G7
Serial Number: BTYS81050AJZ480BGN
LU WWN Device Id: 5 5cd2e4 14f490026
Firmware Version: SCV10142
User Capacity: 480,103,981,056 bytes [480 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Nov 26 16:05:19 2018 UTC
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

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 127
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 20
170 Unknown_Attribute 0x0033 100 100 010 Pre-fail Always - 0
171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
174 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 17
175 Program_Fail_Count_Chip 0x0033 100 100 010 Pre-fail Always - 90695076359
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0033 100 100 090 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 065 065 000 Old_age Always - 35 (Min/Max 31/36)
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 17
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 35
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
225 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 45730
226 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 143
227 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 49
228 Power-off_Retract_Count 0x0032 100 100 000 Old_age Always - 7587
232 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0
233 Media_Wearout_Indicator 0x0032 100 100 000 Old_age Always - 0
234 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
241 Total_LBAs_Written 0x0032 100 100 000 Old_age Always - 45730
242 Total_LBAs_Read 0x0032 100 100 000 Old_age Always - 45424
243 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 54341

SMART Error Log Version: 1
No Errors Logged

Smartmontools incluye una base de datos que mapea estos atributos a nombres comprensibles, pero lamentablemente, las distribuciones Linux no suelen actualizar esta base de datos muy a menudo.

Por ejemplo, en el caso de Ubuntu 18.04LTS, se incluye una versión de Julio de 2016. Esto hace que cuando queramos consultar los datos de salud de discos más modernos, es probable que las propiedades no estén en su base de datos y no sepa a que parámetro atribuir cada contador.

Esta base de datos, que está en texto plano, podemos encontrarla en /var/lib/smartmontools/drivedb/drivedb.h

root@equipo:/var/lib/smartmontools/drivedb# ls -la
drwxr-xr-x 2 root root 4096 Nov 26 16:09 .
drwxr-xr-x 3 root root 4096 Nov 26 15:21 ..
-rw-r--r-- 1 root root 157544 Jul 30 2016 drivedb.h

Para actualizarla, podemos descargar la versión más reciente de la drivedb en esta dirección. Abajo del todo de esa página (usa la tecla Fin del teclado), debemos bajarla haciendo click en «Original format»

smartmontools

Una vez reemplazado el archivo de base de datos de smartmontools, es muy posible que ya tengamos la interpretación correcta de esos valores devueltos por el disco:

smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-39-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Intel S4510/S4610/S4500/S4600 Series SSDs
Device Model: INTEL SSDSC2KB480G7
Serial Number: BTYS81050AJZ480BGN
LU WWN Device Id: 5 5cd2e4 14f490026
Firmware Version: SCV10142
User Capacity: 480,103,981,056 bytes [480 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Nov 26 16:17:52 2018 UTC
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

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 127
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 20
170 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0
171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0
172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0
174 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 17
175 Power_Loss_Cap_Test 0x0033 100 100 010 Pre-fail Always - 2567 (21 7654)
183 SATA_Downshift_Count 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error_Count 0x0033 100 100 090 Pre-fail Always - 0
187 Uncorrectable_Error_Cnt 0x0032 100 100 000 Old_age Always - 0
190 Drive_Temperature 0x0022 066 065 000 Old_age Always - 34 (Min/Max 31/36)
192 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 17
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 34
197 Pending_Sector_Count 0x0012 100 100 000 Old_age Always - 0
199 CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
225 Host_Writes_32MiB 0x0032 100 100 000 Old_age Always - 45926
226 Workld_Media_Wear_Indic 0x0032 100 100 000 Old_age Always - 143
227 Workld_Host_Reads_Perc 0x0032 100 100 000 Old_age Always - 49
228 Workload_Minutes 0x0032 100 100 000 Old_age Always - 7600
232 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0
233 Media_Wearout_Indicator 0x0032 100 100 000 Old_age Always - 0
234 Thermal_Throttle_Status 0x0032 100 100 000 Old_age Always - 0/0
241 Host_Writes_32MiB 0x0032 100 100 000 Old_age Always - 45926
242 Host_Reads_32MiB 0x0032 100 100 000 Old_age Always - 45424
243 NAND_Writes_32MiB 0x0032 100 100 000 Old_age Always - 54566

SMART Error Log Version: 1
No Errors Logged