Proxmox Backup Server (PBS)¶
Proxmox Backup Server running on px5-lemans (France) for efficient incremental backups over WAN.
Container: CT 5101 (pbs-fr)
IP: 10.35.1.101
Web UI: https://10.35.1.101:8007
Last Updated: 2026-02-04
Overview¶
PBS replaces traditional vzdump-to-NFS backups with:
- Incremental backups - Only changed data transferred (typically 1-5GB vs 40-100GB)
- Deduplication - ~50-70% storage reduction
- Resume on failure - Interrupted backups continue where they left off
- Faster restores - 10-20 minutes vs 30-60 minutes
Architecture¶
UK (px1/px2/px3) France (px5)
│ │
├── PBS ────── WireGuard (~18ms) ──────→ CT 5101 (pbs-fr)
│ (incremental, ~1-5GB/night) │
│ ↓
│ PBS Datastore
│ (pikvm-backup NFS)
│
└── vzdump → px3-nas (UK local, fast restore)
Container Specification¶
| Parameter | Value |
|---|---|
| VMID | 5101 |
| Hostname | pbs-fr |
| IP | 10.35.1.101/24 |
| Gateway | 10.35.1.1 |
| Cores | 4 |
| RAM | 4096 MB |
| Root disk | 16 GB (local) |
| Datastore | Bind mount from pikvm-backup NFS |
Datastore¶
| Name | Path | Storage | Free Space |
|---|---|---|---|
| pbs-main | /mnt/datastore/pbs-main | pikvm-backup NFS | ~1.1 TB |
Maintenance Jobs¶
| Job | Schedule | Purpose |
|---|---|---|
| Garbage Collection | Saturday 02:00 | Remove orphaned chunks |
| Verification | Sunday 04:00 | Verify backup integrity |
PVE Storage Integration¶
PBS is registered as storage pbs-fr in the Proxmox cluster.
# Check storage status
pvesm status | grep pbs-fr
# List backups
pvesm list pbs-fr --content backup
Backup Jobs¶
All jobs configured in /etc/pve/jobs.cfg:
| Job | Node | Schedule | Retention |
|---|---|---|---|
| pbs-px3-daily | px3-suzuka | 22:00 | 7 daily, 4 weekly, 2 monthly |
| pbs-px2-daily | px2-monza | 00:30 | 7 daily, 4 weekly, 2 monthly |
| pbs-px1-daily | px1-silverstone | 03:00 | 7 daily, 4 weekly, 2 monthly |
| pbs-weekly | px1-silverstone | Sun 07:00 | 8 weekly, 3 monthly |
Job Details¶
vzdump: pbs-px1-daily
all 1
compress zstd
enabled 1
mailnotification failure
mailto chpa35@gmail.com
mode snapshot
node px1-silverstone
notes-template {{guestname}}-pbs
prune-backups keep-daily=7,keep-weekly=4,keep-monthly=2
schedule 03:00
storage pbs-fr
Web UI Access¶
URL: https://10.35.1.101:8007
Warning
Accept the browser security warning for the self-signed certificate.
Login¶
- Realm: Linux PAM
- Username: root
- Password: Stored in password manager
Key Dashboards¶
- Dashboard - Overview of datastore usage and recent tasks
- Datastore > pbs-main - Browse backups, verify, prune
- Administration > Tasks - View running and completed jobs
CLI Commands¶
On PBS Container (CT 5101)¶
# Enter container
ssh px5 "pct exec 5101 -- bash"
# List datastores
proxmox-backup-manager datastore list
# Show datastore details
proxmox-backup-manager datastore show pbs-main
# List users
proxmox-backup-manager user list
# Check GC status
proxmox-backup-manager task list --type gc
# Manual GC
proxmox-backup-manager garbage-collection start pbs-main
From PVE Nodes¶
# List PBS backups
pvesm list pbs-fr --content backup
# Manual backup to PBS
vzdump 1112 --storage pbs-fr --compress zstd --mode snapshot
# Restore from PBS
pct restore 1112 pbs-fr:backup/ct/1112/2026-02-04T03:00:00Z --storage ceph-pool
# Restore to different VMID (test)
pct restore 9999 pbs-fr:backup/ct/1112/2026-02-04T03:00:00Z --storage ceph-pool --unique
Recovery Procedures¶
Restore CT from PBS¶
# List available backups
pvesm list pbs-fr --content backup | grep "ct/1112"
# Restore (overwrites existing)
pct restore 1112 pbs-fr:backup/ct/1112/2026-02-04T03:00:00Z --storage ceph-pool
# Restore to new VMID
pct restore 9999 pbs-fr:backup/ct/1112/2026-02-04T03:00:00Z --storage ceph-pool --unique
Restore VM from PBS¶
# List available backups
pvesm list pbs-fr --content backup | grep "vm/1111"
# Restore
qmrestore pbs-fr:backup/vm/1111/2026-02-04T03:00:00Z 1111 --storage ceph-pool
File-Level Restore¶
PBS supports restoring individual files without full VM restore:
- Open PBS Web UI
- Navigate to Datastore > pbs-main > Content
- Select backup snapshot
- Click "Browse Files"
- Download individual files
Monitoring¶
Check Backup Status¶
# Recent PBS tasks
ssh px5 "pct exec 5101 -- proxmox-backup-manager task list" | head -20
# Check datastore usage
pvesm status | grep pbs-fr
# Verify backups exist
pvesm list pbs-fr --content backup | wc -l
Alerts¶
PBS sends email notifications on:
- Backup failures
- Verification failures
- Low storage warnings
Troubleshooting¶
PBS Unreachable¶
# Check container status
ssh px5 "pct status 5101"
# Check PBS services
ssh px5 "pct exec 5101 -- systemctl status proxmox-backup-proxy"
# Check network
ping 10.35.1.101
Storage Not Visible¶
# Check PVE storage config
grep -A10 "pbs: pbs-fr" /etc/pve/storage.cfg
# Test connectivity
pvesm list pbs-fr --content backup 2>&1 | head -5
Backup Failures¶
# Check vzdump logs
tail -100 /var/log/vzdump/vzdump-*.log
# Check PBS task log (in web UI or CLI)
ssh px5 "pct exec 5101 -- proxmox-backup-manager task list"
Parallel Run Period¶
During the 2-week validation period (Feb 4-18, 2026):
- Both vzdump and PBS jobs run simultaneously
- Monitor PBS backup sizes (should decrease after day 2)
- Test restores from PBS
- Compare with vzdump restore times
After validation, disable old vzdump jobs: - pikvm-px1, pikvm-px2, pikvm-px3 - backup-55292acc - weekly-archive
Keep active: uk-secondary (vzdump to px3-nas for fast UK restores)
Expected Benefits¶
| Metric | Before (vzdump NFS) | After (PBS) |
|---|---|---|
| Nightly WAN transfer | 40-100 GB | 1-5 GB |
| Storage used | ~1.5 TB | ~500 GB |
| Restore time (France) | 30-60 min | 10-20 min |
| Resume on failure | No | Yes |
| Deduplication | No | Yes |
Related Documentation¶
Last updated: 2026-02-04