smartmontools: monitoriza discos con SMART
Introducción
smartmontools permite controlar y supervisar dispositivos de almacenamiento usando SMART (Self-Monitoring, Analysis and Reporting Technology). SMART recoge atributos internos del disco (reallocations, sectores pendientes, errores de lectura/escritura, temperatura, etc.) y puede advertir sobre degradación antes de una fallo total.
Definición rápida: SMART = sistema integrado en la mayoría de discos que reporta atributos internos y permite autodiagnósticos.
Importante: SMART no garantiza detectar todos los fallos repentinos; es una herramienta de reducción de riesgo, no una protección infalible. Siempre complemente con copias de seguridad regulares.
Objetivos de este artículo
- Instalar smartmontools.
- Comprobar si un disco soporta SMART.
- Ejecutar pruebas cortas/largas y leer resultados.
- Activar smartd como servicio y programar pruebas automáticas.
- Usar GSmartControl (GUI) como alternativa.
- Proporcionar procedimientos, listas de verificación por rol y plan de respuesta.
Instalación
Necesitarás un disco moderno compatible con SMART. En Debian/Ubuntu y derivados:
sudo apt-get install smartmontools
En otras distribuciones usa el gestor de paquetes equivalente (yum/dnf/pacman). Para la GUI:
sudo apt-get install gsmartcontrol
Comprobación básica de SMART
Para verificar si un disco soporta SMART y ver información básica:
sudo smartctl -i /dev/sda
Alt: Salida de smartctl mostrando información del disco /dev/sda
Si usas NVMe, emplea:
sudo smartctl -a -d nvme /dev/nvme0n1
Para unidades conectadas por USB o mediante ciertas cajas externas puede ser necesario indicar el controlador, por ejemplo -d sat
o -d scsi
.
Si SMART está desactivado, actívalo:
sudo smartctl -s on /dev/sda
Alt: smartctl: activación de SMART para /dev/sda
Comprobar el estado de salud general mostrado por SMART:
sudo smartctl -H /dev/sda
Si el resultado muestra “FAILED” o errores, realiza una copia de seguridad inmediata.
Tipos de pruebas y duración
smartctl soporta varios tipos de autopruebas internas (self-tests). Para ver las opciones y las duraciones estimadas:
sudo smartctl -c /dev/sda
Alt: Salida de smartctl -c con tipos de test y duraciones
Las pruebas comunes son:
- Short (corta): minutos, prueba rápida del mecanismo.
- Long / Extended (larga): horas, examen completo de superficie.
- Conveyance: diseñada para detectar daños por transporte.
Iniciar una prueba larga (ejemplo):
sudo smartctl -l long /dev/sda
Iniciar prueba corta:
sudo smartctl -l short /dev/sda
Iniciar prueba de transporte:
sudo smartctl -l conveyance /dev/sda
Alt: Inicio de test largo y estado del autodiagnóstico
Las pruebas se ejecutan en segundo plano dentro del disco; consulta su progreso y resultados con:
sudo smartctl -l selftest /dev/sda
Alt: Resultados de selftest de smartctl
Si aparecen errores en los resultados de selftest, planifica una copia de seguridad y reemplazo del disco.
Leer toda la información SMART
Para una salida completa que incluya atributos, logs y autopruebas:
sudo smartctl -a /dev/sda
Para SATA explícito:
sudo smartctl -a -d ata /dev/sda
Para NVMe:
sudo smartctl -a -d nvme /dev/nvme0n1
Consulta las páginas del manual si necesitas interpretar cada atributo:
man 8 smartctl
smartd: ejecutar smartmontools como demonio
Para automatizar comprobaciones y recibir alertas por correo o ejecutar hooks, usa smartd (demonio).
Editar el fichero de arranque para asegurarte que el servicio se inicia con el sistema:
sudo nano /etc/default/smartmontools
Alt: Archivo /etc/default/smartmontools con la línea ENABLED
Descomenta/activa la línea correspondiente para que el servicio se inicie automáticamente.
Configurar políticas y dispositivos en /etc/smartd.conf
:
sudo nano /etc/smartd.conf
Alt: Fragmento de /etc/smartd.conf con DEVICESCAN
Una configuración típica que detecta todos los discos y programa pruebas podría ser:
DEVICESCAN -a -H -l error -l selftest -f -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner
Explicación breve de las opciones más usadas:
DEVICESCAN
: detecta automáticamente dispositivos soportados.-a
: activa un conjunto de comprobaciones comunes.-H
: comprueba el estado de salud SMART.-l error
: registra aumentos en el log de errores.-l selftest
: notifica fallos en las autopruebas.-f
: comprueba atributos de uso que puedan indicar fallo.-s (...)
: programa autopruebas; formato:S
= short,L
= long. En el ejemplo, short diario a las 02:00 y long los sábados a las 03:00.-m root
: envía correo a root si hay errores.-M exec /usr/share/smartmontools/smartd-runner
: ejecuta el scriptsmartd-runner
para acciones adicionales.
Si DEVICESCAN
no funciona en tu entorno (ej. cajas USB problemáticas), especifica el dispositivo explícitamente:
/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner
Tras editar smartd.conf
o /etc/default/smartmontools
, reinicia el servicio:
sudo systemctl restart smartd
Ver estado del servicio:
sudo systemctl status smartd
GSmartControl (interfaz gráfica)
GSmartControl ofrece una GUI para ver atributos, ejecutar autopruebas y leer logs. Inicia la aplicación desde el menú o con:
gsmartcontrol
Alt: Interfaz principal de GSmartControl mostrando discos
En la GUI, haz clic derecho sobre un disco para ver opciones como ejecutar un self-test o ver atributos detallados.
Alt: GSmartControl: información del dispositivo
Buenas prácticas y recomendaciones
- Copias de seguridad: SMART complementa —no sustituye— las copias de seguridad. Política recomendada: copia diaria/semana según criticidad.
- Frecuencia de pruebas: short tests diarios o semanales; long tests semanal o mensual en servidores de alta criticidad.
- Alertas: envía alertas a un equipo responsable, no únicamente a root. Integra con un sistema de monitorización (Nagios, Zabbix, Prometheus + exporter).
- Logs: revisa los logs de smartd y guarda historiales para detectar tendencias.
- Compatibilidad: algunas cajas USB o RAID por hardware ocultan SMART. Comprueba compatibilidad o usa modos passthrough si es posible.
- SSD vs HDD: interpreta ciertos atributos con cuidado. Por ejemplo, la celda de desgaste en SSDes (Wear Leveling Count) es específica del vendor.
Nota: la nomenclatura y significado exacto de atributos SMART pueden variar entre fabricantes.
Procedimiento rápido (SOP) para un aviso de SMART
- Confirmar alerta y revisar
smartctl -a /dev/XXX
. - Ejecutar
smartctl -l selftest /dev/XXX
para ver tests recientes. - Iniciar una copia inmediata de los datos críticos.
- Planificar reemplazo del disco (RMA) si hay sectores reasignados o errores persistentes.
- Documentar en el ticket: salida de
smartctl -a
, serial del disco, hora, pasos realizados. - Sustituir disco y reconstruir RAID/restaurar desde backup.
Lista de verificación por rol
Administrador de sistemas:
- Instalar smartmontools y GSmartControl.
- Habilitar smartd y configurar
smartd.conf
con alertas por correo o webhook. - Programar tests y retener logs.
- Integrar alertas en sistema de monitorización.
Usuario de escritorio:
- Instalar GSmartControl para obtener una vista rápida.
- Ejecutar una prueba corta si notas ruidos o ralentizaciones.
- Hacer backup antes de ejecutar pruebas largas en discos con problemas.
Responsable de backups:
- Validar que las copias son consistentes antes de reemplazar discos.
- Mantener retención para restauraciones rápidas.
Criterios de aceptación (cómo saber que está bien configurado)
- smartd está activo y en ejecución:
systemctl status smartd
muestra activo. smartctl -H /dev/XXX
devuelve PASSED para todos los discos de producción.- Se reciben notificaciones de prueba (correo o webhook) ante un fallo simulado.
- Logs de smartd guardados en el sistema de logs central para auditoría.
Solución de problemas y casos límite
Cuando SMART no detecta fallos:
- Contraejemplo conocido: fallos electrónicos repentinos (p. ej. PCB) pueden no predecirse por SMART.
- Los discos pueden fallar sin advertencia; SMART reduce probabilidad, no la elimina.
Si smartctl no detecta el disco o devuelve “Unknown device”:
- Comprueba conexión física y BIOS/UEFI.
- Para dispositivos NVMe, usa
-d nvme
. - Prueba con otra interfaz (conectar el disco directamente en SATA en vez de caja USB).
Si DEVICESCAN
no detecta ciertos discos en smartd.conf
:
- Lista dispositivos manualmente (/dev/sda, /dev/sdb, /dev/nvme0n1).
- Asegúrate de permisos y que el servicio se ejecuta con privilegios suficientes.
Matriz de riesgos y mitigaciones (cualitativa)
- Riesgo: Sector reubicado en aumento -> Impacto alto / Esfuerzo: bajo -> Mitigación: copia inmediata y reemplazo.
- Riesgo: Error de lectura/escritura intermitente -> Impacto alto / Esfuerzo: medio -> Mitigación: backup, pruebas largas, migración.
- Riesgo: SMART no soportado por caja USB -> Impacto medio / Esfuerzo: medio -> Mitigación: conectar disco directamente o reemplazar caja por una que soporte passthrough.
Privacidad y cumplimiento
SMART incluye metadatos del dispositivo (serial, modelo). Si smartd envía estos datos por correo o a un servicio externo, considera políticas de privacidad y evita transmitir información sensible fuera del control de la organización. Para entornos regulados (GDPR), documenta quién accede a estos datos y por cuánto tiempo se conservan.
Glosario (línea por término)
- SMART: Sistema integrado en discos para autodiagnóstico y reporte de atributos.
- smartctl: utilidad CLI para consultar/controlar SMART.
- smartd: demonio que automatiza comprobaciones y envía alertas.
- Self-test: autoprueba interna del disco (short/long/conveyance).
Casos de prueba rápidos (aceptación)
- CP1: Ejecutar
smartctl -i /dev/XXX
y obtener información sin error. - CP2: Activar SMART con
-s on
y comprobarsmartctl -H
devuelve PASSED. - CP3: Programar una prueba corta con
-s
ensmartd.conf
y verificar que se ejecuta a la hora prevista. - CP4: Forzar un fallo simulado (si está disponible en un entorno de laboratorio) y comprobar recepción de notificación.
Preguntas frecuentes
¿SMART detecta todos los fallos de disco?
No. SMART detecta muchos tipos de degradación pero no garantiza la detección de fallos súbitos. Siempre mantén copias de seguridad.
¿Puedo usar smartmontools con RAID por hardware?
Depende del controlador RAID. Algunos controladores exponen unidades físicas y permiten SMART; otros no. Consulta la documentación del controlador.
¿Es seguro enviar alertas con el número de serie del disco por correo?
Es información técnica que no suele considerarse sensible, pero en entornos regulados debes limitar la divulgación y documentar el flujo de datos.
Recursos y enlaces
- Página principal: http://www.smartmontools.org
Resumen
smartmontools (smartctl y smartd) es una herramienta práctica para monitorizar la salud de discos, ejecutar autopruebas y automatizar alertas. Combínala con políticas de backup, revisa compatibilidades (NVMe, USB, RAID) y define procedimientos claros para respuesta y reemplazo de unidades.
Resumen ejecutivo: instala smartmontools, habilita smartd, programa pruebas cortas/ largas, integra alertas en tu sistema de monitorización y actúa con prioridades en cuanto SMART reporta errores.
Materiales similares

Acelera Google Chrome: 9 pasos esenciales

Corregir controlador incompatible de EA AntiCheat

Usar Android como módem sin root
