En GNU/Linux las herramientas smart monitoring tools pertenecientes al paquete smartmontools permiten analizar el disco duro que, entre otras cosas útiles, nos permite conocer el estado físico del mismo y determinar si su vida útil está llegando a su fin.
Primero comprobar si nuestra BIOS y Disco duro lo soportan:
# smartctl -i /dev/sda
Devolverá algo parecido a esto:
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Seagate Momentus 5400.4 series
Device Model: ST9120817AS
Serial Number: 5RE1NQFK
Firmware Version: 3.ADB
User Capacity: 120,034,123,776 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Wed May 18 07:14:45 2011 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Las dos últimas líneass determinan que el disco tiene soporte SMART y está activado:
SMART support is: Avilable = dispositivo tiene capacidad SMART
SMART support is: Enabled = Activado.
Determinar las características del soporte que tenemos:
# smartctl -Hc /dev/sda
Devolverá algo como esto:
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Please note the following marginal Attributes:
...
...
...
Ver el log de errores, si los hay:
# smartctl -l error /dev/sda
Si no hay errores devolverá:
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged
Obtener información sobre el disco duro:
# smartctl -l selftest -i /dev/sda
La salida será parecida a esto:
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Seagate Momentus 5400.4 series
Device Model: ST9120817AS
Serial Number: 5RE1NQFK
Firmware Version: 3.ADB
User Capacity: 120,034,123,776 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Wed May 18 07:21:50 2011 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== 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% 1 -
# 2 Short offline Interrupted (host reset) 70% 1 -
# 3 Short offline Completed without error 00% 0 -
# 4 Short offline Interrupted (host reset) 90% 0 - -
Detalle de la información obtenida:
* Model Family: “Familia” del disco duro (Seagate Barracuda 7200).
* Device Model: Modelo especifico y firmware.
* Serial Number: Numero de serie del disco duro.
* User Capacity: Capacidad del mismo (40GB).
* ATA Version is: Versión del ATA usado.
* SMART support is: Si soporta SMART.
* SMART support is: Sí lo tiene activado.
* LifeTime: Són las horas que el disco duro ha estado encendido.
* LBA_of_first_error: Muestra los posibles errores.
Agregar el parámetro -H antes de -i /dev/sda nos dirá si para S.M.A.R.T. el disco tiene errores
# smartctl -l selftest -i -H /dev/sda
Y nos responderá
...
...
...
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Please note the following marginal Attributes:
...
En el caso del disco duro de mi portatil (objeto de análisis), me advierte sobre "Tener en cuenta los siguientes atributos marginales" (following marginal Attributes), pero hay más y probablemente el análisis más importante con el parámetro -A:
# smartctl -l selftest -A /dev/sda
El resultado será:
* * 12 Power_Cycle_Count: RAW_VALUE: 2173. Se ha encendido 1255 veces. VALUE 098.
** 194 Temperature Celsius. RAW_VALUE: 44. Es decir, 44 grados de temperatura en el disco, muy alta.
De estos parámetros el más significativo es el campo RAW_Value que indica el valor del dato en cuestión y el campo VALUE que indica el estado según S.M.A.R.T, siendo un estado óptimo por encima de los 200, normal entre los 100-200 y malo por debajo de los 100 (en este caso 98 :-( ). De todas maneras, la rigurosidad se aplica a servidores en producción. Aunque para datos críticos existen mejores soluciones (raid 5, raid 10, etc), sustituyen en caliente un disco que ha fallado.
Linux es genial!