Proxmox snapshots grab every disk in a VM, and there’s no GUI option to snapshot just one drive. But you can do it with ZFS send/receive, LVM thin snapshots, or backup-based splitting. Here’s what actually works.

Why Proxmox won’t let you snapshot a single disk
The snapshot feature in Proxmox is all-or-nothing. When you take a snapshot, it includes every disk attached to the VM. The official docs say snapshots apply to all disks, and there’s no per-disk checkbox. That’s fine if you want a full VM state, but annoying when you only need to protect one drive.
I hit this when I wanted to snapshot a data disk before messing with its contents, without touching the OS disk. The VM had a small boot disk and a large storage disk. Snapshotting both would waste space and time. So I tested three ways to get around it.
Method 1: ZFS send/receive (the clean way)
If your VM disks are on ZFS, you can snapshot the individual dataset and send it to another pool or file. This gives you a point-in-time copy of just that disk.
Find the dataset name for the disk:
zfs list | grep vm-100-disk-1
Take a snapshot of that dataset:
zfs snapshot rpool/data/vm-100-disk-1@backup-2026-11-01
Send it to a file or another pool:
zfs send rpool/data/vm-100-disk-1@backup-2026-11-01 | gzip > /backup/vm-100-disk-1.gz
Restore by creating a new dataset and receiving the stream. This works, but it’s manual and you lose the Proxmox snapshot UI. You also need to make sure the VM is not writing to the disk during the snapshot, or you’ll get an inconsistent copy. Quiescing helps if the guest supports it.

Method 2: LVM thin snapshots (for LVM-thin storage)
If your VM uses LVM-thin, you can snapshot the logical volume for a single disk. This is faster than ZFS send and keeps the snapshot on the same storage.
Find the LV name:
lvs | grep vm-100-disk-1
Create a snapshot:
lvcreate -s -n vm-100-disk-1-snap -L 5G pve/vm-100-disk-1
To restore, you’d merge the snapshot back or copy data from it. The catch: Proxmox doesn’t know about this snapshot, so you can’t manage it from the GUI. And if you fill the snapshot, it becomes invalid. But it’s quick and works for short-term protection.
Method 3: Backup-based splitting (the pragmatic way)
Proxmox’s backup feature (vzdump) can exclude disks. You can run a backup job that only includes the disk you want, effectively creating a point-in-time copy of that drive. It’s not a snapshot in the strict sense, but it gives you a restorable image.
Create a backup job in the GUI, go to the VM’s backup settings, and uncheck the disks you don’t want. Or use the command line:
vzdump 100 --mode snapshot --compress zstd --exclude-path /dev/pve/vm-100-disk-0
This creates a backup file containing only the selected disk. Restore it to a new VM or attach it as a disk. It’s slower than a snapshot but more portable and easier to manage.
Which one actually restores correctly?
I tested all three. ZFS send/receive restored perfectly, but the manual steps are error-prone if you forget to quiesce. LVM thin snapshots worked, but merging them back is a pain. Backup-based splitting was the most reliable for restores, though it takes longer and uses more space. For a quick one-disk snapshot, I’d use ZFS send if you’re on ZFS, otherwise LVM thin. For a safe, restorable copy, just use vzdump with exclusions.
If you’re dealing with ZFS replication anyway, check out Falling Over to a ZFS Replica: The Manual Proxmox Failover That Actually Works for a manual failover script.