Usando Smartd para anticiparnos a los desastres de disco duro

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción

La mayoría de las distribuciones recientes incluyen smartctl y smartd (parte de smartmontools incluido en el paquete kernel-utils), que son herramientas utilizadas para supervisar la salud de los discos duros realizando pruebas para comprobar su buen funcionamiento. Mientras el disco y la tarjeta madre (soporte se activa en el BIOS) tengan capacidad para utilizar S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) es posible anticipar las fallas de un disco duro. Solo basta configurar un fichero (/etc/smartd.conf) e iniciar un servicio (smartd).

Procedimientos

El fichero /etc/smartd.conf solo requiere una línea de configuración por cada disco duro en el sistema. Ejemplos:

/dev/hda -a -m alguien@cuenta-de-correo.algo
/dev/sda -d scsi -a -m alguien@cuenta-de-correo.algo
/dev/sdb -d scsi -a -m alguien@cuenta-de-correo.algo

Lo anterior hace que se envié un reporte completo y detallado de toda la información S.M.A.R.T. y las alertas pendientes. La opción -a en discos IDE equivale a '-H -i -c -A -l error -l selftest -l selective', y en discos SCSI equivale a '-H -i -A -l error -l selftest', donde:

-H
Incluye en el reporte el estado de salud y alertas pendientes. Si se quiere enviar reportes a un teléfono móvil, esta sería la opción única a utilizar.

-i
Incluye en el reporte el numero de modelo, número de serie, versión de Firmware e información adicional relacionada.

-c
Incluye en el reporte las capacidades S.M.A.R.T.

-A
Incluye en le reporte atributos S.M.A.R.T. específicos del fabricante del disco.

-l error
Incluye en el reporte la bitácora de errores de S.M.A.R.T.

-l selftest
Incluye en el reporte la bitácora de pruebas de S.M.A.R.T.

-l selective
Algunos discos tipo ATA-7 (ejemplo: Maxtor) incluyen una bitácora de pruebas selectivas.

-m
Cuenta de correo electrónico a la cual se enviarán reportes.

Si por ejemplo, solo nos interesa recibir reportes de salud en un teléfono móvil, se utilizarían solo lo siguiente:

/dev/hda -H -m alguien@cuenta-de-correo.algo
/dev/sda -d scsi -H -m alguien@cuenta-de-correo.algo
/dev/sdb -d scsi -H -m alguien@cuenta-de-correo.algo

Hecho lo anterior, solo se necesita agregar el servicio a los servicios de arranque del sistema e iniciar (o reiniciar, según el caso) smartd:

chkconfig smartd
service smartd start

El servicio se encarga de ejecutar automáticamente en el tras fondo del sistema todas las pruebas necesarias y soportadas por las unidades de disco duro presentes. El reporte se envía automáticamente junto con el mensaje con el reporte de la bitácora del sistema unos minutos después de las 4:00 AM.

Si se quiere ver un reporte al momento, completo y detallado, suponiendo que se trata de un disco duro en el IDE 1, basta ejecutar:

smartctl -a /dev/hda

Si se quiere ver un reporte al momento que solo muestre el estado de salud de la unidad, suponiendo que se trata de un disco duro en el IDE 1, basta ejecutar:

smartctl -H /dev/hda


Alcance Libre
http://www.alcancelibre.org/staticpages/index.php/como-smartd