Fiabilidad de un disco duro con S.M.A.R.T. en Linux

maig 25th, 2014 by Tempesta48
  • catalan
  • spanish

Ayer hice un repaso al estado del disco duro del servidor. Ya que éste no es un disco duro nuevo y ya tiene muchas horas de uso, utilicé SMART para ver su fiabilidad. Esto está hecho sobre una plataforma CentOS 6.5. Primero haremos un test corto para ver si hay algún error sin tener que hacer un test largo, que puede tardar horas.

En este ejemplo suponemos que el disco duro es SATA y se encuentra en /dev/sda.

# smartctl -t short /dev/sda

Este comando nos responderá con el tiempo aproximado para la finalización del test. Para ver los datos resumidos del resultado ejecutaremos el siguiente comando:

# smartctl -l selftest /dev/sda

Obtendremos un resultado similar a éste:

=== 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% 1721 -

En este caso, vemos que el Status es “Completed”. También lo vemos en “Remaining 00%”. Si obtenemos este resultado, todo está bien. Por el contrario, si obtenemos un resultado como el siguiente, tenemos uno, o más problemas:

=== 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 Extended offline Completed: read failure 20% 1596 44724966

Este mensaje indica que el test ha finalizado “Status Completed” pero con errores “Remaining 20%”. Nos está indicando que el direccionamiento de bloques lógicos (LBA) está fallando en la dirección 44724966.

Tomamos pues este valor (44724966) y lo multiplicamos por (512/4096). Es decir, lo dividimos por 8.

44724966 / 8 = 5590620.75

Redondeamos este valor a 5590620 y ejecutamos el siguiente comando para llenar este sector de ceros.

# dd if=/dev/zero of=/dev/sda conv=sync bs=4096 count=1 seek=5590620
1+0 records in
1+0 records out
# sync

Una vez hecho esto, volveremos a ejecutar el test corto y si vuelve a salir otro error , lo corregiremos repitiendo el proceso. Si este sector se encuentra en medio de un fichero sin embargo, este proceso lo corromperá.

Si el test corto no nos devuelve ningún error, procederemos a realizar un test largo para mayor seguridad ejecutando el siguiente comando:

# smartctl -t long /dev/sda

Agradezco la información publicada aquí: http://www.linuxquestions.org/questions/linux-newbie-8/smartctl-read-failure%3B-is-my-hd-failing-920243/#post4675817


0 Responses to this post

  1. No Comments

Leave a Response