[TUTORIAL] Inside Proxmox VE 9 SAN Snapshot Support

bbgeek17

Distinguished Member
Nov 20, 2020
5,612
1,895
228
Blockbridge
www.blockbridge.com
Hi Everyone,

I'm excited to share a deep dive into one of the notable new feature in PVE9: the enhanced snapshot functionality designed for legacy SANs. This feature represents a meaningful step forward in expanding PVE's compatibility with traditional enterprise storage setups, something many of us have been eager to see... and something I've answered a lot of questions about over the years ;)

Inside Proxmox VE 9 SAN Snapshot Support: https://kb.blockbridge.com/technote/proxmox-qcow-snapshots-on-lvm/

Our latest technote dives into the architecture, how the feature operates, and some limitations to keep in mind. It's important to highlight that this is currently a technology preview, so be considerate.

For some background, many enterprise PVE users had to rely on file-based storage like NFS for VM snapshots because of their compatibility with QCOW2 disk images. Legacy SANs, with their static LUN provisioning, have posed a tough challenge because of QCOW2's dynamic nature. PVE9's new approach aims to bridge that gap, using clever LVM management, which could open doors for many users relying on traditional SANs.

If you're considering testing this feature out or want to understand the nuts and bolts, this article may be a good read. As always, let me know if you have questions, corrections, or if we've missed anything!

Enjoy, The Blockbridge Team!


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
Hi,
thanks for the article, I hope you enjoy my work ^_^

about performance, they are still performance improvement possible, mostly with qemu l2 cache size. Currently it's really depend of the qcow2 volume size, it's working up to around ~256GB. for bigger volume, we need to add an option in qemu to increase l2 metadatas cache. (it should be easy to add, and from my test, I really help to match 90% raw performance with bigger volume)

Another improvement possible, is to keep raw for main volume, and only qcow2 for snapshot (I'll need more work because of snasphot volume renaming)

I'm also also for ""thin provisoning"", with lvm volume smaller than qcow2 virtual size, with dynamic resize of the lvm volume by chunk of 1GB for example
 
  • Like
Reactions: Johannes S
about
"
When a snapshot is deleted, the system merges data from the previous QCOW image and LVM logical volume into the new QCOW image and logical volume. This merge process allocates additional storage in the new logical volume but does not release any storage from the old one."

the option "wipe removed volumes" should fill with zero the old snapshot space.

if the storage support discard, another way could be to add "`issue_discards = 0" in lvm.conf , but I'll look to do it with blkdiscard command on snapshot removal in coming patches to avoid the need to tuning lvm.conf manually. (maybe reuse the discard option of the vm to enable the feature, something like that)
 
  • Like
Reactions: Johannes S