SmartCtl - Control del Estado de los Discos

Linux Nivel Alto 17 de oct. de 2023

S.M.A.R.T. ¿Qué significan esas siglas?

SMART significa Self-Monitoring, Analysis, and Reporting Technology que traducido viene a ser: Tecnología de auto monitorización, análisis y generación de informes.

Esta tecnología se aplica en los discos HDD y SSD para revisar el estado óptimo de éstos y alertar ante posibles fallos de los mismos.

Cómo instalar SMART en nuestro sistema

Para activar esta tecnología y poder monitorizar y detectar el correcto funcionamiento de los discos, instalaremos el paquete smartmontools:

sudo apt -y install smartmontools

A partir de este momento ya podemos usar como root, desde la linea de comandos la aplicación smartctl

Comandos básicos de smartctl

Mostrar información del disco:

smartctl -i /dev/<disco>

Mostrar toda la información, incluyendo posibles errores o fallos:

smartctl -a /dev/<disco>

Habilitar/Deshabilitar uso de SMART en un dispositivo:

smartctl --smart=on  /dev/<disco>
smartctl --smart=off /dev/<disco>

Nombre de los dispositivos/discos en Linux

En Linux, los discos se suelen identificar con la siguiente nomenclatura:

  • /dev/sd[a-z]:
    Discos ATA/SATA y SCSI/SAS.
  • /dev/nst* y /dev/sg*:
    Dispositivos de Cinta y/o Cartuchos de carga.
  • /dev/twe[0-9] /dev/twa[0-9] /dev/twl[0-9] y /dev/sd[a-z]:
    Discos con controladora 3ware.
  • /dev/cciss/c[0-9]d0:
    Controladoras Array de HP de discos con drivers cciss
  • dev/sg[0-9]:
    Controladoras Array de HP de discos con drivers hpsa y hpahcisr.
  • /dev/sd[a-z]:
    Controladoras Raid de RocketRAID
  • /dev/sdg[2-9]:
    Dispositivos SATA Raid de Areca via SCSI
  • /dev/nvme[0-9] y /dev/nvme[0-9]n[1-9]:
    Discos NVM Express (nombre broadcast y para namespace específico)

Errores en ATA-SCSI-NVMe

ATA:
Los discos SMART mantienen un registro de los cinco errores no triviales más recientes. Para cada uno de estos errores, se registra la vida útil del disco en el que ocurrió el error, al igual que el estado del dispositivo (inactivo, en espera, etc.) en el momento del error.  En algunos tipos comunes de errores, los valores del Registro de errores (ER) y del Registro de estado (SR) se decodifican e imprimen como texto.

SCSI:
Imprime las páginas de registro del contador de errores para lecturas, escrituras y verificaciones. La fila de verificación solo se genera si tiene un elemento distinto
que cero.

NVMe:
Imprime el registro de información de errores de NVMe. Por defecto solo se imprimen las 16 entradas de registro más recientes.

Posibles errores en la ejecución de smartctl:

ABRT:  Command ABoRTed. Comando Abortado o falló.
AMNF:  Address Mark Not Found. Marca de direccionamiento no encontrada.
CCTO:  Command Completion Timed Out. Agotado tiempo para completar comando.
EOM:   End Of Media. Fin del medio/dispositivo.
ICRC:  Interface Cyclic Redundancy Code (CRC) error. Error de CRC.
IDNF:  IDentity Not Found. Identificador no encontrado.
ILI:   Packet command-set specific..
MC:    Media Changed. Se cambió el dispositivo.
MCR:   Media Change Request. Petición de cambio del dispositivo
NM:    No Media: Sin dispositivo
obs:   obsolete. Obsoleto.
TK0NF: TracK 0 Not Found. Pista 0 no encontrada.
UNC:   UNCorrectable Error in Data. No se puede corregir el error. 
WP:    Media is Write Protected. Dispositivo en Solo-Lectura

Códigos de salida de Errores Críticos

05 Reallocated Sectors Count
10 Spin Retry Count
183 SATA Downshift Error Count or Runtime Bad Block
184 End-to-End error / IOEDC
188 Command Timeout
196 Reallocation Event Count
197 Current Pending Sector Count
198 Uncorrectable Sector Count / Offline Uncorrectable / Off-Line Scan Uncorrectable Sector
201 Soft Read Error Rate / TA Counter Detected
230 Drive Life Protection Status

Aplicación gráfica para el control de los discos

Podemos usar la aplicación gráfica GSmartControl que puede resultar más sencilla de utilizar. Para instalarla simplemente ejecuta desde el terminal:

sudo -y install gsmartcontrol

Para usarla se necesitan permisos de root.
Se puede iniciar de dos modos diferentes desde la terminal del usuario:

# Lanzarla con permisos de root mediante sudo:
sudo gsmartcontrol

# La propia aplicación nos solicitará la clave de root
gsmartcontrol-root
gsmartcontrol-root (solicita clave de root)
Detalles del disco mediante GSmartControl

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux