Logo

Install and configure Proxmox Backup Server

Install and configure Proxmox Backup Server

Set up a professional backup solution with deduplication, compression and integrity verification for your Proxmox VMs. PBS reduces storage space by 80% and drastically speeds up incremental backups.

Install and configure Proxmox Backup Server

Set up a professional backup solution with deduplication, compression and integrity verification for your Proxmox VMs. PBS reduces storage space by 80% and drastically speeds up incremental backups.

Introduction

Proxmox Backup Server (PBS) is the official backup tool for Proxmox VE. Its advantages over the classic built-in backup (vzdump):

  • Deduplication: identical blocks between backups are stored only once
  • Incremental: only modified blocks since the last backup are transferred
  • Client-side encryption: data leaves the PVE node already encrypted
  • Integrity verification: SHA-256 checksum on all blocks
  • Granular restore: recover a single file from a VM without restoring everything

Prerequisites

  • A dedicated server or dedicated VM for PBS (separate from Proxmox VE)
  • Minimum 4 GB RAM and 500 GB disk for the datastore
  • Performant network between PBS and PVE (1 Gbps minimum)
  • Proxmox VE 7.x or 8.x already in place

Step 1: Install Proxmox Backup Server

Download the official PBS ISO: https://www.proxmox.com/en/downloads/proxmox-backup-server

Install it as a regular OS, bare-metal on your backup server.

Option B: Install on existing Debian

If you want to install PBS on an existing Debian 12:

echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" > /etc/apt/sources.list.d/pbs.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

apt update
apt full-upgrade -y
apt install -y proxmox-backup-server

Reboot:

systemctl reboot

Step 2: Access the web interface

Open your browser:

https://PBS_IP:8007

Log in with:

  • User: root@pam
  • Password: root password

Step 3: Create a datastore

The datastore is where backups are stored. On PBS, prefer using a ZFS pool or hardware RAID.

Prepare a ZFS pool for the datastore

# List available disks
lsblk

# Create a ZFS pool in RAIDZ1 on 3 disks
zpool create -f backup raidz1 /dev/sdb /dev/sdc /dev/sdd

# Optimizations
zfs set compression=lz4 backup
zfs set atime=off backup
zfs set xattr=sa backup
zfs set recordsize=1M backup

In PBS interface: Datastore → Add Datastore

  • Name: pbs-store
  • Backing Path: /backup
  • GC Schedule: daily
  • Prune Schedule: daily

Click Add.

Step 4: Create a dedicated user for Proxmox VE

Don't reuse the root account for backups. Create a dedicated user with limited permissions.

Configuration → Access Control → Add User:

  • User name: pve-backup
  • Realm: pbs
  • Password: choose a strong one
  • Enable: checked

Configuration → Access Control → Add Permission:

  • Path: /datastore/pbs-store
  • User: pve-backup@pbs
  • Role: DatastoreBackup

Step 5: Get the PBS SSL fingerprint

On PBS:

proxmox-backup-manager cert info | grep -i fingerprint

Copy the Fingerprint (sha256): line.

Step 6: Add PBS as storage in Proxmox VE

On the PVE interface: Datacenter → Storage → Add → Proxmox Backup Server

  • ID: pbs
  • Server: PBS IP or hostname
  • Username: pve-backup@pbs
  • Password: the password created
  • Datastore: pbs-store
  • Fingerprint: paste the sha256 retrieved

Click Add. PVE verifies the connection.

Step 7: Schedule backups

Datacenter → Backup → Add:

  • Storage: pbs
  • Schedule: 02:00 (every day at 2 AM)
  • Selection mode: All
  • Compression: ZSTD (fast and good)
  • Mode: Snapshot (no interruption)
  • Mail Notification: Always (recommended)

Run a first manual backup to test:

VM → Backup → Backup Now → pbs.

Step 8: Configure retention (Prune)

Datastore → pbs-store → Prune Jobs → Add:

Recommended retention policy:

  • Keep Last: 3 (last 3 backups)
  • Keep Daily: 7 (last 7 days)
  • Keep Weekly: 4 (last 4 weeks)
  • Keep Monthly: 6 (last 6 months)
  • Keep Yearly: 2 (last 2 years)

With deduplication, keeping 6 months of backups costs less space than you think.

Step 9: Enable Garbage Collection

GC cleans orphan blocks after prune operations.

Datastore → pbs-store → Maintenance → GC Schedule:

sat 04:00

Every Saturday at 4 AM.

Step 10: Automatic verifications

PBS can periodically verify backup integrity:

Datastore → pbs-store → Verify Jobs → Add:

  • Schedule: sun 05:00
  • Outdated After: 30 (re-verify backups every 30 days)

Step 11: Restore a VM

On PVE: VM → Backup → select backup → Restore.

Options:

  • Storage: where to restore the disk
  • VM ID: 100 (default) or new ID if you want to clone
  • Start After: checked if you want to start immediately

To restore a single file from a Linux VM:

Backup → File Restore → browse → Download.

Troubleshooting

"fingerprint mismatch"

SSL fingerprint changed (certificate renewal). Get the new one:

proxmox-backup-manager cert info | grep -i fingerprint

Then update in PVE: Datacenter → Storage → pbs → Edit → Fingerprint.

First backup is slow

Normal: the first backup transfers 100% of data. Subsequent ones only transfer modified blocks (usually 1-5% of total).

Disk space doesn't decrease after prune

Prune marks blocks as orphans, but Garbage Collection actually deletes them. Run it manually:

proxmox-backup-manager garbage-collection start pbs-store

Integrity verification fails

Corrupted block on disk. Inspect:

proxmox-backup-manager verify pbs-store --outdated-after 0

If multiple backups are corrupted, check RAID/ZFS health:

zpool status backup

Useful commands

# Datastore status
proxmox-backup-manager datastore list

# Detailed status
proxmox-backup-manager datastore status pbs-store

# Manually run GC
proxmox-backup-manager garbage-collection start pbs-store

# Verify integrity
proxmox-backup-manager verify pbs-store

# List users
proxmox-backup-manager user list

# Update PBS
apt update && apt full-upgrade -y

# Backup logs
journalctl -u proxmox-backup-proxy -f

Conclusion

PBS transforms backup strategy for a Proxmox infrastructure. On a 20-VM fleet, commonly observed:

  • Daily full backups in 10-15 minutes (vs 2-3h with vzdump)
  • 80% disk space reduction thanks to deduplication
  • Granular file restore in seconds

Going further:

  • Configure a Remote Sync between two distant PBS for geographic resilience
  • Enable client-side encryption for sensitive data
  • Integrate PBS with S3 object storage (via remote sync to another PBS on S3 storage)

Resources

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members