Guía de tecnologías

Guía práctica de smartmontools para monitorizar discos con SMART

6 min read Sistemas Actualizado 16 Oct 2025
Guía smartmontools para monitorizar discos
Guía smartmontools para monitorizar discos

Qué es SMART y por qué importa

SMART (Self-Monitoring, Analysis and Reporting Technology) es una funcionalidad integrada en discos duros modernos que recopila atributos y autoevaluaciones para detectar problemas antes de una falla completa. smartmontools es un paquete de software libre multiplataforma que consulta esos atributos y automatiza pruebas. Definición: atributo SMART — una métrica interna del disco que refleja su estado (ej. recuentos de sectores reasignados, temperatura, fallos de lectura).

Importante: SMART no garantiza predecir todos los fallos; complementa, pero no sustituye, una política de copias de seguridad y rotación de medios.

Variantes de intención cubiertas

  • Cómo usar smartmontools
  • Monitorización SMART de discos duros
  • Comandos smartctl básicos
  • Configurar smartd para alertas
  • Pruebas cortas y extendidas del disco

Instalación en distribuciones comunes

En Debian o Ubuntu, smartmontools está en los repositorios oficiales. Instala con:

sudo apt-get update
sudo apt-get install smartmontools

En Fedora o sistemas basados en RHEL que usen yum:

sudo yum install smartmontools

El paquete instala dos utilidades principales: smartctl (interactiva) y smartd (demonio para comprobaciones periódicas).

smartctl: uso interactivo y pruebas puntuales

smartctl requiere permisos de root. Opera sobre el dispositivo físico (por ejemplo /dev/sda), no sobre particiones (/dev/sda1).

Información básica del disco

Para mostrar información general del disco:

sudo smartctl -i /dev/sda

Información del disco mostrando si SMART está disponible y habilitado.

La salida indica si SMART está soportado y activado. Si está soportado pero no activado, habilítalo:

sudo smartctl -s on /dev/sda

Comprobar el estado de salud

Para obtener el estado rápido que resume si el disco considera que está bien:

sudo smartctl -H /dev/sda

Salida de smartctl mostrando si el disco PASA la comprobación de salud.

Si el resultado no es PASSED, considera el disco en riesgo: realiza una copia de seguridad inmediatamente.

Ver capacidades SMART y tiempos de auto-test

sudo smartctl -c /dev/sda

Listado de capacidades SMART y tiempos estimados para auto-tests.

En este ejemplo la estimación era ~2 minutos para el test corto y ~95 minutos para el extendido. Estas estimaciones varían por modelo.

Ejecutar tests cortos y extensos

Test corto (rápido, detecta problemas obvios):

sudo smartctl -t short /dev/sda

Ejecución de un test corto en segundo plano.

El test corre en segundo plano; para ver los resultados de los últimos autodiagnósticos:

sudo smartctl -l selftest /dev/sda

Para ejecutar un test extendido, que es más exhaustivo:

sudo smartctl -t long /dev/sda

Si una prueba falla, prioriza la copia y migración de datos.

Opciones útiles y compatibilidad

  • Si tu unidad usa un tipo especial (por ejemplo, USB-SATA puenteado), smartctl puede requerir -d TYPE (ej. -d sat). Si tus comandos anteriores usaban -d, aplícalo también en smartd.
  • Para listar todos los atributos SMART:
sudo smartctl -A /dev/sda
  • Para ver el registro de errores:
sudo smartctl -l error /dev/sda

smartd: automatizar comprobaciones y alertas

smartd es el demonio que ejecuta comprobaciones periódicas y envía notificaciones cuando detecta problemas.

Archivo de configuración principal

Por lo general se encuentra en /etc/smartd.conf. Recomendación de flujo:

  1. Abrir /etc/smartd.conf
  2. Comentar la línea que contiene DEVICESCAN (añade # al inicio)
  3. Enumerar cada dispositivo explicitamente con opciones por línea

Ejemplo de línea por dispositivo (ajusta según tu sistema):

/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner

Explicación simplificada de las opciones:

  • /dev/sda: archivo de dispositivo
  • -a: habilita un conjunto de opciones comunes (monitoreo de atributos, pruebas automáticas, etc.)
  • -o on: habilita pruebas offline automáticas
  • -S on: activa el autosave de atributos SMART
  • -s (S/../.././02|L/../../6/03): programa tests; aquí S es diario a las 02:00 y L es semanal el sábado a las 03:00
  • -m root: envía correo a root (pueden ser varias direcciones separadas por comas)
  • -M exec /usr/share/smartmontools/smartd-runner: usa el script smartd-runner para acciones adicionales

Nota: Asegúrate de que el sistema pueda enviar correos (postfix, sendmail o equivalente) si vas a usar la opción -m.

Iniciar y probar smartd

Habilita el arranque automático editando /etc/default/smartmontools y poniendo:

start_smartd=yes

Inicia o reinicia el servicio:

sudo /etc/init.d/smartmontools start
sudo /etc/init.d/smartmontools restart

Para probar la notificación por correo, añade -M test a una línea de /etc/smartd.conf y reinicia smartd; smartd enviará una notificación de prueba.

Playbook rápido para administradores

Lista de acciones paso a paso para un servidor con discos locales:

  1. Verificar que hay copias de seguridad recientes antes de hacer pruebas largas.
  2. Instalar smartmontools.
  3. Comprobar compatibilidad con sudo smartctl -i /dev/sdX.
  4. Habilitar SMART si está disponible: sudo smartctl -s on /dev/sdX.
  5. Ejecutar sudo smartctl -t short /dev/sdX y revisar sudo smartctl -l selftest /dev/sdX.
  6. Configurar /etc/smartd.conf con líneas explicitas por dispositivo.
  7. Asegurar sistema de correo o webhook para alertas.
  8. Habilitar e iniciar smartd y comprobar logs en syslog/journal.
  9. Documentar la política de escalado (quién recibe alertas y qué hacer).

Rol basado en responsabilidades:

  • Admin de sistema: instalar, configurar smartd y probar mails.
  • Responsable de backups: validar restauraciones y puntos de recuperación.
  • Operaciones/NOC: configurar alertas y runbooks de respuesta.

Comprobación y aceptación de cambios

Criterios para considerar una configuración como operativa:

  • smartd arranca automáticamente al iniciar el sistema.
  • Se reciben notificaciones de prueba por correo o webhook.
  • Las pruebas cortas y extendidas pueden iniciarse y sus resultados son legibles.
  • Los logs muestran entradas de smartd y/o smartctl sin errores persistentes.

Limitaciones, cuándo SMART puede fallar

  • Algunos fallos mecánicos súbitos pueden no estar precedidos por cambios SMART detectables.
  • Discos en bridges USB o cajas RAID/encapsuladores pueden ocultar atributos SMART; en esos casos se necesita acceso en modo passtrough o usar herramientas del fabricante.
  • Un SMART correcto (PASSED) no garantiza vida indefinida; siempre mantén backups.

Contraejemplo: un disco que falla por un golpe eléctrico puede morir sin cambios previos en los contadores SMART.

Buenas prácticas y seguridad

  • Nunca confíes únicamente en notificaciones por correo: integra alertas con un sistema de monitorización (Prometheus/Alertmanager, Zabbix, etc.) o con webhooks.
  • Protege el acceso a /etc/smartd.conf y a los scripts que ejecuta smartd.
  • Si usas correos, evita exponer direcciones internas en logs exportados a terceros.

Plantillas y fragmentos útiles

Ejemplo mínimo de /etc/smartd.conf para dos discos:

# Monitorizar disco principal
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner
# Monitorizar disco secundario
/dev/sdb -a -o on -S on -s (S/../.././02|L/../../6/03) -m ops@example.com -M exec /usr/share/smartmontools/smartd-runner

Lista de comandos de verificación rápida:

sudo smartctl -i /dev/sda
sudo smartctl -H /dev/sda
sudo smartctl -A /dev/sda
sudo smartctl -l selftest /dev/sda
sudo tail -n 50 /var/log/syslog

Ejemplo de flujo de respuesta ante alerta

  1. Recibir alerta automática de smartd.
  2. Ejecutar sudo smartctl -A /dev/sdX y sudo smartctl -l selftest /dev/sdX.
  3. Validar copias de seguridad y planificar migración de datos.
  4. Si procede, desconectar el disco y reemplazar por mantenimiento proactivo.

Consideraciones locales y compatibilidad

  • En entornos con controladoras RAID, verifica si la controladora permite pasar atributos SMART a la OS. Si no, usa las utilidades del fabricante de la controladora.
  • En instalaciones con restricciones de red, las notificaciones por correo pueden fallar; usa syslog centralizado o API/webhook.

Resumen final

smartmontools es una herramienta valiosa para detectar problemas en discos duros antes de que fallen catastróficamente. Usa smartctl para inspecciones puntuales y smartd para monitorización continua. Sin embargo, recuerda que SMART ofrece señales tempranas en muchos, pero no todos, los fallos. Mantén buenas políticas de copia de seguridad y planes de respuesta para reducir riesgos.

Importante: Ante cualquier resultado no PASSED, prioriza la copia de seguridad y la sustitución del disco.

Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach