Date: Wed, 19 Dec 2012 08:22:15 -0600 From: dweimer <dweimer@dweimer.net> To: "Christopher J. Ruwe" <cjr@cruwe.de> Cc: freebsd-questions@freebsd.org Subject: Re: Curious question about using zfs send -R and receive on FreeBSD Message-ID: <ca5f05fb170fd710240839888e9e3e3b@dweimer.net> In-Reply-To: <20121219140137.4673f395@dijkstra> References: <2930c477429212255788f1a2c90aa202@dweimer.net> <20121219140137.4673f395@dijkstra>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-12-19 07:01, Christopher J. Ruwe wrote: > On Mon, 17 Dec 2012 16:00:06 -0600 > dweimer <dweimer@dweimer.net> wrote: > >> I recently migrated a machine that was built on a VM to physical >> hardware using the zfs send -R option against a snapshot of its root >> zfs setup. I went from smaller drives to larger, both using a >> mirrored zpool. However the devices were different, the device IDs >> on the VM were da0 and da1, the device IDs on the physical hardware >> were ada0 and ada1. I had used labels when creating the gpt layout >> to plan for this. And all worked great, in fact it was the fastest I >> have ever converted a virtual machine to a physical machine. >> After I finished though, I got curious, was it actually necessary >> for me to mount the new boot zfs partition while running on the live >> cd and copy the zpool.cache file I had created when creating the >> zpool or would have the existing cache file that would have been >> included in the zfs send contained the right information? As the >> zpool was pointed at the gpt label devices, or was the fact that the >> size changed enough difference that copying the file was indeed >> necessary? >> > > I fear you might be mixing things up here. You did a zfs-migrate, not > a > zpool-migrate, you created a new zpool and received the datasets on > that > new zpool, even if the zpool names were the same. > > The function of zpool.cache is to tell the OS about available > device-zpool combinations. Without, the OS does not know which zpools > are available and accordingly cannot mount the root-ZFS passed in the > vfs.root.mountfrom directive in loader.conf, which is why you needed > to > copy the zpool.cache and, if you changed the zpool-names, needed to > adapt loader.conf. > > There are plans to change this behaviour, as it is deemed superfluous > at > least in the case of disks, but I do not know how much that has > progressed so far. > > > http://lists.freebsd.org/pipermail/freebsd-fs/2012-October/015328.html > > > Hope I could shed some light on that issue, although I am by no means > an > expert on this. > > Cheers, Yes that did explain it, and I did keep the zpool the same name to avoid having to change the loader.conf. This also does answer other things as well for me. In that this should be able to be done from a mirror to a zraid, or single disk pool. But as you have pointed out the migration is done on the ZFS data layer that is on top of the zpool layer, so it shouldn't matter what the underlying zpool raid level is. And likewise wouldn't matter if the hardware devices behind it changed even if I hadn't used gpt labels to configure the zpool. Good information to know going forward, thanks for the explanation. -- Thanks, Dean E. Weimer http://www.dweimer.net/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ca5f05fb170fd710240839888e9e3e3b>