A single disk zpool “test” crashed on my server (the disk died). It was just for testing, so nothing dramatic. However, when I rebooted the server I got the error message “failed Import ZFS pools by cache file”. A zpool destroy -f did not solve the problem. zpool status still showed the “test” pool. The other pool tank was still working.
What did help was
# disable the cache file for the existing pool(s) zpool set cachefile=none tank # delete the old pool file rm -rf /etc/zfs/zpool.cache # recreate if touch /etc/zfs/zpool.cache reboot # re-enable the cache zpool set cachefile=/etc/zfs/zpool.cache tank
Well, the cache file should be automatically updated when your pool configuration is changed, but with the crashed pool it did not.