[SOLVED] Replacing physical drive in zfs Raidz1 - how to identify new drive

jlivin25

New Member
Jun 19, 2024
4
0
1
Hello Folks

This may not be a specific proxmox question as I guess its a zfs query but any help very much appreciated! :)

I need to replace a drive in my rfs raidz1 pool. I have removed the broken drive and replaced it with a new one.

zpool status -v gives:

Bash:
root@proxpve:~# zpool status -v
  pool: dpool
 state: DEGRADED
status: One or more devices has been removed by the administrator.
    Sufficient replicas exist for the pool to continue functioning in a
    degraded state.
action: Online the device using zpool online' or replace the device with
    'zpool replace'.
  scan: resilvered 147M in 00:00:11 with 0 errors on Thu Feb 13 19:18:39 2025
config:

    NAME                        STATE     READ WRITE CKSUM
    dpool                       DEGRADED     0     0     0
      raidz1-0                  DEGRADED     0     0     0
        scsi-35000c500b7a3d3a3  ONLINE       0     0     0
        scsi-35000c500b77d3d8f  ONLINE       0     0     0
        scsi-35000c500b76edab3  ONLINE       0     0     0
        scsi-35000c500b77bbdaf  ONLINE       0     0     0
        scsi-35000c500995c0ccb  REMOVED      0     0     0
        scsi-35000c50099b9900b  ONLINE       0     0     0
        scsi-35000cca072168800  ONLINE       0     0     0
        scsi-35000cca072149228  ONLINE       0     0     0

errors: No known data errors

So from googlefu I can see I need to run: zpool replace dpool scsi-35000c500995c0ccb {MYNEWDRIVE}

I cannot figure out is how to identify my new drive, I can see from this thread that I shouldn't use /dev/sde but should use an identifier for the drive such as by-id/by-uuid etc, where do i find the right identifier to use?

From both command line and gui the new drive is showing, if I run blkid in command line I get:

Bash:
/dev/sdf1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="4327978509903914953" TYPE="zfs_member" PARTLABEL="zfs-516ed41939ed9c36" PARTUUID="090baee2-62e7-a948-8688-a6d34a0b3b34"
/dev/sdd1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="13924789496198993673" TYPE="zfs_member" PARTLABEL="zfs-18a11540eb2b11c7" PARTUUID="b1dee553-935d-9e42-8154-03b18ce3de9d"
/dev/sdb1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="13446660079701877820" TYPE="zfs_member" PARTLABEL="zfs-8f1dcc1c985d14f5" PARTUUID="6687cedf-37cf-2d41-a2f0-9c03b0f845e4"
/dev/sdi1: LABEL="rpool" UUID="18275589473551213905" UUID_SUB="5107178787014314899" BLOCK_SIZE="4096" TYPE="zfs_member" PARTLABEL="zfs-bdc444784c44a384" PARTUUID="e0e6e0e8-9e90-6645-a304-954599b44aca"
/dev/sdg1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="10852014814000787698" TYPE="zfs_member" PARTLABEL="zfs-36d58447453a1c61" PARTUUID="014fbda7-20ed-264e-b3ca-ca57b7eb0572"
/dev/sdc1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="8359501321268863811" TYPE="zfs_member" PARTLABEL="zfs-7a6dbc21cdb3f0a4" PARTUUID="07cb0b13-f90c-e64a-afe5-ed3bb0fc065e"
/dev/sda1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="11687910560790890366" TYPE="zfs_member" PARTLABEL="zfs-23ddc2c221f46a3d" PARTUUID="dd48795c-3dc9-fd4f-9f1c-4963e78d0820"
/dev/sdj3: LABEL="rpool" UUID="18275589473551213905" UUID_SUB="17328557014002492112" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="834b14e5-8ef1-4985-b46b-aa43bbbf6901"
/dev/sdj2: UUID="3D4C-4DAF" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="ceee582f-ba9c-4e77-a97e-04cc1a50cf37"
/dev/sdh1: LABEL="dpool" UUID="8897815567956941124" UUID_SUB="3664227459135528346" TYPE="zfs_member" PARTLABEL="zfs-e7f72bbaf4415259" PARTUUID="ad13debb-bd05-5742-bde3-6218a654e31b"
/dev/sdk2: UUID="6C8D-2359" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="81e86619-31fd-4a17-b032-0a1750e05db1"
/dev/zd0p2: UUID="673a72e8c8e6c59d" BLOCK_SIZE="4096" TYPE="ufs" PARTUUID="23e875b0-a536-11ef-8bf5-bc2411d28cb6"
/dev/sdf9: PARTUUID="04786980-a78f-3846-9697-98f94d08858f"
/dev/sdd9: PARTUUID="f4a573ed-73a6-2c45-8ee9-302ed9cf3bd6"
/dev/sdb9: PARTUUID="08dd19c0-670c-fc4b-939d-cc1a731e41e8"
/dev/zd0p3: PARTUUID="23e92b51-a536-11ef-8bf5-bc2411d28cb6"
/dev/zd0p1: PARTUUID="23e78b23-a536-11ef-8bf5-bc2411d28cb6"
/dev/sdk1: PARTLABEL="BIOS boot partition" PARTUUID="e588df08-7fe4-4bae-bcf3-9e5226592a44"
/dev/sdi9: PARTUUID="9e986564-45ae-e140-9299-ae44e739fd09"
/dev/sdg9: PARTUUID="492d01b6-d8ee-f441-8f0d-1caedf56aabd"
/dev/sde: PTUUID="3c7ff3b8-f6e9-f143-8f95-a8dffe89711e" PTTYPE="gpt"
/dev/sdc9: PARTUUID="5788535f-b6f9-c14b-b3b0-a0afced6c530"
/dev/sda9: PARTUUID="7d959d62-8895-3c41-b301-4aba703d4dd3"
/dev/sdj1: PARTUUID="24fd600c-3fa1-4429-9b81-fa38fc07472d"
/dev/sdh9: PARTUUID="eef7a4ce-5bd1-4743-b16b-4b4705076a55"

sde is the new drive but if i use zpool replace dpool scsi-35000c500995c0ccb /dev/disk/by-uuid/492d01b6-d8ee-f441-8f0d-1caedf56aabd then the drive isn't found. If I look for the drive in by-diskseq/ by-id/ by-label/ by-partlabel/ by-partuuid/ by-path/ by-uuid/ I can't something that reflects my device.

Is there something special I need to do for zfs to initialise the device or label it?
 
argghhh, I'm such an idiot....my rubbish googlefu.

Bit more searching and found this post.

command: ls -l /dev/disk/by-id/ showed me:

lrwxrwxrwx 1 root root 9 Feb 15 15:44 scsi-35000c500a04f5ecb -> ../../sde

tacking this onto my command in prior post:

zpool replace dpool scsi-35000c500995c0ccb /dev/disk/by-id/scsi-35000c500a04f5ecb

...worked a treat