From owner-freebsd-questions@FreeBSD.ORG Thu Dec 29 20:10:46 2011 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8713106564A for ; Thu, 29 Dec 2011 20:10:46 +0000 (UTC) (envelope-from jedwards@bsdftw.org) Received: from mail.bsdftw.org (unknown [IPv6:2001:470:c630:3000::]) by mx1.freebsd.org (Postfix) with ESMTP id C47468FC0C for ; Thu, 29 Dec 2011 20:10:46 +0000 (UTC) Received: from webmail.bsdftw.org (websrv [IPv6:2001:470:c630:1000::]) by mail.bsdftw.org (Postfix) with ESMTP id BCB3457B5 for ; Thu, 29 Dec 2011 15:10:45 -0500 (EST) Received: from 75.149.97.29 (SquirrelMail authenticated user jedwards) by webmail.bsdftw.org with HTTP; Thu, 29 Dec 2011 15:10:46 -0500 Message-ID: In-Reply-To: <80adac46ceb89a5ac93109a46115f7b6.squirrel@webmail.bsdftw.org> References: <80adac46ceb89a5ac93109a46115f7b6.squirrel@webmail.bsdftw.org> Date: Thu, 29 Dec 2011 15:10:46 -0500 From: "James Edwards" To: freebsd-questions@freebsd.org User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal Subject: Re: ZFS upgrade path X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Dec 2011 20:10:47 -0000 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).