ZFS pool not working on boot

Axel acd at bsd.homelinux.org
Wed Sep 19 19:39:13 PDT 2007


Adam Jacob Muller <freebsd-current at adam.gs> writes:

> On Sep 19, 2007, at 6:44 PM, Axel wrote:
>
>> There is a file called /boot/zfs/zpool.cache that is kept in sync
>> and loaded at boot time.
>>
>> If that's not there , e.g. by your /boot pointing to it , you're
>> hosed.
>>
>
> File is there, of note is that some of the prior reboots had been
> "unintentional" reboots, so it is possible that that file was
> corrupt, however, it does not seem correct for zfs to come up in a
> state that shows drives as corrupted and/or unavailable. I believe I
> have corrected the crashing issue, however it still does not seem
> that this is the correct behavior.
>
> - Adam
>

If you have a working root outside of zfs I'd do the following:

1) Rename the zpool.cache to something else to be safe
2) Reboot, make sure that /boot/zfs points to the right location,
   and reimport the pools.
3) Should be fine from there on.

I had sort of the same issue, the zpool.cache isn't documented
too well yet; I only stumbled over it by doing a "lsmod" at
the loader prompt;it's one reason root can be on zfs before hostid is
set. If you setup zfs and don't have the future /boot/zfs set right
it won't work because the information gets lost.
With / on zfs it's crucial to have /boot point to the actual
UFS boot partition and not be in your zfs / somewhere, cause
that gets ignored until it's mounted.

It's a good idea to keep the actual old UFS / directory around 
although only /boot gets used in there if you mount / from zfs.

http://wiki.freebsd.org/ZFS comes in handy.

And yes, I do love zfs too :-)

-- 
Axel


More information about the freebsd-fs mailing list