Proxmox Backup Server

In this post we'll take a look at the Proxmox Backup Server (PBS) which is one of the open-source projects made by Proxmox and it has (obviously) a tight integration with Proxmox Virtual Environment (PVE) servers.

In my lab environment I have both a PVE cluster as well as a standalone PVE host which we'll connect to the PBS to get some backups started.

First of let's deploy our backup server.

Deploy Proxmox Backup Server

Proxmox Backup Server (PBS) consists of a server installation which can be done on bare-metal or as a virtual appliance. We'll fetch the latest ISO file from the Proxmox downloads site

At the time of writing the latest version of PBS is 4.2 and is the version used in this post

The requirements for PBS are detailed here. For a production system they recommend minimum 4 CPU cores and 4 GiB for the OS and the PBS daemons, and atleast one additional GiB per TiB backup storage.

In my lab environment I'm deploying PBS on a 2 vCPU and 4 GiB RAM virtual machine.

Next, either boot a bare-metal host or a virtual machine on the ISO to start the installation. The installation is very similar to the one for Proxmox VE where we enter details around the locale, storage and network and then let the installer run through.

After the installation is finished the PBS UI should be available on it's IP address and port 8007. Let's log in with the root user and the password set during the installation.

Run upgrade

The first thing we'll do after logging in is to switch from the Enterprise repo to the No-subscription repo. Or, if you have a license key, add the key so that we can utilize the repo.

Change software repository

Now let's refresh and run through any updates so we make sure we're on the latest version.

PBS upgrades after installation

Now might be a good time to reboot.

Create user for connecting to PBS

We'll create a specific user for connections and backup jobs

Backup user

The user would also need permissions on the backup server

Backup user permissions

Mount nfs share to folder on PBS host

As backup storage I'm using a folder shared from a NAS through NFS. This needs to be mounted on the PBS server.

First we'll create a directory for it on the PBS server

1mkdir /<path-on-pbs>

In the /etc/fstab file on the PBS host we'll add a line for mounting the NFS share at boot nfs-host-ip:/<path>/<on>/<nfs-host> /<path-on-pbs> nfs

1root@pbs-1:~# cat /etc/fstab 
2# <file system> <mount point> <type> <options> <dump> <pass>
3/dev/pbs/root / ext4 errors=remount-ro 0 1
4/dev/pbs/swap none swap sw 0 0
5proc /proc proc defaults 0 0
6192.168.1.251:/volume3/pbs-1-bck /mnt/rnas2 nfs

Then we'll run mount -a and take a look at the mounts to verify that our NFS mount is present

Mounts on the PBS server

Now we can go ahead and add this as a datastore in PBS

Add datastore

Note that the directory added needs to be empty

After a while the datastore should be ready

Datastore ready

Test backup from PVE

Now we're ready to test a backup from a Proxmox VE host.

What might come as a surprise if you're new to Proxmox is that the backup server it self is not running the backup jobs, and is not responsible for initiating them either.

The backup job configuration is set from the PVE side. So no centralized backup job configuration if you have multiple PVE clusters or hosts to backup.

Before running a backup job we'll need to add PBS as a storage object in PVE. This is done from the Datacenter view

Initiate PBS wizard in PVE

Fill in the details for the PBS server and click Add

PBS connection details

And that's it. Now we are ready to start a backup job of a virtual machine in Proxmox

Start backup job in PVE

After a while the backup job should finish

Job finished

And it's visible over at PBS

Backup visible in PBS

Schedule backup jobs

Now, the next step would be to schedule a job for one or more VMs. Since we started the job from the VM one might think that one could schedule a backup also, but this feature is not available from the VM view.

For scheduling we'll have to go to the Datacenter view and select Backup

Datacenter backup view

From here we're able to schedule a backup job of one or more VMs

Schedule backup job

After creating a schedule we can check the details of the job

Backup job scheduled

Testing restore

Obviously, we'll also have to test a restore. We have a VM with a backup performed already.

VM with backup job

Now, let's add a file to it and run a new backup. Since backups are incremental it should be quite fast.

File added to VM

Incremental backup completed

After verifying that this backup has run, let's delete the file.

Delete file in VM

With the file gone, let's test a restore of the last successful backup. Note that the VM should be turned off at this point.

Restore VM

Instead of restoring the full VM just for one file, we'll could make use of the File level restore functionality. This will let us download the file locally.

File level restore

With the restore complete we can start the VM

Restore complete

And now let's verify that the file is back

File is back in the virtual machine

Summary

This post has been a fairly quick walkthrough of basic backup/restore functionality with Proxmox VE and the Proxmox Backup Server. Actually most of the backup / restore stuff is happening in PVE, and we could've used local storage for that. Proxmox Backup Server acts more as a backup target, while there's obviously features like validation, protection and more which for many organizations should be something to consider.

Proxmox Backup Server is free as PVE is, but to get support, and validated updates, a subscription is needed which I believe most will do when running this in production.

In upcoming posts we will take a closer look at more of the functionalities in PBS.

This page was modified on May 20, 2026: Add pbs post