En corto

Disco OFFLINE: zpool replace -f <GUID> /dev/disk/by-id/… — el GUID lo da zpool status, no /dev/sdX.

Proxmox documenta el caso: ZFS on Linux — change a failed device. El síntoma es un vdev OFFLINE / FAULTED y un número largo en vez de sde.

Estado

1
zpool status vol1

Ejemplo: el miembro muerto aparece como GUID:

1
1894156996840098641  OFFLINE

Eso pasa cuando el kernel ya no tiene /dev/sdX para ese disco (lo arrancaste, se fue, o cambió de letra).

Replace

1
zpool replace -f vol1 1894156996840098641 /dev/disk/by-id/ata-NEWDISK

-f fuerza si ZFS todavía “recuerda” el disco viejo. El destino debe ser al menos del mismo tamaño (mejor, by-id, no sde).

Si el disco nuevo es el mismo slot y ZFS lo ve:

1
zpool replace vol1 /dev/disk/by-id/ata-OLDDISK /dev/disk/by-id/ata-NEWDISK

o, autodetect del recambio en el mismo sitio:

1
zpool replace vol1 /dev/disk/by-id/ata-OLDDISK

Esperar el resilver

1
2
zpool status vol1
watch -n 5 zpool status vol1

No apagues el host, no exportes el pool, no hagas otro replace en el mismo vdev hasta resilvered. En RAIDZ1 estás un disco abajo: un segundo fallo en ese periodo es pérdida.

Después

1
2
zpool detach vol1 1894156996840098641   # solo si quedó como spare/old y status lo pide
zpool labelclear /dev/sdOLD             # si reusas el disco viejo en otra máquina

Ver también: import después de apagón.