Solved Recover zpool with incorrectly added vdev

Hello there!
I had a pool of disks /dev/mfid[0-3] that I wanted to replace with geli encrypted versions. For that I used an additional disk da0 to zpool replace eos ....

When 3 disks were encrypted I swapped the physical disks at mfid1 and da0. Now I forgot about my controller not supporting JBOD so I had to create a raid0 configuration on the disk that I just moved (I was hoping that it would just add metadata at the end of the disk and that, once added, the disk could be resilvered*). Now geli complained about not being able to attach that disk (probably due to writes/size changes from the raid controller's raid0 creation). In an attempt to restore the disk I force-restored the geli metadata from /var/backup/* and then wanted to add the disk to the eos pool.

In an attempt to re-add the disk I ran zpool add -f eos mfid1.eli which added the disk as a vdev, which was not my intention.

Now my pool looks as follows
Code:
# zpool status eos
  pool: eos
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-2Q
  scan: ...snip...
config:

        NAME                      STATE     READ WRITE CKSUM
        eos                       DEGRADED     0     0     0
          raidz1-0                DEGRADED     0     0     0
            17758670560305475279  UNAVAIL      0     0     0  was /dev/da0.eli
            mfid0.eli             ONLINE       0     0     0
            mfid3.eli             ONLINE       0     0     0
            mfid2                 ONLINE       0     0     0
          mfid1.eli               ONLINE       0     0     0

I'm not sure where to go from here. Removing the disk is not possible

Code:
# zpool remove eos mfid1.eli
cannot remove mfid1.eli: invalid config; all top-level vdevs must have the same sector size and not be raidz.

I have exported the pool for now, since I don't understand the implications of the additional vdev.

How can I restore the pool to its previous state (one vdev, raidz1-0)

Code:
# freebsd-version
13.1-RELEASE-p7
# zfs -V
zfs-2.1.4-FreeBSD_g52bad4f23
zfs-kmod-2.1.4-FreeBSD_g52bad4f23

* I was assuming that I wouldn't break anything and - worst case - had to resilver to a blank disk
 
Back
Top