Testeo de disco duro en debian

August 8th, 2007

Debian (y todos sus derivados) dispone de múltiples herramientas para testear y prevenir averias en los componentes del ordenador. Con este artículo podremos testear y averiguar si alguno de los discos de nuestro ordenador tiene algún defecto, y en tal caso, determinar el problema concreto y el tiempo aproximado que tardará en fallar.

Usaremos smartmontools, una aplicación que “consulta” al disco duro sobre parámetros de funcionamiento. En función de estas consultas smartmontools nos devuelve la información en “atributos”.
Instalamos smartmontools

$ sudo apt-get install smartmontools

Smartmontools consta de dos aplicaciones, smartctl que realiza testeos manualmente y el demonio smartd que controla automáticamente los discos que hayamos marcado y envia los resultados al syslog o a un usuario.

Listamos los discos de nuestro sistema para escoger cual testear:

$ df -l
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/hda1 9614116 1779520 7346224 20% /
tmpfs 242180 0 242180 0% /lib/init/rw
udev 10240 40 10200 1% /dev
tmpfs 242180 0 242180 0% /dev/shm
/dev/hda3 184520832 56352 184464480 1% /varis
/dev/hdd1 117181568 114027360 3154208 98% /mnt/disk2

Activamos SMART en el disco elegido (sin establecer partición):

~$ sudo smartctl -s on /dev/hda3
smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
Mostramos la información más relevante del disco, fabricante, modelo, capacidad, nº de serie, datos SMART, etc…
$ sudo smartctl -a /dev/hda3
smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: ST3200820A
Serial Number: 9QE0HE37
Firmware Version: 3.AAE
User Capacity: 200,049,647,616 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
y muchos otros datos....
los 5 atributos más importantes en los que nos hemos de fijar son (lo son todos, pero para enunciar los más relevantes):
raw read error rate: Tasa de errores de lectura. Si desciende significa que los platos o los cabezales que se encargan de leer los datos fallan y se están fatigando.powers on hours count: Número de horas que ha estado el disco funcionando. En este parámetro consultaremos el valor en crudo (RAW_VALUE).seek error rate: Número de errores de búsqueda, normalmente producidos por fallos en el posicionamiento de los cabezales de lectura.

seek time performance: rendimiento del sistema de posicionamiento de los cabezales.

temperature: muestra la temperatura en grados Celsius.

Cuando el valor TRESH (umbral de error) supere al de un atributo, indicará que ese atributo esta en un valor crítico, es decir, el disco fallará por el motivo indicado. Por ejemplo:

ID

ATTRIBUTE_NAME

FLAG

VALUE

WORST

TRESH

TYPE

UPDATED

WHEN FAILED

RAW_VALUE

7

Seek_Error_Rate

0×000f

078

060

030

Pre-fail

Always

-

68288980

Significará que el disco ha tenido muchos errores de lectura y que el atributo Seek_Error_Rate tiene un valor (78) inferior a su umbral THRESH (030): Tengo el disco jodido.

Smartctl también es capaz de realizar otras comprobaciones, cada una con sus características pero siempre en segundo plano. De todos modos no es recomendable hacerlos mientras el disco esta trabajando, el rendimiento se verá afectado.
Comprovaciones
offline: Recalcular todos los atributos SMART y actualizar la lista de valores
$ smartctl -t offline /dev/hddshort: Igual que offline pero comprueba los sistemas mecánicos, tasa de lectura y señales eléctricas
$ smartctl -t short /dev/hdd
long: Como short pero empleando más tiempo en hacer el test
$ smartctl -t long /dev/hddPara mostrar el resultado del test practicado haremos
$ smartctl -l selftest /dev/hddy apareceran los tests acabados junto a Completed.Podemos activar el demonio smartd que hará los tests por nosotros editando el archivo /etc/default/smartmontools y descomentando la línea dejandolo asi:
start_smartd=yes

y iniciando el servicio
$ sudo /etc/init.d/smartmontools start

Para pasarle los parámetros que queremos que monitorice smartd, editaremos el archivo /etc/smartd.conf

Por ejemplo, yo he encontrado esta configuración:
/dev/hda -a -o on -S on -s (S/../.././19|L/../../3/21|C/../.././20) -m root

con esta explicación:
S/../.././19 = short test every day at 19:00
C/../.././20 = conveyance test every day at 20:00
L/../../3/21 = long test every wednesday (3) at 21:00
-m root = root will be emailed if anything strange occurs

Aunque en el archivo /etc/smartd.conf hay muchas más posibilidades.

Publicado en la categoría Hardware

5 Responses

    chido.blogsmexico.com Dijo:

    Como testear y descubrir fallos en discos duros en Linux…

    Artículo en el que se explica como testear y determinar errores en discos duros así como la probabilidad de que vuelvan a fallar y su vida aproximada. También se explica como activar el servicio para monitorizarlo automáticamente….

    meneame.net Dijo:

    Testeo y detección de errores en discos duros en Linux…

    Artículo en el que se explica como testear y determinar errores en discos duros así como la probabilidad de que vuelvan a fallar y su vida aproximada. También se explica como activar el servicio para monitorizarlo automáticamente….

    Lorenzo Dijo:

    Acabo de instalar y tras ejecutar “# smartctl -a” no me aparce la informacion relativa al ‘ID|Load_Cycle’, para ver los ciclos que ya ha realizado mi hdd. Tan sólo añadir que si hago “# smartctl -i /dev/sda” me dice: ==> WARNING: May need -F samsung or -F samsung2 enabled; see manual for details. Despues de mirar el manual he ejecutado con -F pero no he ganado nada. Espero que alguien me puede ayudar GRACIAS

    cibernauta Dijo:

    EL tutorial está muy bien pero debes preocuparte si tus valores (VALUE) son menores o iguales que los del umbral, eso es lo que dicen al menos las paginas del sourceforge.
    Saludos

Hacer comentario