Home ยป Proxmox ยป Testing Proxmox 9 Snapshots as Volume Chains on iSCSI (Tech Preview)
Proxmox

Testing Proxmox 9 Snapshots as Volume Chains on iSCSI (Tech Preview)

Test Proxmox 9 snapshots as volume chains on iSCSI storage: setup, performance tips, and benefits for VM backups, clones, & rollbacks.

One of the new features I was really excited about when looking into the features of Proxmox 9 VE Server was the snapshot capabilities on thick provisioned LUNs with iSCSI and NFS. I think for many VMware admins, it really made traditional SAN technologies a no go in previous versions of Proxmox to not be able to create snapshots. It basically forced you over to Ceph storage and I don’t think admins wanted to bite that off along with Proxmox at the same time. However, Proxmox now introduces the new snapshots as volume chains feature in Proxmox VE 9. Let’s see why this is a big deal and how it is configured.

What are snapshots as volume chains?

In legacy versions of Proxmox, when you take a snapshot of a VM or container, the system stores a point-in-time copy of the VMโ€™s virtual disk state. How your snapshot that is created is implemented depends heavily on the storage backend. Let me give you a few examples:

  • ZFS, LVM-Thin, and Ceph RBD have native snapshot support
  • File-based storage (like NFS/CIFS) used QCOW2 overlays for snapshots
  • iSCSI LUNs have historically been tricky and snapshots usually required complex storage-level features or just weren’t supported at all which was mostly the latter

With Snapshots as Volume Chains feature in Proxmox VE 9, Proxmox moves away from the one-disk-per-VM approach for snapshotting on specific backend storage technologies. Instead, now, it creates a chain of volumes (base + delta files) to represent different points in time. This is similar to what we are used to with the VMware vSphere world. Each snapshot is a new delta volume linked to its parent. This is also similar to how QCOW2 works with backing files.

For iSCSI, this means Proxmox can manage snapshots without depending entirely on the SANโ€™s native snapshot features. This gives you snapshots even on simpler or generic iSCSI targets as I will show you below.

Read the official documentation on the feature here: Proxmox VE Storage.

Why this matters with iSCSI storage

Until now, if you used iSCSI with Proxmox, snapshots were either not supported or they depended on your SAN and its snapshot features. That was fine for enterprise arrays with native LUN snapshots. But for those of us with home labs, this is not so great for budget-friendly setups. Most of us are using FreeNAS/TrueNAS, commodity NAS devices like Synology or something else for iSCSI targets.

Now, with Proxmox 9โ€™s volume-chain approach:

  • Snapshots are now storage agnostic – As long as the iSCSI target supports standard LUNs, Proxmox can manage its own snapshot chains which is great
  • Clone operations become easier – linked clones can be created from snapshot points without full-volume duplication
  • Incremental backups are more efficient – Proxmox can reference only the changed blocks between snapshots
  • Testing and rollbacks are faster – spin up a quick snapshot before testing, then revert in just a few seconds

I have mentioned this before. But being a former VMware guy in the home lab and still managing many environments in production, I can say that the storage features and I should say lack of features in previous versions may have kept many who are currently on VMware from migrating to Proxmox.

Now, with the storage backend capabilities of Proxmox maturing, I think the floodgates of migrations will begin for those who don’t want to stay on VMware due to Broadcom and the just lack of any consistency with pricing and other decisions they have made.

Isn’t this โ€œTechnology Previewโ€?

Yes, and this is definitely something to keep in mind. Before you enable this in a production environment, the Snapshots as Volume Chains for iSCSI is a technology preview feature. This means that it is not supported in production as of yet. There are certainly the possibility for performance or other quirks using them. Backups and restores probably don’t fully support them as of yet and this is a feature that is definitely in flux with development. So the feature may change in a future release.

That said, this is the kind of feature that Proxmox will probably develop on quickly and testing it out now can give you a head start to using it once it has been fully vetted and likely released as GA in Proxmox 9.1 as an example.

Setting up iSCSI storage in Proxmox 9

As a quick refresher, let’s go over how to enable an ISCSI target in Proxmox 9. The process is the same, regardless of your iSCSI backend, if you are using FreeNAS, TrueNAS, Synology, or some other iSCSI target.

Step 1: Add the iSCSI Target

  1. In the Proxmox web UI, go to Datacenter > Storage
  2. Click Add > iSCSI
  3. Enter your storage ID (e.g., iscsi-test), portal address, and target name
  4. Save

Below is adding an iSCSI target in Proxmox VE 9. I set the ID and portal address. The target is the IQN number from your iSCSI target LUN.

Adding an iscsi target in proxmox ve 9
Adding an iscsi target in proxmox ve 9

Next, we need to add our LVM on iSCSI.

Step 2: Add an LVM Group on iSCSI
If your iSCSI LUN will be used for VM disks, youโ€™ll likely add an LVM Group on top of the iSCSI target:

  1. Go to Datacenter > Storage > Add > LVM
  2. Select your iSCSI device
  3. Give it a name (e.g., lvm-iscsi-test)
  4. Before you click Add look at the next section!
Adding your lvm group on your iscsi lun
Adding your lvm group on your iscsi lun

Ok if you saw my point 4 above, go to the next section with the dialog box still open.

Enabling snapshots as volume chains on your iSCSI LVM

The magic happens in the storage configuration on the Advanced checkbox above.

tep 3: Enable the Tech Preview Setting

  1. Click the Advanced checkbox on the dialog box
  2. Check the โ€œEnable Snapshots as Volume Chains (Technology Preview)โ€ option
  3. Save your changes
Checking advanced and enabling snapshots as volume chains on proxmox 9 iscsi
Checking advanced and enabling snapshots as volume chains on proxmox 9 iscsi
After selecting the checkbox click the add button
After selecting the checkbox click the add button

Once this is enabled, any VM disk stored on this backend can use the volume-chain snapshot method.

Creating and testing snapshots on iSCSI LVM

With the feature enabled, you can now create snapshots like you would on ZFS or QCOW2-backed storage.

Step 4: Create a Snapshot

  1. Select a VM with its disk on the iSCSI-backed LVM
  2. Go to Snapshots and click Take Snapshot
  3. Name it something descriptive (e.g., pre-upgrade-test)
  4. Save

Below I am taking the snapshot.

Taking a new snapshot on a proxmox ve 9 virtual machine on an iscsi lun
Taking a new snapshot on a proxmox ve 9 virtual machine on an iscsi lun

Name the snapshot and check to include or exclude memory.

Name the snapshot choose memory options and click the take snapshot button
Name the snapshot choose memory options and click the take snapshot button

Once completed, you will see the snapshot listed in the snapshots menu.

The snapshot volume chain snapshot creates successfully on an iscsi lvm lun
The snapshot volume chain snapshot creates successfully on an iscsi lvm lun

Step 5: Verify the Volume Chain

Let’s see how you can verify the snapshot chain using the command line.

  • In the Proxmox terminal, you can inspect the volume chain structure using lvdisplay or by checking the storage directory. You should see the base volume plus any linked delta volumes with snapshots
  • The Proxmox UI still displays these as normal snapshots (as shown above). But under the hood, the structure is now a volume linked chain
Using lvdisplay to view the snapshots as volume chains
Using lvdisplay to view the snapshots as volume chains

Step 6: Test Rollback

  • Make a change to the VM (install updates, edit configs)
  • Roll back to the snapshot and confirm the disk state reverts as expected
Testing snapshot rollback in proxmox 9 volume chain snapshots on iscsi
Testing snapshot rollback in proxmox 9 volume chain snapshots on iscsi

Use cases for the new snapshots

I don’t think we have to think too long and hard about the potential use cases for this. We have all used snapshots for two decades now with VMware and other hypervisors, including Proxmox. This just extends the reach of the types of storage Proxmox can use to create snapshots on top of.

Just as a quick review though, snapshots are great for:

  1. Test Environments to quickly test different scenarios and have rinse and repeat type exercies in your lab
  2. Pre-Upgrade Safety – I always take a snapshot before applying OS or application updates and this way you can roll things back instantly to the way they were before you had something break
  3. Linked Clones – These use snapshots to provision VMs faster from a single golden image as they use these on top of the base image
  4. Backup technologies – I am sure backup vendors and Proxmox Backup Server (PBS) alike will leverage this new snapshot capability to make their backups even more efficient, quick, etc.

Downsides or limitations

While everything we have talked about so far is positive with the technology, there are a few downsides with snapshots in general and the new snapshots as volume chains feature in Proxmox in particular.

Note the tradeoffs with snapshots:

  • Long chains can slow I/O – the more snapshots in the chain, the more layers Proxmox has to search for reads
  • Merge operations – deleting a middle snapshot may require merging changes into the parent or child volume and this can take a tremendous amount of time depending on how large they are
  • Backup strategy – always test PBS backups/restores with chained snapshots to ensure no surprises

Also, something I noticed with the snapshots as volume chains, a pretty huge bummer at least in their operation right now is they only allow you to rollback to the most recent in the volume chain. So if you have 3 snapshots for instance, you can only rollback to number 3 in the chain and not number 1.

If you try to jump over the last snapshot to rollback to, you will see an error like this:

can't rollback, <snapshot name> is not most recent snapshot on <vm disk>
You can't rollback to a snapshot that is not the most recent
You can’t rollback to a snapshot that is not the most recent

Hopefully, this will be something that Proxmox rectifies in a future release and removes this limitation.

Wrapping it up

Despite the limitations of snapshots as volume chains functionality for virtual machines on iSCSI LUNs in Proxmox, this is a big step forward for Proxmox VE 9 in that it will allow users to have snapshots on traditional storage technologies. It will allow a vendor-agnostic approach to creating snapshots without having to rely on specific storage hardware technologies. Keep in mind it is still in Technology Preview, so don’t implement this in production until it is GA.

If you are running an iSCSI-backed home lab or production cluster, this is definitely something that is worth testing, especially if you have been wanting snapshot flexibility without relying on hardware specific snapshots. Let me know in the comments if this is something you have been waiting on in Proxmox for some time now. I would love to hear how and where you will be implementing this.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don't have to.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.