zdb doesn’t recognize my pool?

Solution 1:

For whatever reason, the cache path is different on FreeNAS. They haven't patched zdb to know where to look by default.

Add -U /data/zfs/zpool.cache <POOLNAME> to all uses of zdb to get it to work.

For your example, the command would be: zdb -U /data/zfs/zpool.cache -b data

Solution 2:

I had this problem on OmniOS where zdb couldn't open my rpool. The problem was caused by guid mismatch in zfs metadata versus actual guids of my disks. I guess this is a result of replacing broken hardware and shuffling disks between zpools...

The solution was to zfs detach one device of the mirror and zfs attach it back.