Doctor, ¿cuanta vida le queda a mi disco?

Es una de las preguntas fundamentales,  y que se le presenta a cualquiera que tiene un servidor en producción durante mucho tiempo, y no sabes si sus discos ya están terminando su vida útil. Aunque tengas medidas para contrarrestar un fallo de disco, si los cambias a tiempo te puedes salvar de muchos sustos.

¿Cuanto tiempo le quedan los discos?. Pues se puede saber mediante una GRAN utilidad que se dispone en casi todas las plataformas, en mi caso, hablaré de Linux. Son las “SMART Monitoring Tools“.

Lo primero instalar, como no:

nas001@nas001:~$ sudo aptitude install smartmontools

Probamos que todo esta bien instalado, preguntándole por la información de un disco:

nas001@nas001:~$ sudo smartctl -i /dev/sdb
smartctl version 5.37 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.9 family
Device Model:     ST3500641AS
Serial Number:    3PM0ELSV
Firmware Version: 3.AAE
User Capacity:    500,107,862,016 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Wed May 12 11:29:08 2010 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Como habéis comprobado, en ningún momento he tenido que desmontar el disco, ya que esto se puede usar mientras tu servidor sigue funcionando normalmente, y en teoría no afecta para nada al rendimiento del disco. Ahora realicemos un test rápido:

nas001@nas001:~$ sudo smartctl -H /dev/sdb
smartctl version 5.37 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

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

Mira la linea final: “PASSED“, nos indica que parece que el disco esta bien. Pero no nos da mucha mas información.

Para que nos muestre la información SMART que hay en el disco, solo hay que hacer lo siguiente:

nas001@nas001:~$ sudo smartctl -A /dev/sdb
smartctl version 5.37 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
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   107   083   006    Pre-fail  Always       -       174790252
  3 Spin_Up_Time            0x0003   097   097   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       81
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   084   060   030    Pre-fail  Always       -       299958621
  9 Power_On_Hours          0x0032   070   070   000    Old_age   Always       -       26403
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       93
187 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
189 Unknown_Attribute       0x003a   100   100   000    Old_age   Always       -       0
190 Temperature_Celsius     0x0022   054   047   045    Old_age   Always       -       791543854
194 Temperature_Celsius     0x0022   046   053   000    Old_age   Always       -       46 (Lifetime Min/Max 0/19)
195 Hardware_ECC_Recovered  0x001a   053   048   000    Old_age   Always       -       56032012
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   001   000    Old_age   Always       -       4010
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 TA_Increase_Count       0x0032   100   253   000    Old_age   Always       -       0

Aun así, si queremos hacer un test mucho mas profundo, tendremos que lanzarlo con el siguiente comando:

nas001@nas001:~$ sudo smartctl -t long /dev/sdh

¿Pero donde estan los resultados?, pues como lees al lanzarlo, te dice el tiempo que va a tardar (en mi caso ponía unos 225 minutos), y los resultados quedaran almacenados y consultables con el siguiente comando:

nas001@nas001:~$ sudo smartctl -a /dev/sda
smartctl version 5.37 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

# Mucha información que entenderemos... xD

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Self-test routine in progress 10%      5311         -

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.

Este comando nos muestra mucha información, pero al final vienen las lineas donde nos muestra como va nuestro test, en este caso sigue en progreso, al 10%.

Otra utilidad muy interesante es conocer los errores pasados de nuestro disco, con el comando:

nas001@nas001:~$ sudo smartctl -l error /dev/sda

Pero pensaréis: vaya coñazo, ¿esto no se puede hacer automático?. Pues claro, nos ha instalado un demonio que podremos activar para que nos envie correos con los fallos que vaya encontrando y lance los test automáticamente. Vamos a “/etc/default/smartmontools” y descomentamos la línea:

start_smartd=yes

Ahora en “/etc/smartd.conf”, comentamos la línea activa y ponemos:

# Tantos como discos queremos monitorizar
# SATA (en caso de ser IDE quitar el parámetro "-d sat")
/dev/sda -d sat -S on -o on -a -I 194 -m informatica@miempresa.com
/dev/sdb -d sat -S on -o on -a -I 194 -m informatica@miempresa.com

Alehop. Ya tenemos un sistema de monitorización de discos.

Referencias:

Please follow and like us: