Proxmox’s built-in backup system is capable, but it dumps uncompressed archives to local storage and has no deduplication. Proxmox Backup Server (PBS) solves both problems: it uses chunk-based deduplication so that incremental backups of similar containers take a fraction of the space, and it runs as a dedicated service with its own web UI and retention policies.
This guide deploys PBS in an LXC container on the cluster and wires up all four nodes to back up to it nightly. For real-world deduplication numbers, Edy Werder documented backing up 21 VMs into 1.77 TB with a 25× dedup factor — a good reference point for what to expect as your cluster fills up.
How PBS deduplication works
PBS splits backup data into fixed-size chunks, hashes each chunk, and stores only unique chunks. Two containers running the same Ubuntu base image share the OS chunks — you pay for the OS once, not once per container.
In practice on this cluster: 12 containers backing up nightly use ~180 GB of PBS storage instead of the ~600 GB their raw sizes would suggest — a 3.3× reduction.
Task 1: Create the PBS container
PBS needs a dedicated storage volume for the backup datastore. Create the container first, then add a second disk for backup storage.
In the Proxmox web UI: pvelab04 → Create CT.
| Field | Value |
|---|---|
| VMID | 110 |
| Hostname | pbs |
| OS | Debian 12 (Bookworm) LXC, unprivileged |
| IP | 10.0.0.78 (static) |
| Cores | 2 |
| RAM | 2048 MB |
| Root disk | 16 GB (OS only) |
Use Debian 12 specifically — PBS is distributed as a Debian package and the install is significantly smoother on Debian than Ubuntu.
In the Proxmox web UI, select CT 110 → Resources → Add → Hard Disk.
| Field | Value |
|---|---|
| Storage | local-lvm (or your NAS/ZFS pool) |
| Size | 200 GB (or however much you can spare) |
| Device | mp0 |
| Mount point | /mnt/backup |
This becomes the PBS datastore. Size it based on your containers’ total disk usage × number of retention days, divided by your expected deduplication ratio (~3× is conservative).
PBS needs fuse access to mount backup images for verification. SSH to the Proxmox host and edit the container config:
echo "lxc.cap.drop:" >> /etc/pve/lxc/110.conf
# Set features in the UI: CT 110 → Options → Features → FUSE: Yes
Or via the UI: CT 110 → Options → Features → FUSE: Yes.
Task 2: Install Proxmox Backup Server
apt-get update && apt-get install -y curl gnupg2
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -o /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" > /etc/apt/sources.list.d/pbs-no-subscription.list
apt-get update
pbs-no-subscription is the free community repository — the same concept as Proxmox VE’s no-subscription repo. It receives updates slightly later than enterprise, but is stable for homelab use.
apt-get install -y proxmox-backup-server
systemctl enable --now proxmox-backup-proxy
The installation takes 2–3 minutes. When it completes, the PBS web UI is available at https://10.0.0.78:8007.
Task 3: Create the backup datastore
# Identify the second disk (should be /dev/sdb or similar)
lsblk
# Format it as ext4
mkfs.ext4 /dev/sdb
# Add to fstab for persistent mount
echo "/dev/sdb /mnt/backup ext4 defaults 0 2" >> /etc/fstab
mount -a
df -h /mnt/backup
Log into the PBS web UI at https://10.0.0.78:8007 with root credentials.
- Go to Datastore → Add Datastore
- Set Name:
main - Set Path:
/mnt/backup - Click Add
The datastore initialises immediately. You’ll see it listed under Datastore in the left sidebar with a storage usage gauge.
Task 4: Add PBS as a storage target in Proxmox VE
In the Proxmox VE web UI: Datacenter → Storage → Add → Proxmox Backup Server.
| Field | Value |
|---|---|
| ID | pbs |
| Server | 10.0.0.78 |
| Datastore | main |
| Username | root@pam |
| Password | (PBS root password) |
| Fingerprint | (copy from PBS Dashboard → Fingerprint) |
Click Add. The PBS storage will now appear in the storage list on all nodes.
Get the PBS fingerprint from the PBS UI: Dashboard → Server Administration → Fingerprint, or run proxmox-backup-manager cert info | grep Fingerprint inside CT 110.
Task 5: Schedule nightly backups
In the Proxmox VE web UI: Datacenter → Backup → Add.
| Field | Value |
|---|---|
| Storage | pbs |
| Schedule | daily at 02:00 |
| Selection | All (or select specific VMIDs) |
| Mode | Snapshot |
| Compression | Zstandard |
| Notification | Email (optional) |
Under Retention, set:
- Keep last: 7 (one week of daily backups)
- Keep weekly: 4 (one month of weekly snapshots)
Click Create.
In Datacenter → Backup, select your job and click Run now. Watch the task log — you should see each container backing up in sequence.
Once complete, check the PBS datastore: Datastore → main → Content. Each container appears as a backup group with the snapshot listed.
Task 6: Verify a restore
Backups you’ve never tested are not backups. Test a restore before you need one.
In the Proxmox VE web UI, navigate to the PBS storage: pbs → Content. Find any container backup, right-click → Restore.
| Field | Value |
|---|---|
| Target node | any PVE node |
| VM ID | a new unused ID (e.g. 999) |
| Storage | local-lvm |
| Start after restore | No |
Click Restore. This does a live read from PBS — no downtime on the original container.
Start CT 999 and verify it boots cleanly. Then delete it.
Monitoring backup status
# List all backup groups and their latest snapshot
proxmox-backup-client list --repository root@pam@10.0.0.78:main
# Check datastore disk usage and deduplication ratio
proxmox-backup-manager datastore list
proxmox-backup-manager datastore show main
The deduplication ratio in the datastore view shows you how much space deduplication is saving. On a fresh cluster with similar OS images across containers, expect 2–4× savings after the first week of daily backups.
Storage sizing reference
| Scenario | Raw size | Expected PBS size |
|---|---|---|
| 10 Ubuntu containers, similar base | 80 GB | 25–35 GB |
| Mixed containers, 7-day retention | 200 GB | 60–90 GB |
| With weekly retention (4 weeks) | 800 GB | 200–300 GB |
For a 4-node homelab cluster with 10–15 containers, 200–500 GB of backup storage is comfortable with 7-day daily + 4-week weekly retention.
Recommended hardware for expanded backup storage:
- WD Red Plus 2TB NAS HDD — dedicated backup drive for PBS datastore
- HP EliteDesk 705 G4 mini — runs PBS as one workload among many
Related posts:
- Proxmox Storage Guide: LVM, ZFS, NFS, and Ceph — understand the storage types PBS backs up
- Proxmox Security Hardening — secure the nodes whose data you’re protecting
- Proxmox LXC Networking: Bridges, VLANs, and Static IPs — network the PBS container so all nodes can reach it
- Proxmox Cluster Setup: Quorum, Corosync, and Node Joining — the cluster this backup server protects
- Proxmox VM vs LXC: When to Use Each — how VM and container backups differ, and which guest type to choose
This post contains Amazon affiliate links (tag: buildahomelab-20). I earn a small commission on qualifying purchases at no extra cost to you.