Identifying and replacing a disk in a zfs pool

Ubuntu Version:
Ubuntu 24.10

How do I identify the disk that needs to be replaced,- and how do I do that ?

zpool status -P Mypool
  pool: Mypool
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
	invalid.  Sufficient replicas exist for the pool to continue
	functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
  scan: scrub in progress since Sun Feb  2 02:48:41 2025
	12.3T / 17.7T scanned at 1.27G/s, 5.94T / 17.7T issued at 630M/s
	0B repaired, 33.57% done, 05:26:24 to go
config:

	NAME                                                              STATE     READ WRITE CKSUM
	Mypool                                                            DEGRADED     0     0     0
	  raidz2-0                                                        DEGRADED     0     0     0
	    /dev/disk/by-partuuid/c6febe17-7fd8-43ec-9bdb-1891a17eeac6    ONLINE       0     0     0
	    /dev/disk/by-partuuid/e3fdfc6d-41ad-489d-be3f-15e16c9220d9    ONLINE       0     0     0
	    /dev/disk/by-partuuid/0a447919-6db7-4182-8aee-15ee39a90ce4    ONLINE       0     0     0
	    spare-3                                                       DEGRADED     0     0     0
	      /dev/disk/by-partuuid/59364659-836d-46c3-a12a-948fc26f2fc3  ONLINE       0     0     0
	      2425370235252091519                                         FAULTED      0     0     0  was /dev/sdd2
	spares
	  /dev/sdd2                                                       FAULTED   corrupted data

errors: No known data errors


Relevant information from   lsblk  :
sdb                       12447916164639100982                                                          5.5T 35000cca271b713f8
├─sdb1                    9490982a-499a-11d7-9e29-12ef798fc5a1   f5e459c1-a0a8-4fa2-9d68-23f8d1be6ed4     2G 35000cca271b713f8-part1
│ └─md127                                                                                                 2G name-truenas:swap1
└─sdb2                    12447916164639100982                   e3fdfc6d-41ad-489d-be3f-15e16c9220d9   5.5T 35000cca271b713f8-part2

sdd                       12447916164639100982                                                          5.5T 35000cca271b5d120
├─sdd1                                                           27029ae0-c777-4c96-be25-a4ef71a5f6b3     2G 35000cca271b5d120-part1
└─sdd2                    12447916164639100982                   0a447919-6db7-4182-8aee-15ee39a90ce4   5.5T 35000cca271b5d120-part2

sdf                       12447916164639100982                                                          5.5T 35000cca271b73f40
├─sdf1                    9490982a-499a-11d7-9e29-12ef798fc5a1   4905ea71-f4c6-4b32-aac9-d904eb64ca47     2G 35000cca271b73f40-part1
│ └─md127                                                                                                 2G name-truenas:swap1
└─sdf2                    12447916164639100982                   70f8fed2-3fbc-4d47-b4ee-ca465c6d81c9   5.5T 35000cca271b73f40-part2

sdg                       12447916164639100982                                                          5.5T 35000cca271b70fa8
├─sdg1                    9490982a-499a-11d7-9e29-12ef798fc5a1   39b4c0cd-b63c-4111-a93e-2deecb5f776e     2G 35000cca271b70fa8-part1
│ └─md127                                                                                                 2G name-truenas:swap1
└─sdg2                    12447916164639100982                   c6febe17-7fd8-43ec-9bdb-1891a17eeac6   5.5T 35000cca271b70fa8-part2

sdh                       12447916164639100982                                                          5.5T 35000cca271b715b8
├─sdh1                                                           fd7899fa-ff4c-4d1d-97a3-8751c1614855     2G 35000cca271b715b8-part1
└─sdh2                    12447916164639100982                   59364659-836d-46c3-a12a-948fc26f2fc3   5.5T 35000cca271b715b8-part2


Disks  by-id 
lrwxrwxrwx  1 root root    9 Jan 29 16:57 scsi-SHGST_HUS726060AL4210_K8K7P8PN -> ../../sdb
lrwxrwxrwx  1 root root    9 Jan 29 16:57 scsi-SHGST_HUS726060AL4210_K8K6ZT5N -> ../../sdd
lrwxrwxrwx  1 root root    9 Jan 29 16:57 scsi-SHGST_HUS726060AL4210_K8K7T51N -> ../../sdf
lrwxrwxrwx  1 root root    9 Jan 29 16:57 scsi-SHGST_HUS726060AL4210_K8K7NZTN -> ../../sdg
lrwxrwxrwx  1 root root    9 Jan 29 16:57 scsi-SHGST_HUS726060AL4210_K8K7PD9N -> ../../sdh

@Supermag

type this for me and post please I want to see something

lsblk -o type,name,label,partlabel,size,model,serial,wwn,uuid

then type this

sudo zpool history Mypool

and post it separate from the above lsblk command

yours is actually not bad and easy … why I’m having you do that lsblk command is to find the serial number of the drive for verification purposes

lsblk -o type,name,label,partlabel,size,model,serial,wwn,uuid
TYPE  NAME LABEL         PARTLABEL   SIZE MODEL SERIAL WWN                UUID
loop  loop0
                                   63.9M                               
loop  loop1
                                     87M                               
loop  loop2
                                   63.7M                               
loop  loop3
                                   89.4M                               
loop  loop4
                                   44.3M                               
loop  loop5
                                   44.4M                               
disk  sda                          465.8G WDC W 212014 0x5001b448bab7b68e
part  ├─sda1
     │                                1G              0x5001b448bab7b68e 2AAB-01B9
part  ├─sda2
     │                                2G              0x5001b448bab7b68e d6a70bc3-745e-4e1e-8ebd-f95e309cf1cb
part  └─sda3
       │                          462.7G              0x5001b448bab7b68e kLeQTT-UwJ5-ekte-Q0Y0-KTkQ-2HeP-e8ZpVl
lvm     └─ubuntu--vg-ubuntu--lv
                                    100G                                 11e3743d-3087-4644-9161-f18440f38227
disk  sdb  Mypool                    5.5T HUS72 K8K7P8 0x5000cca271b713f8 12447916164639100982
part  ├─sdb1
     │ │  truenas:swap1               2G              0x5000cca271b713f8 9490982a-499a-11d7-9e29-12ef798fc5a1
raid1 │ └─md127
     │                                2G                               
part  └─sdb2
          Mypool                    5.5T              0x5000cca271b713f8 12447916164639100982
disk  sdc                          465.8G WDC W 2113DZ 0x5001b444a70ddea4
disk  sdd  Mypool                    5.5T HUS72 K8K6ZT 0x5000cca271b5d120 12447916164639100982
part  ├─sdd1
     │                                2G              0x5000cca271b5d120
part  └─sdd2
          Mypool                    5.5T              0x5000cca271b5d120 12447916164639100982
disk  sde                            2.7T ST330 Z291FJ 0x5000c5005d5671fb
part  ├─sde1
     │                                2G              0x5000c5005d5671fb
part  └─sde2
          media                     2.7T              0x5000c5005d5671fb 1949446617054778773
disk  sdf  Mypool                    5.5T HUS72 K8K7T5 0x5000cca271b73f40 12447916164639100982
part  ├─sdf1
     │ │  truenas:swap1               2G              0x5000cca271b73f40 9490982a-499a-11d7-9e29-12ef798fc5a1
raid1 │ └─md127
     │                                2G                               
part  └─sdf2
          Mypool                    5.5T              0x5000cca271b73f40 12447916164639100982
disk  sdg  Mypool                    5.5T HUS72 K8K7NZ 0x5000cca271b70fa8 12447916164639100982
part  ├─sdg1
     │ │  truenas:swap1               2G              0x5000cca271b70fa8 9490982a-499a-11d7-9e29-12ef798fc5a1
raid1 │ └─md127
     │                                2G                               
part  └─sdg2
          Mypool                    5.5T              0x5000cca271b70fa8 12447916164639100982
disk  sdh  Mypool                    5.5T HUS72 K8K7PD 0x5000cca271b715b8 12447916164639100982
part  ├─sdh1
     │                                2G              0x5000cca271b715b8
part  └─sdh2
          Mypool                    5.5T              0x5000cca271b715b8 12447916164639100982
rom   sr0                           1024M TSSTc R8B06G                  
disk  zd0                            800G                               
part  ├─zd0p1
     │                                1G                                 B43E-D5D2
part  ├─zd0p2
     │                                2G                               
part  └─zd0p3
                                  796.9G                                 XWNT00-18z3-L228-oZoa-iSAH-wFyD-jxfi6o
haaken@media:~$

The other command results in a enormous amount of status text,- do you really need it?

can you edit the above using the preformated text option ?

on the zpool history I’m after the first two or maybe three parts / line that created and set options for the Pool
example:

root@deepblue:/home/mike# zpool history backup
History for 'backup':
2025-01-29.14:23:02 zpool create -f -o ashift=12 -o autoexpand=on -o autoreplace=on backup raidz1 SAS0 SAS1 SAS2 SAS3
2025-01-29.14:23:25 zfs set compression=lz4 recordsize=1M xattr=sa atime=off backup

Not interested with scrubs imports etc

just a question do you

  1. have a drive that you can attach?
  2. have the ability to attach a drive?
23-11-11.23:00:42 zfs destroy Mypool/ix-applications/releases/prowlarr2@auto-15_10-2023-00-00
2023-11-11.23:00:43 zfs destroy Mypool/ix-applications/releases/prowlarr2/volumes@auto-15_10-2023-00-00
2023-11-11.23:00:43 zfs destroy Mypool/ix-applications/releases/prowlarr2/volumes/pvc-bc3e5284-cd2b-453c-abbb-4e29f27db66d@auto-15_10-2023-00-002023-11-11.23:00:43 zfs destroy Mypool/ix-applications/releases/qbittorrent@auto-15_10-2023-00-00
2023-11-11.23:00:44 zfs destroy Mypool/ix-applications/releases/qbittorrent/charts@auto-15_10-2023-00-00
2023-11-11.23:00:44 zfs destroy Mypool/ix-applications/releases/qbittorrent/volumes@auto-15_10-2023-00-00
2023-11-11.23:00:44 zfs destroy Mypool/ix-applications/releases/qbittorrent/volumes/pvc-e7bfd68f-0192-48d5-ab7a-bf725838f143@auto-15_10-2023-00-00
2023-11-11.23:00:45 zfs destroy Mypool/ix-applications/releases/radarr@auto-15_10-2023-00-00
2023-11-11.23:00:45 zfs destroy Mypool/ix-applications/releases/radarr/volumes@auto-15_10-2023-00-00
2023-11-11.23:00:46 zfs destroy Mypool/ix-applications/releases/radarr/volumes/pvc-3a0b41bc-94ff-4837-a92f-25807b81786d@auto-15_10-2023-00-00
2023-11-11.23:00:46 zfs destroy Mypool/ix-applications/releases/readarr@auto-15_10-2023-00-00
2023-11-11.23:00:46 zfs destroy Mypool/ix-applications/releases/readarr/volumes@auto-15_10-2023-00-00
2023-11-11.23:00:47 zfs destroy Mypool/ix-applications/releases/readarr/volumes/pvc-78e151dd-74f1-4cb6-88a8-488ca5832ed4@auto-15_10-2023-00-00
2023-11-11.23:00:47 zfs destroy Mypool/ix-applications/releases/sonarr@auto-15_10-2023-00-00
2023-11-11.23:00:47 zfs destroy Mypool/ix-applications/releases/sonarr/charts@auto-15_10-2023-00-00
2023-11-11.23:00:48 zfs destroy Mypool/ix-applications/releases/sonarr/volumes@auto-15_10-2023-00-00
2023-11-11.23:00:48 zfs destroy Mypool/ix-applications/releases/sonarr/volumes/pvc-724794f1-2b12-4d3d-a9c2-82029a3fdcc8@auto-15_10-2023-00-00
2023-11-11.23:00:48 zfs destroy Mypool/musikk@auto-15_10-2023-00-00
2023-11-11.23:00:50 zfs destroy Mypool/musikk/mp3@auto-15_10-2023-00-00
2023-11-11.23:00:52 zfs destroy Mypool/soundbooks@auto-15_10-2023-00-00
2023-11-11.23:00:54 zfs destroy Mypool/timeshift@auto-15_10-2023-00-00
2023-11-12.10:29:23 py-libzfs: zpool import 12447916164639100982  Mypool2023-11-12.10:29:23 py-libzfs: zpool set cachefile=/data/zfs/zpool.cache Mypool
2023-11-14.08:44:11 py-libzfs: zpool import 12447916164639100982  Mypool2023-11-14.08:44:11 py-libzfs: zpool set cachefile=/data/zfs/zpool.cache Mypool
2023-11-14.09:45:24 zpool import -f Mypool
2023-11-14.10:04:56 zfs set canmount=on Mypool
2023-11-21.13:32:18 zpool import Mypool -f
2023-12-10.00:24:05 zpool scrub Mypool
2024-01-14.00:24:05 zpool scrub Mypool
2024-02-11.00:24:04 zpool scrub Mypool
2024-03-10.00:24:05 zpool scrub Mypool
2024-03-15.13:24:02 zpool import Mypool -f
2024-03-15.13:24:48 zfs set mountpoint=/Mymedia Mypool
2024-04-14.00:24:05 zpool scrub Mypool
2024-05-12.00:24:02 zpool scrub Mypool
2024-06-09.00:24:03 zpool scrub Mypool
2024-08-11.00:24:06 zpool scrub Mypool
2024-12-08.00:24:05 zpool scrub Mypool
2025-01-12.00:24:04 zpool scrub Mypool
2025-01-13.22:33:03 zfs destroy -r Mypool/Andresdata
2025-01-13.22:36:14 zfs destroy -r Mypool/ix-applications
2025-01-13.22:38:51 zfs create Mypool/Ghosts-backup
2025-01-13.23:07:11 zfs set quota=17408G Mypool/Ghosts-backup
2025-01-13.23:13:35 zfs set quota=6T Mypool/filmerogserier/filmer
2025-02-02.02:48:43 zpool scrub Mypool

The replacement drive is already plugged in as its a hot standby from what I remember. It’s in a caddy.

using true nas correct?

this here is your part from you 1st post

the other drives look healthy

looks like the spares are the drives in fault

Nope. Ubuntu server. Used to use truenas long ago.

let me ding a second set of eyes on this @1fallen which he may notice something I miss

ok scrounging though your output (history) I’m not seeing exactly how the pool was created except importing the pool and a bit of destroying…

But this is your tell tell that I see

	    spare-3                                                       DEGRADED     0     0     0
	      /dev/disk/by-partuuid/59364659-836d-46c3-a12a-948fc26f2fc3  ONLINE       0     0     0
	      2425370235252091519                                         FAULTED      0     0     0  was /dev/sdd2
	spares
	  /dev/sdd2                                                       FAULTED   corrupted data





disk  sdd  Mypool                    5.5T HUS72 K8K6ZT 0x5000cca271b5d120 12447916164639100982
part  ├─sdd1
     │                                2G              0x5000cca271b5d120
part  └─sdd2
          Mypool                    5.5T              0x5000cca271b5d120 12447916164639100982

so looks like your 5.5Tb drive SN K8K6ZT (per lsblk , but looking at smartctl the SN is K8K6ZT5N) aka sdd (partition2) has corrupted data

This is what smartctl says about my 6TB drives:

root@media:/home/haaken# smartctl -a /dev/sdd
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.11.0-14-generic] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS726060AL4210
Revision:             AAG0
Compliance:           SPC-4
User Capacity:        6,001,175,126,016 bytes [6.00 TB]
Logical block size:   4096 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000cca271b5d120
Serial number:        K8K6ZT5N
Device type:          disk
Transport protocol:   SAS (SPL-4)
Local Time is:        Sun Feb  2 17:32:14 2025 UTC
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     26 C
Drive Trip Temperature:        85 C

Accumulated power on time, hours:minutes 24651:37
Manufactured in week 14 of year 2019
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  24
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  6807
Elements in grown defect list: 0

Vendor (Seagate Cache) information
 Blocks sent to initiator = 23449946933952512

Error counter log:
          Errors Corrected by           Total   Correction     Gigabytes    Total
              ECC          rereads/    errors   algorithm      processed    uncorrected
          fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0      284         0       284    1300710     374552.907           0
write:         0       11         0        11    1084697      40827.516           0
verify:        0        0         0         0     329704          0.000           0

Non-medium error count:        0

 Pending defect count:0 Pending Defects
No Self-tests have been logged

root@media:/home/haaken# smartctl -a /dev/sdf
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.11.0-14-generic] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS726060AL4210
Revision:             AAG0
Compliance:           SPC-4
User Capacity:        6,001,175,126,016 bytes [6.00 TB]
Logical block size:   4096 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000cca271b73f40
Serial number:        K8K7T51N
Device type:          disk
Transport protocol:   SAS (SPL-4)
Local Time is:        Sun Feb  2 17:32:39 2025 UTC
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     26 C
Drive Trip Temperature:        85 C

Accumulated power on time, hours:minutes 24437:44
Manufactured in week 14 of year 2019
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  25
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  1228
Elements in grown defect list: 0

Vendor (Seagate Cache) information
 Blocks sent to initiator = 1544130333245440

Error counter log:
          Errors Corrected by           Total   Correction     Gigabytes    Total
              ECC          rereads/    errors   algorithm      processed    uncorrected
          fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0        0         0         0      76016      25529.906           0
write:         0        0         0         0      28745      12518.477           0
verify:        0        0         0         0      33261          0.000           0

Non-medium error count:        0

 Pending defect count:0 Pending Defects
SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
    Description                              number   (hours)
# 1  Background short  Completed                   -     491                 - [-   -    -]
# 2  Background short  Completed                   -       0                 - [-   -    -]

Long (extended) Self-test duration: 58876 seconds [16.4 hours]

root@media:/home/haaken# smartctl -a /dev/sdh
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.11.0-14-generic] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS726060AL4210
Revision:             AAG0
Compliance:           SPC-4
User Capacity:        6,001,175,126,016 bytes [6.00 TB]
Logical block size:   4096 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000cca271b715b8
Serial number:        K8K7PD9N
Device type:          disk
Transport protocol:   SAS (SPL-4)
Local Time is:        Sun Feb  2 17:33:09 2025 UTC
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     26 C
Drive Trip Temperature:        85 C

Accumulated power on time, hours:minutes 24634:32
Manufactured in week 14 of year 2019
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  22
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  6777
Elements in grown defect list: 0

Vendor (Seagate Cache) information
 Blocks sent to initiator = 23367657541599232

Error counter log:
          Errors Corrected by           Total   Correction     Gigabytes    Total
              ECC          rereads/    errors   algorithm      processed    uncorrected
          fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0      611         0       611    1417014     370680.054           0
write:         0        8         0         8     988158      40847.248           0
verify:        0        0         0         0    2142735          0.000           0

Non-medium error count:        0

 Pending defect count:0 Pending Defects
No Self-tests have been logged

root@media:/home/haaken# smartctl -a /dev/sdf
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.11.0-14-generic] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS726060AL4210
Revision:             AAG0
Compliance:           SPC-4
User Capacity:        6,001,175,126,016 bytes [6.00 TB]
Logical block size:   4096 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x5000cca271b73f40
Serial number:        K8K7T51N
Device type:          disk
Transport protocol:   SAS (SPL-4)
Local Time is:        Sun Feb  2 17:33:26 2025 UTC
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     26 C
Drive Trip Temperature:        85 C

Accumulated power on time, hours:minutes 24437:44
Manufactured in week 14 of year 2019
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  25
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  1228
Elements in grown defect list: 0

Vendor (Seagate Cache) information
 Blocks sent to initiator = 1544130333245440

Error counter log:
          Errors Corrected by           Total   Correction     Gigabytes    Total
              ECC          rereads/    errors   algorithm      processed    uncorrected
          fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0        0         0         0      76016      25529.906           0
write:         0        0         0         0      28745      12518.477           0
verify:        0        0         0         0      33261          0.000           0

Non-medium error count:        0

 Pending defect count:0 Pending Defects
SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
    Description                              number   (hours)
# 1  Background short  Completed                   -     491                 - [-   -    -]
# 2  Background short  Completed                   -       0                 - [-   -    -]

Long (extended) Self-test duration: 58876 seconds [16.4 hours]

root@media:/home/haaken#l

sorry I’m slow on posting as I dig though your output see before your last post

you could use Try

zfs clear Mypool

then do a scrub to see if that 6TB drive will clean up the corrupted data

1 Like

If it were me I would first try to remove the Hotspares and show us “zpool status” again.
How or what method did you use to add the spare drives? In theory, To replace a failed disk with a hot spare, you do not need to zpool replace at all (and in fact this might cause you all sorts of grief later; I’ve never done this). Instead you are supposed to simply zpool detach the failed disk and the hot spare automatically replaces it.

But I’m still reading all in this thread.
I’ve tried to reproduce your error eg:

zpool status
  pool: dozer
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
	The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
	the pool may no longer be accessible by software that does not support
	the features. See zpool-features(7) for details.
config:

	NAME                                                                STATE     READ WRITE CKSUM
	dozer                                                               ONLINE       0     0     0
	  /dev/disk/by-id/usb-SanDisk_Ultra_4C530001050423123075-0:0-part1  ONLINE       0     0     0

errors: No known data errors

  pool: tank
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
	The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
	the pool may no longer be accessible by software that does not support
	the features. See zpool-features(7) for details.
config:

	NAME         STATE     READ WRITE CKSUM
	tank         ONLINE       0     0     0
	  /dev/sdh1  ONLINE       0     0     0

errors: No known data errors

  pool: zpcachyos
 state: ONLINE
config:

	NAME                                                          STATE     READ WRITE CKSUM
	zpcachyos                                                     ONLINE       0     0     0
	  /dev/disk/by-partuuid/520c8685-5eda-4b86-8360-a54c170338bf  ONLINE       0     0     0

errors: No known data errors

As you can see “tank” is not in the best state currently, but this should sort it out.

sudo zpool upgrade tank
This system supports ZFS pool feature flags.

Enabled the following features on 'tank':
  redaction_list_spill
  raidz_expansion
  fast_dedup
  longname
  large_microzap

┌───────────────────>
│~ 
└─> zpool status
  pool: dozer
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
	The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
	the pool may no longer be accessible by software that does not support
	the features. See zpool-features(7) for details.
config:

	NAME                                                                STATE     READ WRITE CKSUM
	dozer                                                               ONLINE       0     0     0
	  /dev/disk/by-id/usb-SanDisk_Ultra_4C530001050423123075-0:0-part1  ONLINE       0     0     0

errors: No known data errors

  pool: tank
 state: ONLINE
config:

	NAME         STATE     READ WRITE CKSUM
	tank         ONLINE       0     0     0
	  /dev/sdh1  ONLINE       0     0     0

errors: No known data errors

  pool: zpcachyos
 state: ONLINE
config:

	NAME                                                          STATE     READ WRITE CKSUM
	zpcachyos                                                     ONLINE       0     0     0
	  /dev/disk/by-partuuid/520c8685-5eda-4b86-8360-a54c170338bf  ONLINE       0     0     0

errors: No known data errors

I have to agree with @sgt-mike those spare drives don’t look good ATM.

It’s of course zpool clear.
I have started a scrub now, will take about 8 hours.

I first wanted to suggest to do that @1fallen
which is why I wanted to see the History I was looking for how the exact manner the spares was attached.
Then had the thought to do the clear and scrub which may work and may not work — which depending on the amount of data could take a while to do for some of my pools we are talking 4 + hours. which is the down side and the drive could still be in fault

I would like @ 1 fallen says remove the spares from the pool even if the everything cleans up.
Then use them as Cold Spares.

the faster solution would be to remove the spares I think
Looking over the OP’s first post
These look healthy

NAME                                                              STATE     READ WRITE CKSUM
	Mypool                                                            DEGRADED     0     0     0
	  raidz2-0                                                        DEGRADED     0     0     0
	    /dev/disk/by-partuuid/c6febe17-7fd8-43ec-9bdb-1891a17eeac6    ONLINE       0     0     0
	    /dev/disk/by-partuuid/e3fdfc6d-41ad-489d-be3f-15e16c9220d9    ONLINE       0     0     0
	    /dev/disk/by-partuuid/0a447919-6db7-4182-8aee-15ee39a90ce4    ONLINE       0     0     0

the hotspares not so much
Which looks to be /dev/sdd SN K8K6ZT per the lsblk command I had him run

My pool already is upgraded.
Do I do a:
zpool offline -t datapool drive
Do then I physically power down the server and pull the dead drive?

is it done with the scrub?
If not don’t do anything yet

No.
scan: scrub in progress since Sun Feb 2 17:54:23 2025
8.60T / 17.5T scanned at 9.87G/s, 470G / 17.5T issued at 539M/s
0B repaired, 2.63% done, 09:11:56 to go.

Wait until completely done don’t do anything don’t write to the drive nothing
run status again once completed check it…
If good to go you
could remove the spare
or
leave it your choice

1 Like

sample command for removing spare if you desire

zpool detach zeepool c2t1d0

Of course zeepool for you will be Mypool
The above mentioned c2t1d0 is using a drive alais (which I personally am fond of)
so your should be /dev/by-uuid/12447916164639100982
IF I’m reading everything correct

zpool detach Mypool /dev/by-uuid/12447916164639100982

at which point if removing I’d do another status check , after issuing the detach (make sure it’s not part of the pool) since we have detached the spare from the pool you could shutdown and remove the drive or simply unplug it makes no differance as it is not part of the pool anymore