Date: Thu, 29 Dec 2011 15:10:46 -0500 From: "James Edwards" <jedwards@bsdftw.org> To: freebsd-questions@freebsd.org Subject: Re: ZFS upgrade path Message-ID: <bec004e421a3598cf5bd7fc217e1e62c.squirrel@webmail.bsdftw.org> In-Reply-To: <80adac46ceb89a5ac93109a46115f7b6.squirrel@webmail.bsdftw.org> References: <80adac46ceb89a5ac93109a46115f7b6.squirrel@webmail.bsdftw.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, December 28, 2011 12:18, James Edwards wrote: > There are four disks, all in a single storage pool - tank. > > Here is the naming convention I planned on following after 9.0 is > released: > > tank/9.0 > tank/9.0/usr > tank/9.0/var > tank/9.0/tmp > and so on > > This way, in theory at least, when 9.1 (or 10.0) is released, I can simply > create tank/9.1 and the associated data sets, make my changes to /etc and > /boot, change the zfs bootfs, reboot, and finally upgrade the ZFS pools. > > Is this feasible to do, or are there any caveats/gotchas I'm overlooking? > It took some time to do, but I was able to demonstrate within VirtualBox that this can be done. I found it important when creating tank/8.2/usr and tank/8.2/var to specify 'canmount=off', this way the datasets below it inherit the correct mountpoints. After installing 8.2, I created tank/9.0-RC3, associated datasets and then installed 9.0-RC3 to it. From there, I had to create a loader.conf and rc.conf, copy the zpool.cache to the dataset, change the bootfs ('zpool set bootfs=tank/9.0 tank'), change the zfs mountpoints and reboot. After I rebooted, I was able to upgrade the zpool to v28. While this was done from a minimal clean install, it *should* work from a system that is using the user-land (as long as the daemons are stopped).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bec004e421a3598cf5bd7fc217e1e62c.squirrel>