Proxmox: Why Only ZFS Storage Supports Snapshot Backups
When configuring virtual machine backups in Proxmox VE, three modes are available: Stop, Suspend, and Snapshot. The Snapshot mode is by far the most interesting for production environments as it allows backing up a VM with zero downtime. However, this mode is not available on all storage types.
The Three Proxmox Backup Modes
- The Stop mode completely shuts down the VM before backing it up. The result is a perfectly consistent backup, but at the cost of significant downtime, especially on VMs with large disks.
- The Suspend mode pauses the VM (freezing RAM), performs the backup, then resumes it. Downtime is reduced but still present, and the VM remains inaccessible throughout the entire backup duration.
- The Snapshot mode creates an instant point-in-time copy of the disk, then backs up that snapshot in the background while the VM keeps running normally. It is the only mode that guarantees zero downtime.
Why Snapshot Mode Requires ZFS (or a Compatible Storage)
Snapshot mode relies on the underlying storage system's ability to create an atomic block-level snapshot. The system must be able to freeze the virtual disk state at a precise moment while continuing to accept writes in a separate layer (copy-on-write).
Classic Proxmox storage types — such as a simple directory on ext4 or a standard LVM volume — do not natively have this filesystem-level snapshot capability. When attempting to run a backup in Snapshot mode on these storage types, Proxmox either refuses the operation or silently falls back to Suspend mode.
ZFS, thanks to its native copy-on-write architecture, is designed to create instant snapshots with negligible performance cost. When Proxmox requests a snapshot for backup, ZFS:
- Freezes the current dataset state in a near-instantaneous atomic operation.
- Redirects all new writes to new blocks, leaving existing blocks untouched.
- Allows
vzdumpto read the frozen state while the VM continues writing normally. - Deletes the snapshot once the backup is complete, freeing obsolete blocks.
Ceph RBD and certain LVM-thin configurations also offer this capability, but ZFS remains the most common and simplest choice for a standalone Proxmox hypervisor or small cluster.
Configuring a ZFS Backup in Snapshot Mode
Create a ZFS pool if you don't already have one:
zpool create -f mypool mirror /dev/sda /dev/sdb
Add the ZFS storage in Proxmox:
pvesm add zfspool local-zfs -pool mypool/data -content images,rootdir
Migrate an existing VM disk to ZFS:
qm move-disk scsi0 local-zfs
Run a manual snapshot backup with vzdump:
vzdump --mode snapshot --storage local --compress zstd
Or configure it in /etc/vzdump.conf for scheduled jobs:
# /etc/vzdump.conf
mode: snapshot
compress: zstd
storage: local
You can verify that your ZFS pool supports snapshots:
zfs list -t snapshot
Practical Consequences
If you are using local ext4 or standard LVM storage for your VM disks, your scheduled backups via vzdump can only work in Stop or Suspend mode. For a production infrastructure where downtime is not acceptable, migrating to a ZFS pool is essentially mandatory.
The good news is that Proxmox integrates ZFS natively. Simply create a ZFS pool, migrate VM disks to it, and reconfigure backup jobs to Snapshot mode. The benefit is immediate: transparent backups with no service interruption, plus the additional robustness that ZFS provides (checksums, compression, replication).