Replicating branching snapshots with ZFS

konet

New Member
Jan 30, 2021
1
0
1
50
I understand ZFS (zvol?) only allows linear snapshots.

Using the WebUI, I can 'convert to template' at a point at which I'd like to branch.
Then, I can create linked clones for each branch.
Then, it's possible to convert those linked clones to templates, and so on...

Like with snapshots, this is quick and uses minimal storage.
But, obviously, this can't be done retroactively (unlike with qcow2).

What are the limitations with this approach? Are there performance / reliability concerns I should be aware of (especially if done numerous times)?
Should I stop at certain intervals and take full clones instead?

Thanks in advance!
 
Hi,
what exactly is your use case? It sounds like qcow2 would be better suited here.

That said, I think this should work, although it might be a bit difficult to keep track of all the templates and clones. The base volume for a linked clones is encoded in PVE's volume ID, and you can also use zfs list -o name,origin.

I don't think there should be much of a performance overhead. Since ZFS is copy-on-write, it will just point the modified clone to a new block when a block is "overwritten", so the base volume doesn't even notice. And reliability should also be no concern if your ZFS is reliable in the first place. If there really are such concerns, you can always use full clones to recover.
 
  • Like
Reactions: konet

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!