With the advent of 12, I want to send/recv my old 11.3 pool contents to a new pool, so that I can set updated properties on the pool and its datasets which are more optimal for my current use, as well as leveraging the new features in 12, and so that the data will be written fresh, and unfragmented, as well.
In my old pool, some dataset properties got modified over time, and data in place was not updated of course when they changed. I want to end up with the same data, but to update the ways its physically organised on disk as it's written over. So in effect writing it from scratch, resulting in the same structures as the original pool.
My old 11.3 pool looks something like this:
I know that zfs recv -o updates dataset and pool properties, but I'm not entirely sure the correct syntax overall. I'm also unsure if I can recursive replicate because not all nested datasets have the same properties.
As the dataset properties differ, do I need to replicate each dataset individually, with the correct -o options for that dataset? (There's only about 8 datasets so this is feasible)
If so, what is the correct send/recv command? (both old and new pool are now mounted on the same v12 server, the old pool is read-only)
In my old pool, some dataset properties got modified over time, and data in place was not updated of course when they changed. I want to end up with the same data, but to update the ways its physically organised on disk as it's written over. So in effect writing it from scratch, resulting in the same structures as the original pool.
My old 11.3 pool looks something like this:
OLD_POOL
DATASET1 (and snapshots...)
DATASET1A (and snapshots...)
DATASET1B (and snapshots...)
DATASET1B1 (and snapshots...)
DATASET2 (and snapshots...)
DATASET2A (and snapshots...)
I know that zfs recv -o updates dataset and pool properties, but I'm not entirely sure the correct syntax overall. I'm also unsure if I can recursive replicate because not all nested datasets have the same properties.
As the dataset properties differ, do I need to replicate each dataset individually, with the correct -o options for that dataset? (There's only about 8 datasets so this is feasible)
If so, what is the correct send/recv command? (both old and new pool are now mounted on the same v12 server, the old pool is read-only)
Last edited: