Proxmox Backup Server (PBS)¶
TL;DR / when to use this: PBS provides image-level backups of Proxmox VMs/LXCs with deduplication and snapshot verification. Running it as a small VM backed by an external USB drive keeps the backup target independent from the hypervisor's own storage. Full Proxmox setup is covered in Proxmox VE.
Step 1: Mount the USB drive to the host¶
For an all-purpose external drive (mine is 22 TB) shared by any VM, mount it on the host and expose it to VMs via Virtiofs — that pattern is described in Proxmox VE → Device passthrough and shared directories. Proxmox's UI still doesn't mount drives cleanly, so I use Cockpit for this step.
Step 2: Create a Directory Mapping¶
At the Datacenter level, add a Directory Mapping — e.g. PBS-Directory — pointing at a subfolder of the mounted drive, such as /mnt/external22TB/backups. A subfolder keeps the mapping clean if you create other mappings for other purposes.
Step 3: Create the PBS VM¶
Grab the installer ISO: click local storage under your node → ISO Images → Download from URL, using the link from the PBS downloads page.
VM sizing: 10 GB storage, 2 GB RAM, 2 CPUs.
Step 4: Mount the storage into the VM¶
On the PBS VM: Hardware → Add → Virtiofs, select the PBS-Directory mapping. Then in the PBS web UI (VM IP, port 8007) open the console and mount:
Persist in /etc/fstab:
Then in the PBS UI: Add Datastore → name it backup-local, type Local, path /mnt/pbs-backup, set your prune schedule. Verify the datastore shows the true physical drive size, then under Options set Verify New Snapshots to Yes — this checks snapshots after they're taken.
Step 5: Create a user for Proxmox VE to use¶
Configuration → Access Control → Add — e.g. user proxmox with a password. On the user's Permissions tab, add a permission at path /datastore with role DatastoreAdmin.
Step 6: Add PBS as Proxmox storage¶
Back in Proxmox VE: Datacenter → Storage → Add → Proxmox Backup Server:
- id:
pbs-backup-local - Server: the PBS VM's IP
- User:
proxmox@pbs+ password - Datastore:
/datastore/backup-local
It now appears under your other storages in the file tree.
Step 7: Schedule the backup job¶
Datacenter → Backup → Add, select storage pbs-backup-local, pick a schedule, select the VMs/LXCs to back up. Done.
See also¶
- Proxmox VE
- Backups — file/DB-level backup strategy (Kopia, pg_dump)
- Blog post: Proxmox Backup Server to USB Drive