* Re: [RFC storage, qemu-server] optional multi-volume / consistency-group snapshot hook
[not found] <6a5cd5ca.8e75e0cb.f69c7.89e4@mx.google.com>
@ 2026-07-19 14:17 ` Ciro Iriarte
0 siblings, 0 replies; only message in thread
From: Ciro Iriarte @ 2026-07-19 14:17 UTC (permalink / raw)
To: pve-devel
I under-sold this in the mail this morning. I said the `cg` tag maps onto the two
backends I can test, Ceph and a VSP array. ZFS is a third.
I had assumed ZFS atomicity meant `zfs snapshot -r` over a subtree, which would
only give you a group if the volumes happened to share a parent. That is wrong.
`zfs snapshot` takes a list, and they land in one transaction group wherever the
datasets sit:
# zfs snapshot rpool/cgA@cg1 rpool/cgB@cg1
# zfs get -Hp -o value createtxg rpool/cgA@cg1 rpool/cgB@cg1
7830984
7830984
Same createtxg, so the same instant, for an arbitrary set rather than a subtree.
Checked it end to end on zvols, since that is what a VM disk is on zfspool. Two
64M zvols with distinct random content, snapshotted in one command, both then
overwritten, then cloned from the snapshots:
pre-snapshot A=1f5d99cb... B=ca4d6039...
post-write A=b9165b06... B=98949c0d...
clone of @cg1 A=1f5d99cb... B=ca4d6039...
Both clones came back with the pre-snapshot content. So the group snapshot caught
both volumes before the writes, and cloning from its members works -- the same
grouping serves snapshots and clones.
That answers the scope question I asked in the first mail. This is not a
two-backend feature for Ceph and vendor arrays: zfspool can do it with a command it
already runs, and zfspool is far more common in the field than either. So the tag
would be doing real work for in-tree storage, not just for out-of-tree plugins
like mine.
The ones that cannot, so nobody has to check: LVM thick and thin have no multi-LV
atomic snapshot primitive in dm, so `lvcreate -s` per LV gives different instants
unless the caller freezes around them. btrfs snapshots are per-subvolume and PVE
uses one subvolume per disk, so no arbitrary grouping there either.
Thanks,
Ciro
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-19 14:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <6a5cd5ca.8e75e0cb.f69c7.89e4@mx.google.com>
2026-07-19 14:17 ` [RFC storage, qemu-server] optional multi-volume / consistency-group snapshot hook Ciro Iriarte
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox