Bueno, como ya comenté en mi anterior artículo ( Sistema de discos en espejo, configurar RAID por software. | Jose Alberto Benítez Andrades ) estas últimas semanas he sacado algo de tiempo entre proyecto y proyecto para seguir mejorando el estado de nuestros servidores.

Poco a poco voy autoformándome cada vez más en el campo de la administración de sistemas, que lo tenía un poco verde 🙂

Aquí os voy a hablar de una herramienta que no os puede faltar SMARTMOONTOOLS.

Hoy en día, los discos duros suelen contar con una tecnología llamada S.M.A.R.T., la cual, gracias a ella, nos permite monitorizar de forma continua, el estado de nuestros discos y si fuera necesario informar al usuario cuando se detecte alguna anomalía para que posteriormente pueda ser solventada.

¿Cómo instalar SMARTMOONTOOLS?

Antes de nada, deberíamos comprobar que nuestro disco duro dispone de esta tecnología, aunque si compraste tu disco duro posteriormente al año 1992, seguramente cuente con ella.

El segundo paso sería activar en la BIOS la función S.M.A.R.T.

Después de haber realizado estos pasos, instalamos en nuestra distribución SMART:

Para Debian

# aptitude install smartmontools

Para Gentoo

# emerge smartmontools

Realizamos un fdisk -l para ver qué discos podemos analizar y procedemos a coprobar que está activado:

# smartctl -i /dev/sda

Obtendremos la información siguiente:

smartctl version 5.38 [x86_64-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA DT01ACA100
Serial Number:    13FJ8ASPS
Firmware Version: MS2OA750
User Capacity:    1,000,204,886,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Thu Oct 24 17:47:46 2013 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

En la última línea podemos ver que nuestro disco está activado, en el caso de que no lo estuviera, se activa con la siguiente línea de comandos:

# smartctl -s on -d ata /dev/sda

 Aprendiendo a usar SMT

Para hacer un análisis del disco duro y ver si nuestro disco está correcto o tiene algún tipo de problema, ejecutamos la siguiente línea

# smartctl -H /dev/sda

Si recibimos por pantalla PASSED, significa que nuestro disco no tiene ningún problema, si por el contrario recibimos FAILED, deberíamos intentar copiar los datos del disco y cambiarlo lo antes posible.

Bitácora de errores de SMT

Para poder probar, testear, la bitácora de SMT escribimos la siguiente línea:

# smartctl -l error /dev/sda

Podemos obtener dos tipos de mensajes:

  • No errors logged : significaría que nuestro disco está correcto, no ha tenido ningún problema en ningún momento
  • Otros mensajes de error: si tenemos mensajes de error antiguos , deberíamos preocuparnos bastante e intentar salvar el máximo número de datos posible, y si son recientes, todavía estamos a tiempo de salvar la mayoría de datos.

Pruebas con SMT

Las pruebas no interfieren en el funcionamiento del disco, con lo cual, se pueden realizar en cualquier momento sin peligro de estropear nada.

En primer lugar, para saber qué pruebas acepta nuestro disco, ejecutamos:

# smartctl -c /dev/sda

En nuestro caso, nuestro disco permite Auto Offline data collection on/off support así que realizamos este escaneo:

# smartctl -t offline /dev/sda

Esta prueba es bastante larga, con lo cual, dejamos que se haga el escaneo y podremos ver los resultados con la línea de comandos para leer la bitácora del SMT explicado en el paso anterior.

Si nuestro disco lo soporta, hacemos un escaneo corto:

# smartctl -t short /dev/sda

Y para comprobar los resultados ejecutamos

# smartctl -l selftest /dev/sda

 ¿Cómo configurar la monitorización automática con alertas por email?

Para ello deberemos editar el fichero /etc/smartd.conf y agregamos las siguientes líneas

/dev/hda -a -m alguien@dominio.com
/dev/sda -d scsi -a -m alguien@dominio.com
/dev/sdb -d scsi -a -m alguien@dominio.com

Esto lo que hace es que se envíe un informe completo y detallado de toda la información S.M.A.R.T. y las alertas pendientes al email puesto. La opción -a  en discos IDE equivale a :

/dev/hda -H -i -c -A -l error -l selftest -l selective

Y en discos SCSI :

/dev/sda -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 interesase recibir informes de “salud” de /dev/hda/dev/sda y /dev/sdb, en una cuenta de correo electrónico  se utilizarían lo siguiente en el archivo /etc/smartd.conf:

/dev/hda -H -m alguien@dominio.com
/dev/sda -d scsi -H -m alguien@dominio.com
/dev/sdb -d scsi -H -m alguien@dominio.com

Realizados los pasos anteriores, ya solo queda añadir el servicio smartd al arranque e iniciarlo:

/etc/init.d/smartd restart
rc-update add smartd default