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 disco sda
  • /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'
          

Antes de modificar un disco, siempre verificar con lsblk y fdisk -l que se trabaja con el dispositivo correcto. Un error al seleccionar el disco puede destruir datos irrecuperablemente.

Particionado: fdisk, gdisk, parted, MBR vs GPT

Índice de la sección

Índice del curso