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