LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Comprobar la salud del disco de forma periódica, es simpre una buena idea. Sobre todo si lo que pretendes es evitar fallos que puedan darte algún disgusto, por eso te vamos a enseñar algunos trucos y comandos que puedes ver en este artículo que te enseñarán a comprobar el estado de salud del disco. Todas las pruebas las tendrás que hacer como root, así que si no haces "su -", para cambiar de usuario... tendrás que usar "sudo"

Puedes comprobar el estado haciendo algunas pruebas con "grep" sobre el fichero de registro /var/log/messages, por ejemplo:

cat /var/log/messages | grep sector

o

cat /var/log/messages | grep unreadeable

o
cat /var/log/messages | grep uncorrectable

Durante la última semana o así, mi máquina ha ido un poco lenta e incluso he tenido algún bloqueo (esta es la primera vez que he tenido un bloqueo completo de mi máquina Linux). Esto significaba que tenía que reiniciar la máquina, pero todo parece estar bien... Entonces consideré comprobar el registro /var/log/messages y observé:

Esta es una parte de los mensajes de registro:

Aug 22 23:49:27 linux-office smartd[3547]: Device: /dev/sda, 2 Currently unreadable (pending) sectors
Aug 22 23:49:27 linux-office smartd[3547]: Device: /dev/sda, 2 Offline uncorrectable sectors
Aug 22 23:49:27 linux-office smartd[3547]: Device: /dev/sda, SMART Usage Attribute: 190 Temperature_Celsius changed from 55 to 56
Aug 22 23:49:27 linux-office smartd[3547]: Device: /dev/sda, SMART Usage Attribute: 194 Temperature_Celsius changed from 45 to 44
Aug 22 23:49:27 linux-office smartd[3547]: Device: /dev/sdb, SMART Usage Attribute: 194 Temperature_Celsius changed from 125 to 127
Aug 23 00:00:01 linux-office /usr/sbin/cron[4912]: (root) CMD ( test -x /usr/lib/secchk/security-control.sh && /usr/lib/secchk/security-control.sh daily &)
Aug 23 00:19:26 linux-office smartd[3547]: Device: /dev/sda, 2 Currently unreadable (pending) sectors
Aug 23 00:19:26 linux-office smartd[3547]: Device: /dev/sda, 2 Offline uncorrectable sectors
Aug 23 00:48:53 linux-office syslog-ng[2138]: STATS: dropped 0
Aug 23 00:49:26 linux-office smartd[3547]: Device: /dev/sda, 2 Currently unreadable (pending) sectors
Aug 23 00:49:26 linux-office smartd[3547]: Device: /dev/sda, 2 Offline uncorrectable sectors
Aug 23 01:19:26 linux-office smartd[3547]: Device: /dev/sda, 2 Currently unreadable (pending) sectors
Aug 23 01:19:26 linux-office smartd[3547]: Device: /dev/sda, 2 Offline uncorrectable sectors
Aug 23 01:48:53 linux-office syslog-ng[2138]: STATS: dropped 0
Aug 23 01:49:26 linux-office smartd[3547]: Device: /dev/sda, 2 Currently unreadable (pending) sectors
Aug 23 01:49:26 linux-office smartd[3547]: Device: /dev/sda, 2 Offline uncorrectable sectors

Si esto le ocurre, Inicie el sistema utilizando el disco de rescate (tal vez el de su propia distribución), y trate de ejecutar el siguiente comando.

utilizando como disco duro 'sda' durante la prueba.

smartctl -t long /dev/sda

Esto debería mostrar una duración prevista durante las pruebas de X tiempo

A continuación, reinicie la máquina y ver si eso ha ayudado. La exploración 'de tipo long' causa que el procesador interno de la unidad al intente leer, a continuación, escribir todos los sectores. Si encuentra un error, tratará de arreglarlo, y luego 'remapar'.

Todo esto es interna a la unidad, no se necesita ningún software o programa para manejar cualquier reasignaciones ... en realidad, van a ser totalmente transparente para una usuario, con posiblemente un pequeño retraso detectable como la unidad utiliza automáticamente el sector reasignado durante la lectura o escritura.

Asegúrese de leer el manual antes de su ejecución.


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 podemos instalar con este paquete smartmontools.

Primero debemos comprobar si nuestra BIOS y Disco duro lo soportan, para ello escribiremos en un terminal

$ sudo smartctl -i /dev/sda

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/sda

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 hecho 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/sda

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/sda

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/sda nos dirá si para S.M.A.R.T. el disco tiene errores

$ sudo smartctl -l selftest -i -H /dev/sda

Y nos responderá

...
...
...
SMART overall-health self-assessment test result: PASSED
...

Con el parámetro -A

$ sudo smartctl -l selftest -A /dev/sda

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/sda

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/sda

Una vez transcurrido el tiempo le solicitamos la información obtenida

smartctl -l selftest -i /dev/sda

Estado de los tests en proceso

Para saber el estado de los tests que se esten realizando

$ smartctl -l selftest /dev/sda

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 para discos IDE 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/sda -S on -o on -a -I 194 -m Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

En el caso de que tu disco sea SATA tendrías que añadir

/dev/sda -d sat -S on -o on -a -I 194 -m Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

También

/etc/default/smartmontools

y poner

start_smartd=yes

Y en un Terminal

/etc/init.d/smartmontools start

Si al ejecutarlo recibes este mensaje

Starting S.M.A.R.T. daemon smartd  [fail]

revisa el fichero /var/log/syslog para encontrar el registro de los errores que se han producido

Enlaces externos

Colabora en Wikipedia Wikipedia alberga un artículo enciclopédico sobre S.M.A.R.T.. (en español)

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Formulario de acceso

Filtro por Categorías