proxmox

How to Set Up Proxmox Backup Server for Centralized Backups

Relying on Proxmox VE’s built-in backup scheduler works well for a single node, but as a homelab grows to multiple Proxmox hosts, a dedicated Proxmox Backup Server setup becomes far more efficient — offering deduplication, incremental backups, and centralized management that the basic scheduler alone can’t provide.

What Is Proxmox Backup Server?

Proxmox Backup Server (PBS) is a separate, purpose-built application designed specifically for storing and managing backups from Proxmox VE hosts. Unlike simply dumping full backup files to a shared storage location, PBS uses incremental, deduplicated, and compressed backups, dramatically reducing both storage space and backup time compared to full VM image backups taken repeatedly.

Why Use PBS Instead of Built-In Backups

  • Deduplication – identical data blocks across multiple VM backups are stored only once, saving significant disk space
  • Incremental backups – after the first full backup, subsequent backups only transfer changed data blocks, making them much faster
  • Centralized management – one PBS instance can receive backups from multiple Proxmox VE nodes or clusters
  • Client-side encryption – backups can be encrypted before ever leaving the source node, useful if storing backups on less-trusted remote storage
  • Built-in verification – PBS can automatically verify backup integrity on a schedule, catching corruption before you actually need to restore

Installing Proxmox Backup Server

PBS can run as a dedicated physical machine, or more commonly in a homelab, as a VM within your existing Proxmox VE cluster (ideally with its backup storage on separate physical disks from the VMs it protects, to avoid a single point of failure).

  1. Download the PBS ISO from the official Proxmox website.
  2. Create a new VM in Proxmox VE, allocating at least 2 CPU cores, 2GB RAM, and adequate storage for your backup needs.
  3. Boot the VM from the PBS ISO and follow the installer, which is similar to the Proxmox VE installation process.
  4. Once installed, access the PBS web interface at https://pbs-ip:8007.

Creating a Datastore

Inside the PBS web interface:

  1. Go to Datastore → Add Datastore.
  2. Choose a name and the storage path where backups will be kept.
  3. Configure a Prune Schedule to automatically remove old backups based on retention rules (e.g., keep 7 daily, 4 weekly, 6 monthly).

Connecting Proxmox VE to PBS

On your existing Proxmox VE host(s):

  1. Go to Datacenter → Storage → Add → Proxmox Backup Server.
  2. Enter the PBS server’s address, the datastore name, and authentication credentials (an API token is recommended over using the root password directly).
  3. Save the configuration.

Setting Up Backup Jobs Pointing to PBS

With PBS added as a storage target, configure your backup jobs in Proxmox VE (Datacenter → Backup → Add) exactly as you would for local storage, but select the PBS datastore as the destination instead. From this point forward, backups automatically benefit from deduplication and incremental transfers.

Restoring from PBS

Restoring a VM is done the same way as restoring from any other Proxmox backup storage — select the backup from the PBS datastore under a VM’s Backup tab and choose Restore. PBS’s efficient storage doesn’t add complexity to the restore process itself.

Verifying Backup Integrity

Schedule regular verification jobs within PBS (Datastore → Verify Jobs) to periodically check that stored backup chunks haven’t become corrupted, catching problems long before an actual restore is needed.

Final Thoughts

Setting up a dedicated Proxmox Backup Server brings genuinely enterprise-grade backup capabilities — deduplication, incremental backups, and integrity verification — to even a modest homelab setup. For anyone running more than a single Proxmox node, or simply wanting more efficient, space-saving backups than the built-in scheduler provides, PBS is a worthwhile addition to the overall backup strategy.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *