Multiple ZFS pools and booting

Marcus Müller znek at mulle-kybernetik.com
Mon Jan 17 08:40:14 UTC 2011


Hi Pawel and Anonymous,

> There is no way to configure that at this point. The boot code just
> boots off of first pool it finds - if there is no bootfs property then
> it will just try to boot from the top level dataset (ie. tank).
> 
> What you could try is to add /tank/boot.config file containing:
> 
> 	muller:/boot/loader
> 
> and if that doesn't work:
> 
> 	muller/roots/8-current:/boot/loader
> 
> and if that doesn't work I don't know of any other solutions.

first thanks for finding the time to answer my question. I've mistaken the "bootfs" property for a global switch indicating that one can boot off this pool, as I somehow misinterpreted this troubleshooting section [http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide#Pool_Migration_Issues]. I guess a zpool boolean propery like freebsd:canboot which defaults to YES would be a welcome enhancement. Looking at the loader code I believe this isn't too trivial to implement, though.

> Exporting the tank pool will work (for now), but it looks like it will
> be changed to accept exported pools for booting and skip only destroyed
> pools.

I've read about this and was a bit worried as it would definitely screw up my server setup.

> gptzfsboot skips any non-zfs partition type such as `freebsd-ufs'.
> Say, you want to boot from the pool on ad10p5 and
> 
>  $ gpart modify -t freebsd-ufs -i 3 ad10
>  $ gpart modify -t freebsd-ufs -i 4 ad10
> 
> should be enough. Does it work for you?

This hack does the trick! While I would certainly prefer a property based solution, I'm fine now. Thanks!

Cheers,

  Marcus

-- 
Marcus Mueller  .  .  .  crack-admin/coder ;-)
Mulle kybernetiK  .  http://www.mulle-kybernetik.com
Current projects: http://www.mulle-kybernetik.com/znek/




More information about the freebsd-fs mailing list