zfs-root and "safe" atomic updates
Arnaud Houdelette
tzim at tzim.net
Fri May 27 14:16:52 UTC 2011
On Fri, 27 May 2011 14:41:54 +0300, Andriy Gapon wrote:
> on 27/05/2011 14:08 tzim at tzim.net said the following:
>> I use zfs on / for quite some time now on 8-stable.
>>
>> Each time I want to update base, I use those steps :
>>
>> - zfs snapshot tank/root at old
>> - zfs clone tank/root at old tank/root.old
>> - csup / Rebuild world and kernel
>> - install world & kernel
>> - reboot
>> - (mergemaster and all usual post-update stuff)
>>
>> This way, if I unfortunately can't boot, I can revert to old
>> userland & kernel by :
>>
>> - dropping into loader prompt
>> - setting vfs.root.mountfrom to zfs:tank/root.old
>> - booting kernel.old
>
> Just for the records, I would like to poin out that kernel.old would
> be loaded
> from zfs:tank/root.
>
Yes indeed.
(...)
>> Also, world is updated "in place".
>>
>> I think it should be possible to do the installworld & installkernel
>> on a root
>> clone then boot into it (changing tank bootfs property), but then :
>> how to revert
>> to previous state in case of failure ? Is there a "nextboot" thing
>> planed for zfs ?
>
> I am not aware of any plans to implement nextboot for zfs as it would
> require at
> least some write support for zpool and there is none (for boot code)
> at the moment.
>
Could'nt the loader use a bit flag in the loader sector ?
Nextboot (or something equivalent) missing is the sole thing keeping me
from removing ufs boot partition for remote servers.
>> What do you think ? How do you address the problem ?
>
> I have some patches that allow to boot a different loader or a kernel
> from a
> different (non-bootfs) ZFS dataset:
> http://lists.freebsd.org/pipermail/freebsd-fs/2010-July/008976.html
> But that still requires access to zfs boot and/or loader command
> interface.
Interesting though. Thanks.
Does the mentionned patch still works with latest 8-stable loader ?
And do you still have to change vfs.root.mountfrom once currdev set ?
More information about the freebsd-stable
mailing list