Solaris live upgrade like FreeBSD ZFS-rootfs update

David Schultz das at FreeBSD.ORG
Thu Jan 29 14:15:20 PST 2009

On Thu, Jan 29, 2009, Philipp Wuensche wrote:
> With ZFS suddenly some neat stuff is easly possible with FreeBSD, like
> the Solaris Live Upgrade feature. The idea behinde Live Upgrade is that
> you have more than one bootable-environment to boot from making it very
> painless to upgrade to newer FreeBSD versions without loosing the
> possibility to boot your known-good boot-environemt. So you can't end up
> with a broken userland or kernel and you can even go back to your old
> userland and kernel if the new ones do not work for you.

Nice. Right now, upgrading from source involves the multi-step
dance of:

  - build
  - installkernel
  - reboot in single user mode
  - mergemaster -p
  - installworld
  - mergemaster

This sequence is designed to maximize the odds that you can
recover easily if something goes wrong, but many users don't know
how to recover, and you can still shoot yourself in the foot if
installworld fails, e.g., due to a new bug in libc.

But since both ZFS and UFS support snapshots now, it would be
great if the process were something like:

  - drop to single user mode
  - take snapshots of / and /usr
  - install everything
  - reboot

But if something goes wrong, only ZFS has the ability to roll back
to the last snapshot, and even then I'm not sure if you can
actually boot from that snapshot in order to recover.

Nonetheless, perhaps it's worth incorporating the idea of "take a
snapshot before you upgrade" into the documented upgrade
procedure.  More than once, it's saved me the headache of finding
a CD with a version of libc that will work with my kernel.

More information about the freebsd-current mailing list