Now that I thought of it some more, a follow-up is due on my advices:
1) While the best practices do(did) dictate to set up zoneroots in
rpool, this is certainly not required - and I maintain lots of
systems which store zones in separate data pools. This minimizes
write-impact on rpools and gives the fuzzy feeling of keeping
the systems safer from unmountable or overfilled roots.
2) Whether LZs and GZs are in the same rpool for you, or you stack
"tens of" your LZ roots in a separate pool, they do in fact offer
a nice target for dedup - with expected large dedup ratio which
would outweigh both the overheads and IO lags (especially if it
is on SSD pool) and the inconveniences of my approach with cloned
dummy zones - especially upgrades thereof. Just remember to use
the same compression settings (or lack of compression) on all
zoneroots, so that the zfs blocks for OS image files would be
the same and dedupable.
zfs-discuss mailing list