Skip to main content
Back to blog

Proxmox Backup Server: incremental backups done right

·5 min readHomelab

Backing up virtual machines is one of those things that feels optional until you lose one. I lost a VM to a corrupted disk early in my homelab journey and rebuilt it from memory. That took an entire weekend. Now I run Proxmox Backup Server and restoring a VM takes about 5 minutes.

What Proxmox Backup Server is

Proxmox Backup Server (PBS) is a dedicated backup solution built by the same team behind Proxmox VE. It integrates natively with Proxmox, handles VM backups, container backups, and file-level backups, and stores everything with deduplication and compression.

The key feature is incremental backups. After the first full backup, subsequent backups only transfer the blocks that changed. A 100GB VM that changes 2GB per day takes seconds to back up after the initial snapshot.

Why not just use Proxmox's built-in backups?

Proxmox VE has built-in backup functionality that creates full backup files (.vma for VMs, .tar for containers). These work, but they have significant drawbacks:

Every backup is a full copy. A 100GB VM creates a 100GB backup file every time. With daily backups and a 7-day retention, you need 700GB of storage for one VM.

Slow. Full backups take time proportional to the VM size, not the amount of changed data.

No deduplication. Identical blocks across VMs and across backup generations are stored multiple times.

PBS solves all three. The same 100GB VM with daily backups might use 120GB total instead of 700GB, because only changed blocks are stored and identical blocks are deduplicated.

How incremental backups work

PBS breaks backup data into fixed-size chunks (typically 4MB), hashes each chunk, and stores only unique chunks. When you run a backup:

  1. PBS snapshots the VM
  2. It reads the data in chunks
  3. For each chunk, it checks: "do I already have this hash?"
  4. Only new or changed chunks are transferred and stored

The first backup transfers everything. The second backup might transfer 5% of the data. The tenth backup transfers whatever changed since the ninth. Each backup is a complete point-in-time snapshot, but the storage cost is proportional to the actual changes.

Setting it up

PBS runs on a dedicated machine or VM. I run it on my TrueNAS server in a VM, which keeps backups on ZFS-protected storage.

Install PBS from the official ISO (same process as installing Proxmox VE). After installation, access the web UI at https://pbs-ip:8007.

Connect Proxmox VE to PBS

In the Proxmox VE web UI:

  1. Go to Datacenter > Storage > Add > Proxmox Backup Server
  2. Enter the PBS server address, username, and password
  3. Set the datastore name (you create this in PBS first)
  4. Add the PBS fingerprint for secure connection

Create a backup schedule

In Proxmox VE:

  1. Go to Datacenter > Backup > Add
  2. Select the PBS storage
  3. Pick which VMs and containers to back up
  4. Set the schedule (I run daily at 2 AM)
  5. Set retention (I keep 7 daily, 4 weekly, 6 monthly)

The storage savings

Here are real numbers from my setup:

  • 6 VMs ranging from 20GB to 100GB disk size
  • Total VM disk space: ~350GB
  • 30 days of daily backups (30 backup generations)
  • Actual PBS storage used: ~420GB

Without deduplication, 30 full backups of 350GB would be 10.5TB. PBS stores the same data in 420GB. That is a 25x reduction.

Verification

PBS can verify backup integrity automatically. It reads every chunk and checks the hash against what was stored. This catches silent data corruption that would otherwise go unnoticed until you try to restore.

Enable verification in the PBS UI under Datastore > Verification Jobs. I run verification weekly.

Restoring

Restoring a VM from PBS is straightforward:

  1. In Proxmox VE, go to the PBS storage
  2. Browse the backup history for the VM
  3. Select the snapshot you want
  4. Click Restore
  5. Choose the target storage and VM ID

The restore creates a new VM from the backup. For a 50GB VM, restore takes about 3-5 minutes on my network.

You can also do file-level restore: mount a backup and browse individual files without restoring the entire VM. This is invaluable when you just need one config file from yesterday's backup.

Offsite replication

PBS supports syncing backups to a remote PBS instance. If you have a second server at a friend's house or a remote location, PBS can replicate your backup datastore over the network. This gives you offsite protection with the same incremental efficiency.

The bottom line

If you run Proxmox VE, PBS is the obvious choice for backups. The integration is seamless, the storage efficiency from deduplication is dramatic, and the restore process is fast and reliable. It turned backups from something I worried about into something that just works in the background.

Sources

Enjoying the blog? Subscribe via RSS to get new posts in your reader.

Subscribe via RSS