Guía de tecnologías

smartmontools: monitoriza discos con SMART

8 min read Almacenamiento Actualizado 03 Oct 2025
smartmontools: monitoriza discos con SMART
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 script smartd-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

  1. Confirmar alerta y revisar smartctl -a /dev/XXX.
  2. Ejecutar smartctl -l selftest /dev/XXX para ver tests recientes.
  3. Iniciar una copia inmediata de los datos críticos.
  4. Planificar reemplazo del disco (RMA) si hay sectores reasignados o errores persistentes.
  5. Documentar en el ticket: salida de smartctl -a, serial del disco, hora, pasos realizados.
  6. 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 comprobar smartctl -H devuelve PASSED.
  • CP3: Programar una prueba corta con -s en smartd.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

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.

Autor
Edición

Materiales similares

Acelera Google Chrome: 9 pasos esenciales
Navegadores

Acelera Google Chrome: 9 pasos esenciales

Corregir controlador incompatible de EA AntiCheat
Soporte técnico

Corregir controlador incompatible de EA AntiCheat

Usar Android como módem sin root
Guías

Usar Android como módem sin root

Instalar Linux en Chromebook: guía completa
Linux

Instalar Linux en Chromebook: guía completa

smartmontools: monitoriza discos con SMART
Almacenamiento

smartmontools: monitoriza discos con SMART

Proteger servidores Debian/Ubuntu contra Logjam
Seguridad

Proteger servidores Debian/Ubuntu contra Logjam