Complete Proxmox Backup Guide: Protect Your VMs
Learn how to backup and restore VMs and containers in Proxmox VE. Covers vzdump, PBS, schedules, and disaster recovery.
Why Backups Are Non-Negotiable
No matter how reliable your hardware or how redundant your RAID configuration, backups remain the single most important part of any Proxmox deployment. RAID protects against disk failure, but it does not protect against accidental deletion, ransomware, software bugs, or configuration mistakes. A solid backup strategy is the difference between a minor inconvenience and a catastrophic data loss event.
Proxmox VE provides robust built-in backup tools, and when paired with Proxmox Backup Server, you get a complete enterprise-grade backup solution at no licensing cost.
Understanding vzdump Backup Modes
Proxmox uses vzdump as its core backup utility. It supports three backup modes, each with different trade-offs between consistency and downtime:
Snapshot Mode
Snapshot mode creates a backup while the VM continues running. It uses QEMU's live snapshot capability to capture a consistent disk state without stopping the guest. This is the recommended mode for most production workloads.
# Snapshot backup of VM 100
vzdump 100 --mode snapshot --storage backup-storage --compress zstd
Snapshot mode also includes the VM's RAM state if configured, allowing you to restore to the exact running state. The downside is slightly higher I/O during the backup window.
Suspend Mode
Suspend mode pauses the VM briefly to ensure a consistent state, takes a snapshot, then resumes the VM. The pause is typically just a few seconds, but it does cause a brief interruption.
# Suspend backup
vzdump 100 --mode suspend --storage backup-storage
When to use it: When you need a guaranteed consistent state but snapshot mode causes issues, or for VMs running applications that do not handle live snapshots well.
Stop Mode
Stop mode shuts down the VM completely, performs the backup, then restarts it. This guarantees a perfectly clean backup but causes the longest downtime.
# Stop backup (longest downtime, most consistent)
vzdump 100 --mode stop --storage backup-storage
When to use it: For VMs where absolute data consistency is critical and you can tolerate downtime, such as database servers during maintenance windows.
Configuring Backup Storage
Before scheduling backups, you need a storage target configured for backup content. Common options include a local directory, NFS share, or Proxmox Backup Server:
# Add an NFS share as backup storage
pvesm add nfs backup-nas --server 192.168.1.50 --export /backups \
--content backup --maxfiles 5
# Add a Proxmox Backup Server
pvesm add pbs pbs-main --server 192.168.1.60 --datastore main \
--username backup@pbs --password YOUR_PASSWORD --content backup \
--fingerprint AA:BB:CC:...
Scheduling Automated Backups
Manual backups are fine for one-off situations, but you should always have automated scheduled backups. Configure these through the Proxmox web UI under Datacenter > Backup, or via the command line:
# Example backup job configuration in /etc/pve/jobs.cfg
vzdump: daily-backup
schedule 0 2 * * *
storage backup-nas
mode snapshot
compress zstd
all 1
mailnotification always
mailto admin@example.com
This configuration backs up all VMs and containers daily at 2:00 AM using snapshot mode with ZSTD compression.
For managing backup schedules on the go, ProxmoxR lets you trigger manual backups and monitor running backup tasks directly from your phone, which is invaluable when you need to create a quick backup before applying updates remotely.
Retention Policies
Retention policies control how many backups are kept and for how long. Without proper retention, your backup storage will fill up. Proxmox supports granular retention settings:
# Retention example: keep last 3 daily, 2 weekly, 1 monthly
vzdump 100 --mode snapshot --storage backup-nas \
--prune-backups keep-daily=3,keep-weekly=2,keep-monthly=1
A practical retention strategy for most environments:
- keep-last: 1 (always keep the most recent backup)
- keep-daily: 7 (one week of daily backups)
- keep-weekly: 4 (one month of weekly backups)
- keep-monthly: 3 (three months of monthly backups)
Proxmox Backup Server (PBS)
Proxmox Backup Server is a dedicated backup solution designed specifically for Proxmox VE. It offers significant advantages over simple file-based backups:
- Deduplication: Only unique data blocks are stored, dramatically reducing backup storage requirements
- Incremental backups: After the first full backup, subsequent backups only transfer changed blocks
- Encryption: Client-side encryption ensures backups are secure, even on untrusted storage
- Verification: Built-in backup verification ensures your backups are actually restorable
- Garbage collection: Automatic cleanup of unused data chunks
# On the PBS server, create a datastore
proxmox-backup-manager datastore create main /mnt/backup-data
# Verify a backup from the PBS command line
proxmox-backup-client verify --repository backup-server:main
A backup you have never tested restoring is not a real backup. Schedule regular verification and test restores to ensure your disaster recovery plan actually works.
Restoring Backups
Restoring a full VM or container from backup is straightforward. You can restore to the original VM ID or create a new VM from the backup:
# Restore VM 100 from the latest backup
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_03_20-02_00_00.vma.zst 100
# Restore as a new VM with ID 200
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_03_20-02_00_00.vma.zst 200
# Restore a specific disk from a PBS backup
qmrestore pbs:backup/vzdump-qemu-100-2026_03_20.vma 100 --force
You can also restore individual files from a PBS backup without restoring the entire VM, which is extremely useful when a user accidentally deletes a single file.
Backup Verification
Regularly verify that your backups are not corrupted and can actually be restored:
# Verify a backup file
vzdump --verify /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst
# On PBS, schedule automatic verification
proxmox-backup-manager verify-job create daily-verify \
--store main --schedule "6:00" --ignore-verified true \
--outdated-after 30
Verification reads the entire backup and checks its integrity. Schedule verification runs during off-peak hours since they generate significant I/O load.
Offsite Backup Strategy
Local backups protect against hardware failure and accidental deletion, but they do not protect against site-level disasters (fire, theft, flooding). Implement at least one offsite backup layer:
- PBS Sync Jobs: Proxmox Backup Server supports syncing datastores to a remote PBS instance
- ZFS Send/Receive: Replicate ZFS datasets to an offsite server over SSH
- Cloud sync: Use rclone or similar tools to push encrypted backups to cloud storage (S3, Backblaze B2, etc.)
# Sync PBS datastore to a remote PBS server
proxmox-backup-manager sync-job create offsite-sync \
--store main --remote offsite --remote-store disaster-recovery \
--schedule "daily" --remove-vanished true
The 3-2-1 Backup Rule
Follow the industry-standard 3-2-1 rule for maximum protection:
- 3 copies of your data (original + 2 backups)
- 2 different storage media (e.g., local disk + NAS)
- 1 offsite copy (remote server or cloud)
Backups are the safety net that lets you experiment, update, and run your Proxmox infrastructure with confidence. Set them up early, verify them regularly, and you will sleep better knowing your data is protected. With tools like ProxmoxR, you can monitor backup job status and quickly trigger backups from anywhere, making it easy to stay on top of your data protection strategy.
Take Proxmox management mobile
All the features discussed in this guide — accessible from your phone with ProxmoxR. Real-time monitoring, power control, firewall management, and more.