Suggestions for fixing an incorrect "zfs add" command

Firstly - many thanks in advance for any suggestions!

I use a zfs mirror as my boot device (across several USB drives). This pool is called ‘freenas-boot’. I accidentally “added” a vdev into this pool, rather than replace an existing vdev with a new one. So I have ended up with the following config

nas-01# zpool status freenas-boot
pool: freenas-boot
state: ONLINE
scan: resilvered 7.58G in 00:04:20 with 0 errors on Mon Nov 10 18:15:36 2025
config:
    NAME          STATE     READ WRITE CKSUM
    freenas-boot  ONLINE       0     0     0
      mirror-0    ONLINE       0     0     0
        da2       ONLINE       0     0     0
        da3       ONLINE       0     0     0
        da0       ONLINE       0     0     0
      da1         ONLINE       0     0     0

As you can see I’ve ended up with a single disk da1 as one vdev in the boot pool - not great! I don’t really know how to proceed and revert back to my 3-way mirror. I have tried “zpool remove” on da1 but unfortunately it has 4096 byte sectors and the mirror-0 has 512 byte sectors - so even though I can remove vdevs they don’t actually work. I realize I will likely need to migrate the boot pool to another pool but I don’t really understand how the boot system actually works such that the system comes up from that pool and am nervous of making matters worse.

What are your suggestions on next steps - my most likely is simply to add a mirror to da1 so that I retain redundancy on it.

Hi and welcome to the forums.

Personally I’d download your config file and just reinstall TrueNAS on the drives you want. Once complete upload the config and you’re done.

Just make sure you don’t do anything silly like format or install on your data pool drives.

3 Likes