Linux

Cómo extraer un disco hot swap en Linux de forma segura

Guía paso a paso para retirar o cambiar un disco mediante Hot Plug (Hot Swap) en Linux sin apagar el servidor y sin perder datos.

linuxhot-swaphardwarediscoservidor

Conectar un disco en Linux suele ser automático y sin riesgo. Sacarlo, en cambio, requiere un mínimo de protocolo. No puedes simplemente tirar de la palanca del backpanel mientras Proxmox lo está usando: el sistema operativo o las VMs que lo lean pueden corromper datos o quedarse congeladas esperando respuestas de un hardware que ya no está.

Si quieres sacar un disco en caliente de forma 100% segura en Proxmox, sigue estos pasos.

1. Comprueba que el disco no está en uso

Antes de tocar nada físicamente, abre la interfaz web de Proxmox y verifica dos cosas:

  • Que el disco no esté asignado a ninguna VM o contenedor LXC encendido.
  • Que no forme parte de un almacenamiento activo del propio Proxmox: un pool ZFS, un volumen LVM, un directorio montado, etc.

Si forma parte de un pool ZFS, primero hay que sacar el disco del pool (con zpool detach) y luego desconectarlo del sistema. Saltarse este paso es la receta clásica para perder un pool entero.

2. Avisa a Linux antes de tirar de la palanca

La forma limpia de retirar el disco es pedirle al kernel que lo “apague” y lo borre de la lista de dispositivos activos. Esto se hace en tres pasos:

  1. Abre la Shell de Proxmox.

  2. Identifica el disco con lsblk. Apunta el nombre del dispositivo (típicamente sdb, sdc, etc.):

    lsblk
  3. Ejecuta el siguiente comando, sustituyendo sdb por la letra de tu disco:

    echo 1 > /sys/block/sdb/device/delete

Lo que hace este comando es decirle al kernel: “voy a retirar este disco, deja de comunicarte con él y olvídate de que existe”. A partir de ese momento, el disco es invisible para el sistema aunque siga físicamente metido en la bahía.

3. La confirmación y la extracción física

Si vuelves a ejecutar lsblk, verás que el disco ha desaparecido de la lista. Esa es la señal de que ya puedes tirar de la palanca del backpanel y sacar el disco con total seguridad. El sistema ya no espera nada de él.

¿Qué se ve en dmesg al sacarlo?

Si tienes una segunda terminal con dmesg -w (modo seguimiento en tiempo real) y sacas el disco tras hacer los pasos anteriores, verás líneas como estas:

[ 1234.567890] ata2: SATA link down (SStatus 0 SControl 300)
[ 1234.567891] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[ 1234.567892] sd 1:0:0:0: [sdb] Stopping disk

El SATA link down es la confirmación definitiva. Si lo ves, significa que tu controladora SATA, la BIOS y Proxmox están negociando correctamente la salida del dispositivo. Si en lugar de eso ves errores I/O o el sistema se queja, casi siempre es porque se saltó el paso 1 (el disco seguía en uso) o el paso 2 (el kernel no fue avisado). Vuelta a empezar.