Proxmox Backup Server (PBS) is an open-source enterprise backup solution designed specifically for Proxmox VE environments. It features Incremental Backup with Changed Block Tracking, chunk-based Deduplication, and client-side AES-256 Encryption — making it far more efficient than traditional full backups.
PBS vs. PVE Built-in Backup: Key Differences
| Feature | PVE Backup | Proxmox PBS |
|---|---|---|
| Incremental Backup | ❌ | ✅ Changed Block Tracking |
| Deduplication | ❌ | ✅ Save 60-80% storage |
| Encryption (AES-256) | ❌ | ✅ Client-side |
| Backup Verification | ❌ | ✅ Automatic integrity check |
| Flexible Retention | Limited | ✅ Daily/Weekly/Monthly |
| Web UI | Via PVE | ✅ Dedicated UI |
System Requirements
- CPU: 2+ cores (AES-NI support recommended for hardware encryption)
- RAM: 2GB minimum, 4GB+ recommended
- Storage: Dedicated disk or volume for backup data
- OS: Debian 12 (Bookworm) — PBS only supports Debian
- Network: Reachable from all PVE nodes
💡 Best Practice: Install PBS on a separate machine or different datacenter from your PVE nodes to avoid a single point of failure.
Installing Proxmox Backup Server on Debian 12
Step 1: Add PBS Repository
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" \
> /etc/apt/sources.list.d/pbs-no-subscription.list
wget -qO- https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
| gpg --dearmor > /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update
Step 2: Install PBS
apt install -y proxmox-backup-server
After installation, PBS starts automatically. Access the Web UI at https://<PBS-IP>:8007
Step 3: Create a Datastore
mkdir -p /backup
# Create datastore via CLI
proxmox-backup-manager datastore create main /backup
Connecting PBS to Proxmox VE
Add PBS Storage on PVE
In PVE Web UI: Datacenter → Storage → Add → Proxmox Backup Server
- ID: e.g.
pbs-main - Server: PBS IP or hostname
- Username:
root@pamor a PBS user - Datastore: datastore name (e.g.
main)
Get PBS Fingerprint
proxmox-backup-manager cert info | grep "Fingerprint"
Creating Backup Jobs
PVE Web UI: Datacenter → Backup → Add → Select PBS storage, choose VMs/CTs, set schedule and Retention Policy.
Retention Policy Examples
| Parameter | Example | Meaning |
|---|---|---|
| keep-last | 3 | Keep 3 most recent backups |
| keep-daily | 7 | Keep 1 backup per day for 7 days |
| keep-weekly | 4 | Keep 1 backup per week for 4 weeks |
| keep-monthly | 3 | Keep 1 backup per month for 3 months |
Enabling Encryption
proxmox-backup-client key create /etc/pve/priv/backup-encryption.key
⚠️ Critical: Store your encryption key in a separate, secure location. Without it, restoring encrypted backups is impossible.
Restoring from PBS
Restore via CLI
# Restore VM 100 to VM 200
qmrestore pbs-main:backup/vm/100/2026-09-11T00:00:00Z 200 --start
# Restore CT 101 to CT 201
pct restore 201 pbs-main:backup/ct/101/2026-09-11T00:00:00Z
Maintenance: Pruning and Garbage Collection
# Prune old backups per retention policy
proxmox-backup-manager prune-job create prune-daily \
--datastore main \
--keep-last 3 --keep-daily 7 --keep-weekly 4 --keep-monthly 3 \
--schedule "02:00"
# Reclaim space from unreferenced chunks
proxmox-backup-manager garbage-collection start main
Troubleshooting
Backup Slow or Timing Out
- Verify network bandwidth between PVE and PBS (100Mbps+ recommended)
- Check disk I/O on PBS storage
- Consider increasing
--chunk-sizefor large VMs
Service Status
systemctl status proxmox-backup.service
journalctl -u proxmox-backup.service -n 50
ss -tlnp | grep 8007