when i run zpool offline tank gptid/… it takes the drive offline
then i ran geli detach gptid/…
when i run zpool status is says the drive is offline but doesnt show me any other drive number - i was expecting a new number and a ‘used to be gptid/…’ announcement
if i try to detach geli again it says “no such device”
if i try to replace the drive with itself (without the .eli type) it says no such device in pool
the good news is that this is a z3 pool so no problem. but if the drive is offline but there is no other drive number (the one before the ‘was xyz’), how do i replace it with the old number to start the resilvering?
Thanks for the link to the guide! Just successfully finished the process on TrueNAS-12.0-U8.1.
The only difference on TrueNAS 12 is the offlined drive doesn’t get a random number anymore. You just replace gptid/X.eli with gptid/X after the GELI detach. Here’s what that looks like, doing the 3rd drive:
# zpool status
pool: tank
state: ONLINE
scan: resilvered 1.11T in 05:56:10 with 0 errors on Tue Jun 21 20:37:38 2022
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gptid/07a9d2d4-6ed6-11e9-9842-0cc47a69dd80 ONLINE 0 0 0
gptid/6a7d8be8-6c66-11e9-88ae-0cc47a69dd80 ONLINE 0 0 0
gptid/73d758c2-6c66-11e9-88ae-0cc47a69dd80.eli ONLINE 0 0 0
gptid/7cea2bb9-6c66-11e9-88ae-0cc47a69dd80.eli ONLINE 0 0 0
# zpool offline tank gptid/73d758c2-6c66-11e9-88ae-0cc47a69dd80.eli
# geli detach gptid/73d758c2-6c66-11e9-88ae-0cc47a69dd80.eli
# zpool replace tank gptid/73d758c2-6c66-11e9-88ae-0cc47a69dd80.eli gptid/73d758c2-6c66-11e9-88ae-0cc47a69dd80
Looks like this doesn’t happen on TrueNAS 12, the offline disk just keeps the ID it’s always had (i.e. the GELI one).
The first detach destroyed the GELI device. It no longer exists for the second detach.
The drive to be replaced must be a copy/paste from the zpool status output, whether it now exists in your system or not. The new drive must be a drive that exists on your system. ZFS knows about the GELI version of the drive (which you just destroyed with geli detach), you must replace it with the raw version. So replace drive gptid/X.eli with drive gptid/X.