Issues with ZFS Pool Configuration and Data Recovery

I recently set up a ZFS pool consisting of five devices: an 8TB NAS HDD, a 2TB NVME SSD, two 1TB SSDs, and an unassigned fifth spot. I also designated a separate 1TB SSD as the main array device. Initially, everything was functioning well. However, it’s important to note that only the 8TB HDD contained data; the other drives were empty.

Problems arose when I attempted to create a swap file on a different 1TB NVME cache drive. This action seemed to disrupt the system. Upon restarting the array, I received an error message indicating a configuration issue, and the array refused to start.

In an attempt to rectify the situation, I deleted the pool and tried to recreate it. However, the system now insists on formatting all the drives in the pool, claiming they’re unmountable. This is problematic as these drives are already ZFS formatted and contain valuable data.

Each time I attempt to create a new pool, I encounter the same error message:

“Jul 10 08:08:48 Tower unassigned.devices: Mounting partition ‘sdb1’ at mountpoint ‘/mnt/disks/annoyingtesttwo’… Jul 10 08:08:50 Tower unassigned.devices: Mount of ‘sdb1’ failed: 'cannot open ‘annoyingtesttwo’: dataset does not exist ’ Jul 10 12:29:05 Tower unassigned.devices: Mounting partition ‘sdb1’ at mountpoint ‘/mnt/disks/annoyingtesttwo’… Jul 10 12:29:08 Tower unassigned.devices: Mount of ‘sdb1’ failed: 'cannot open ‘annoyingtesttwo’: dataset does not exist ’ Jul 10 15:44:51 Tower emhttpd: WDC_W**************K(8TB the main one)”

The ‘annoyingtesttwo’ mentioned in the error message is a temporary pool I created during my troubleshooting attempts. It doesn’t need to be mounted, so I’m unsure how to proceed.

Now today I plugged in my Unraid USB to see and Voila I can see that Unraid can see the initial pool “testone” but still wont mount it because “annoyingtestwo” keeps throwing an error.

At this point, my primary goal is to recover approximately 4TB of data from my 8TB HDD.

Try zpool import -d /dev/ and post the output if that doesn’t work.

Tower unassigned.devices: Mount of ‘sdb1’ failed: 'cannot open ‘annoyingtesttwo’: dataset does not exist ’

Are you trying to use /etc/fstab to mount datasets? If so, that’s a serious mistake. Remove any fstab entries for your datasets. Then use zfs list to see all your datasets. If the one you’re looking for shows up in zfs list then see where its mountpoint is (that’s the last column in zfs list). Now, do zfs mount | grep dsname where dsname is the name of your dataset. Is it mounted? If so, congratulations, there’s all your data. If not, zfs mount dsname (again, substitute the actual name of your dataset) and now there’s all your data.

If you wanted it mounted somewhere else, again, don’t use fstab. zfs set mountpoint=/path/to/desired/mountpoint pool name/dsname and you’ll be good to go.