Remove geli on Truenas 12.0-U8

i upgraded to Truenas 12.0-u8 and everything if fine.

decided to get rid of the geli encryption so followed the tutorial here KB450999 – Removing GELI Encryption from ZFS Pool – 45Drives Knowledge Base

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?

any ideas?

Not something I have ever attempted, if no one here has any suggestions you may want to ask over in the TrueNAS forums.

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.