TrueNAS boot-pool cant be imported - insufficient replicas

Hello there,

Running in to an annoying issue after an unclean shutdown on a TrueNAS system where the boot-pool refuses to mount due to “insufficient replicas”
The system currently gets dumped in to a shell at boot due to failing to import the pool.
If I import the pool from the shell using “zpool import -o readonly=on boot-pool” it does complete but then if I run “zpool status -v” I get told that a single corrupt file exists.

Any chance anyone knows if there is a parameter that can be used to just ignore the corrupted file and continue?
Did a bit of searching around and everyone seems to suggest just rebuilding/reinstalling it, which for a single corrupted file seems like an overreaction.

If I can get the pool mounted read/write then I figure I could easily just go and grab the original copy of that file and overwrite it, thus removing the corruption. I’m sure ill have to run a scrub after all this is done too just to be sure.

TrueNAS SCALE version 23.10.1.3 if it matters.

Welcome

I take it you’ve tried the -f option to force an import already?

​​​ ​ ​
​​​ ​ ​
It’s also possible ZFS has corrupted more important underlying data structures causing this state and that the issue extends beyond the one reported file.
ZFS plays fast and loose (no checksumming, constantly appending it making it vulnerable to interruption) with the freespace map and corruption of it will lead to a state where the pool can only be imported readonly or a kernel panic.

Yeah at this point I’ve gone to town on it, tried -f, -F and a few other suggestions i found online.
I am able to get the pool to import as read-only ( sudo zpool import -o readonly=on boot-pool) and the data certainly seems fine, just that one file refuses to read which would be trivial to fix if i could just get ZFS to ignore it and import as read-write.