S.M.A.R.T.
La tecnología S.M.A.R.T. acrónimo de Self Monitoring Analysis and Reporting Technology consiste en la capacidad de detección de fallos del disco duro. La detección de los fallos con la suficiente anticipación permite al usuario el poder realizar una copia de su contenido, o reemplazar el disco, antes de que se produzca una pérdida de datos irrecuperable.
Este tipo de tecnología tiene que ser compatible con la BIOS del equipo, estar activada y además que el propio disco duro la soporte.
Contenido
Principios de funcionamiento
La tecnología S.M.A.R.T. monitoriza los diferentes parámetros del disco como pueden ser: la velocidad de los platos del disco, sectores defectuosos, errores de calibración, CRC, distancias medias entre el cabezal y el plato, temperatura del disco, etc.
Cuando se produce un error detectable por este tipo de tecnología la BIOS avisa mediante un mensaje que aparece en la pantalla indicando el tipo de error producido, aunque en la mayoria de los casos lo hace cuando al disco duro apenas le quedan unas horas de vida.
Los umbrales de funcionamiento óptimo y los parámetros del disco duro difieren entre los diferentes fabricantes de discos duros aunque el informe que se realiza al PC está estandarizado. Aunque esta tecnología no es capaz de detectar cualquier tipo de fallo sí que es capaz de detectar la mayoría de fallos correspondientes a algún tipo de degradación en el disco.
Los fallos que se pueden producir se dividen en dos categorías:
- Impredecibles
Los fallos impredecibles suelen estar producidos por sobrevoltajes provocados por mal funcionamiento de algún circuito integrado o por una mala conexión.
- Predecibles
Los fallos predecibles suelen corresponderse con un deterioro de la parte mecánica del disco. Este tipo de fallos suelen representar el 60% del total.
Principales parámetros a controlar
Los parámetros más característicos a controlar son los siguientes:
- Temperatura del disco
- Velocidad de lectura
- Tiempo de partida spin-up
- Contador de sectores reasignados
- Velocidad de búsqueda Seek time
- Tasa de errores de búsqueda Seek
Los valores de los atributos S.M.A.R.T van del número 1 al 253, siendo 1 el peor valor. Los valores normales son entre 100 y 200. Estos valores son guardados en un espacio reservado del disco duro.
Sí la BIOS detecta una anomalía en el funcionamiento, avisará al usuario cuando se inicie el proceso de arranque del ordenador con el disco duro estropeado o con una gran probabilidad de fallo inminente.
La compañía Compaq fue la primera en implementar esta tecnología en sus equipos computacionales. Actualmente, la mayoría de los fabricantes de discos duros y de placas madre incorporan esta característica en sus productos.
Instalación y uso
En GNU/Linux disponemos de las herramientas smart monitoring tools que en Debian y Ubuntu las podemos instalar con este paquete smartmontools.
Primero devemos comprobar si nuestra BIOS y Disco duro lo soportan, para ello escriviremos en un terminal
$ sudo smartctl -i /dev/hda
Y nos devolverá algo parecido a esto:
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Device Model: ST330013A Serial Number: 3KE08PVC Firmware Version: 3.33 Device is: Not in smartctl database \ [for details use: -P showall] ATA Version is: 6 ATA Standard is: ATA/ATAPI-6 T13 1410D revision 2 Local Time is: Fri Dec 16 12:16:10 2005 CET SMART support is: Available - device has SMART capability. SMART support is: Enabled
Nos tenemos que fijar que tengamos soporte, y además que este activado. Ahora hay que comprobar las características del soporte que tenemos.
$ sudo smartctl -Hc /dev/hda
y nos devuelve algo como esto:
smartctl version 5.36 [i686-pc-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 ... ... ...
Una vez echo esto podemos hacer muchas cosas, como ver una explicación sobre como utilizar este programa y que tests se pueden realizar haciendo
$ man smartctl
Registro de errores
Podemos ver el registro de errores con
$ sudo smartctl -l error /dev/hda
Y si no tenemos ningún error nos devolverá
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART Error Log Version: 1 No Errors Logged
Test genérico
Podemos hacer un test genérico para obtener todo tipo de información sobre el disco duro. Para ello hay que hacer
$ smartctl -l selftest -i /dev/hda
Y nos devuelve
smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Model Family: Seagate Barracuda 7200.7 and 7200.7 Plus family Device Model: ST340014A Serial Number: 5JX09GR2 Firmware Version: 3.04 40,020,664,320 bytes Device is: In smartctl database [for details use: -P show] ATA Version is: 6 ATA Standard is: ATA/ATAPI-6 T13 1410D revision 2 Local Time is: Tue Oct 16 07:42:26 2007 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% 12210 -
Donde obtenemos, entre otros, la siguiente información:
- 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.
si al comando le añadimos el parámetro -H antes de -i /dev/hda nos dirá si para S.M.A.R.T. el disco tiene errores
$ sudo smartctl -l selftest -i -H /dev/hda
Y nos responderá
... ... ... SMART overall-health self-assessment test result: PASSED ...
Con el parámetro -A
$ sudo smartctl -l selftest -A /dev/hda
Podemos obtener:
- 12 Power_Cycle_Count: RAW_Value: 1255. Este disco duro se ha encendido 1255 veces.
- 192 Temperature Celsius. RAW_Value: 27. Es decir, 27 grados de temperatura en el disco lo cual no es nada alto.
En todos estos parámetros se tiene que tener en cuenta el campo RAW_Value que indica el valor del Dato en cuestion 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
Test más profundo
También tenemos la posiblidad de hacer un test más profundo, pero este llevara bastante más tiempo, aunque se realiza en segundo plano.
$ sudo smartctl -t long /dev/hda
Y nos devuelve
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === 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 24 minutes for test to complete. Test will complete after Fri Dec 16 12:55:25 2005 Use smartctl -X to abort test.
Para abortar el test
$ sudo smartctl -X /dev/hda
Una vez transcurrido el tiempo le solicitamos la información obtenida
smartctl -l selftest -i /dev/hda
Estado de los tests en proceso
Para saber el estado de los tests que se esten realizando
$ smartctl -l selftest /dev/hda
Y nos devolvera algo como
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === 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% 0 -
Monitorizar el disco duro con smartd
Debemos editar el archivo
/etc/smartd.conf
y añadimos al final del documento
# -S on para que grabe los atributos auto # -o on para activar los test offline auto # -a para monitorizar todos los atributos # -I 194 para ignorar la temperatura (que cambia con frecuencia) # -m dirección_de_correo para que nos mande un mail si pasa algo /dev/hda -S on -o on -a -I 194 -m admin@nuestro.host.dom
También
/etc/default/smartmontools
y poner
start_smartd=yes
Y en un Terminal
/etc/init.d/smartmontools start
Enlaces externos
- Página web oficial
- Guía de como usar S.M.A.R.T. (en inglés)
- Otra guía de como usar S.M.A.R.T. (en inglés)