ZFS No volumes to import after crash - works with manual mount

Hello everyone,

Today I got a weird one. One of my servers was slow to respond, and I found it was stuck in 99% system CPU usage. Upon investigation, I found out that my mailcow VM docker process was using a lot of CPU, but I couldn't kill the VM. Stuck zombie...

I decided to issue a reboot -q and, to my surprise, 6 hours later the system was still up! So I killed it with my big fat finger and found out it was not rebooting...

After going for the long VGA cable, I found out with our lovely classic "No volumes to import" and stuck in single user mode. zfs mount -a worked fine, I typed exit, and the system booted.

I tried introducing delays (maybe I did it wrong), but I am still stuck on reboot.

After 6 hours troubleshooting something else, I am not sure I will be able to follow the other threads, so I will try tomorrow. But my main question was, what could have changed with the crash that it fails to mount on boot? pools look healthy, scrub finalized ok.
 
From OpenZFS docs for the boot process:

… Regardless of whether there is a root pool, imported pools must appear. This is done by reading the list of imported pools from the zpool.cache file, which is at /etc/zfs/zpool.cache on mostplatforms. It is at /boot/zfs/zpool.cache on FreeBSD. …

Probably outdated; it's at /etc/zfs/zpool.cache on my FreeBSD 15.0-CURRENT.

AFAIK you can safely delete the file. Whether doing so will solve your issue, I can't guess (sorry).

If no improvement:

bectl list -c creation

– what's listed? Also, the exact version of FreeBSD:

freebsd-version -kru ; uname -aKU
 
Back
Top