Identificación y gestión de discos: lsblk, blkid, hdparm, smartctl
Introducción
Antes de particionar o formatear un disco es imprescindible identificarlo correctamente. Linux nombra los dispositivos de bloque siguiendo convenciones estándar y ofrece varias herramientas para explorar su geometría, estado y características.
Nomenclatura de dispositivos
-
/dev/sda,/dev/sdb… — discos SATA/SAS/USB (el kernel los numera según orden de detección) /dev/sda1,/dev/sda2… — particiones del discosda/dev/nvme0n1— primer disco NVMe;/dev/nvme0n1p1— su primera partición/dev/vda— disco virtio (VMs KVM/QEMU)/dev/mmcblk0— tarjeta SD/eMMC;/dev/mmcblk0p1— partición/dev/md0— dispositivo RAID por software/dev/mapper/vg-lv— volumen lógico LVM
lsblk — Listar dispositivos de bloque
# Vista en árbol de todos los dispositivos
lsblk
# Con columnas de sistema de archivos, UUID y punto de montaje
lsblk -f
# Con tamaños en bytes
lsblk -b
# Columnas seleccionadas
lsblk -o NAME,SIZE,FSTYPE,UUID,MOUNTPOINT,MODEL
# Solo discos (sin particiones)
lsblk -d
# Salida en formato JSON (útil para scripts)
lsblk -J
Ejemplo de salida típica:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 498.5G 0 part /
sdb 8:16 0 2T 0 disk
blkid — Identificar dispositivos por UUID y tipo
# Listar todos los dispositivos con UUID y tipo de sistema de archivos
blkid
# Solo un dispositivo específico
blkid /dev/sda1
# Obtener solo el UUID (útil en scripts)
blkid -s UUID -o value /dev/sda1
# Obtener solo el tipo de sistema de archivos
blkid -s TYPE -o value /dev/sda1
# Buscar dispositivo por UUID
blkid -U "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
fdisk -l — Información de particiones
# Ver tabla de particiones de todos los discos
fdisk -l
# Ver solo un disco
fdisk -l /dev/sda
# parted también muestra información
parted /dev/sda print
parted -l # todos los discos
hdparm — Información y rendimiento del disco
# Información del disco (modelo, serie, capacidad)
hdparm -I /dev/sda
# Medir velocidad de lectura (caché del kernel)
hdparm -t /dev/sda
# Medir velocidad de lectura directa (sin caché)
hdparm -T /dev/sda
# Ver si el disco está en modo DMA
hdparm -d /dev/sda
# Activar/desactivar caché de escritura (con cuidado)
hdparm -W1 /dev/sda # activar write cache
hdparm -W0 /dev/sda # desactivar write cache
smartctl — Estado SMART del disco
SMART (Self-Monitoring, Analysis and Reporting Technology) monitoriza la salud del disco y puede predecir fallos inminentes.
# Instalación
apt install smartmontools # Debian/Ubuntu
dnf install smartmontools # Red Hat
# Resumen del estado SMART
smartctl -H /dev/sda
# Resultado: PASSED (sano) o FAILED (fallo inminente)
# Información completa
smartctl -a /dev/sda
# Atributos SMART con umbrales
smartctl -A /dev/sda
# Atributos críticos a vigilar:
# 5 Reallocated_Sector_Ct (sectores reasignados — si sube, problema)
# 197 Current_Pending_Sector (sectores inestables)
# 198 Offline_Uncorrectable (errores irrecuperables)
# Ejecutar test corto (dura ~2 minutos)
smartctl -t short /dev/sda
# Ejecutar test largo (puede durar horas)
smartctl -t long /dev/sda
# Ver resultados del último test
smartctl -l selftest /dev/sda
# Para NVMe
smartctl -a /dev/nvme0
dmesg — Detección de discos en el kernel
# Ver mensajes del kernel relacionados con discos
dmesg | grep -E 'sd[a-z]|nvme|ata[0-9]'
# Ver errores de disco (I/O errors)
dmesg | grep -i "error\|fail\|reset"
# Ver discos detectados al arranque
dmesg | grep "Attached SCSI"
# Ver en tiempo real (útil al conectar un disco USB)
dmesg -w | grep -E 'sd[a-z]|usb'