SmartCtl - Control del Estado de los Discos
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