reanimate ZFS pool after disk cloning and host changing

From: Ralf S. Engelschall <rse+freebsd-current_at_FreeBSD.org>
Date: Thu, 11 Oct 2007 20:43:40 +0200
I've a FreeBSD 7-CURRENT (as of 2007-10-09) running in a VirtualBox
virtual machine and with all filesystems except /boot on ZFS. Now that
we switched to 7.0-PRERELEASE and 8-CURRENT I today created another
virtual machine and just cloned the disks (with "vboxmanage clonevdi",
but it doesn't matter here).

When I then booted the new virtual machine with the cloned disks, the
root filesystem couldn't be mounted during boot via "zfs:zp1/root" as
the ZFS pool "zp1" is no longer available.

So I booted into the Fixit environment from
"7.0-CURRENT-200709-i386-disc1.iso" and tried "zpool import". It was
able to detect the pool on device ad0s1f. The problem just is that the
hostid has changed (which is correct), so I thought I just have to
re-import the ZFS pool with "zfs import -R /zp1 -f zp1". This still
worked just fine: all filesystem were available under temporary /zp1
now (I had to use this alternative root or the Fixit environment is
immediately dead). But once I then reboot into the system, the ZFS pool
is again not found via "zfs:zp1/root"!

In tried multiple times with various ways in the Fixit environment:
"zfs import zp1" is denied because the hostid is different, "zfs import
-f zp1" does the trick (although breaks the Fixit environent) but
after reboot the ZFS pool again gone, "zfs import -R /zp1 -f zp1" does
also the trick but here again the ZFS pool is gone after reboot.

So, the silly question is: what is the correct way to reanimate a ZFS
pool after the host has changed, so that one can again directly boot
from from one of its filesystems (here "zp1/root")?

--
rse_at_FreeBSD.org                        Ralf S. Engelschall
FreeBSD.org/~rse                       rse_at_engelschall.com
FreeBSD committer                      www.engelschall.com
Received on Thu Oct 11 2007 - 16:45:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:19 UTC