TL;DR

OFFLINE disk: zpool replace -f <GUID> /dev/disk/by-id/… — GUID from zpool status, not /dev/sdX.

Proxmox documents the case: ZFS on Linux — change a failed device. The symptom is an OFFLINE / FAULTED vdev and a long number instead of sde.

Status

1
zpool status vol1

The dead member often shows up as a GUID:

1
1894156996840098641  OFFLINE

That happens when the kernel no longer has a /dev/sdX for that disk (you yanked it, it died, or the letter moved).

Replace

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

-f forces if ZFS still “remembers” the old disk. The replacement must be at least the same size (prefer by-id, not sde).

If the new disk is in the same slot and ZFS sees it:

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

or auto-detect a replacement in-place:

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

Wait for resilver

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

Do not reboot, export, or start another replace on the same vdev until resilvered. On RAIDZ1 you are one disk down: a second failure in that window is data loss.

Afterwards

1
2
zpool detach vol1 1894156996840098641   # only if status still shows it as spare/old
zpool labelclear /dev/sdOLD             # if you reuse the old disk elsewhere

See also: import after a power outage.