A Proxmox Backup Server is a stand­alone system for backing up virtual machines, con­tain­ers and physical hosts in a Proxmox en­vi­ron­ment. In this guide, you’ll learn how to install, set up and connect Proxmox Backup Server to Proxmox VE so you can integrate a reliable backup solution into your setup.

Step 1: Prepare your server hardware

Before in­stalling your Proxmox Backup Server, make sure you have the right server hardware in place. You can run Proxmox Backup Server either on physical hardware or on a virtual machine, although dedicated hardware is generally the better choice for pro­duc­tion en­vi­ron­ments.

Your system should meet these re­quire­ments:

  • CPU: A 64-bit AMD or Intel CPU with at least four cores. More cores improve backup per­for­mance.
  • Memory (RAM): At least 4 GB of RAM for the operating system, file system cache and Proxmox services, plus about 1 GB of RAM per terabyte of datastore capacity.
  • Backup storage: Fast, en­ter­prise-grade SSDs are ideal because backups involve many random read and write op­er­a­tions. If you use HDDs, consider adding a metadata cache to reduce access times.
  • Network: Multi-gigabit network in­ter­faces (NICs) help maintain stable transfer speeds under heavy load.
Dedicated Servers
Per­for­mance through in­no­va­tion
  • Dedicated en­ter­prise hardware
  • Con­fig­urable hardware equipment
  • ISO-certified data centers

Step 2: Create bootable in­stal­la­tion media

Once your hardware is ready, create bootable in­stal­la­tion media, such as a USB stick. The in­stal­la­tion media contains all the files needed to start the server from it and launch the installer. Download the latest Proxmox Backup Server ISO from the official Proxmox website. Proxmox Backup Server is usually installed as a bare-metal system for maximum per­for­mance and re­li­a­bil­i­ty.

To make the USB stick bootable, you can use Rufus on Windows. On Linux, write the ISO directly with the dd command.

Step 3: Install Proxmox Backup Server

Insert the in­stal­la­tion media and open the boot menu during startup. To do this, press the ap­pro­pri­ate function key for your system — usually F2, F12, Esc or Del.

Select the USB stick in the BIOS and start the graphical installer. Choose the target driver for in­stal­la­tion, then set your time zone, keyboard layout and root password. Enter an email address to receive system no­ti­fi­ca­tions.

After you confirm your settings, the installer completes the setup au­to­mat­i­cal­ly. When prompted, remove the in­stal­la­tion media and reboot. The system will then start into the Proxmox Backup Server en­vi­ron­ment, where you can log in from the console or web interface to continue setting up the system.

Step 4: Create a datastore

A datastore is where all backups, snapshots and archive data are stored. Each datastore cor­re­sponds to a directory or drive on your system. You can create multiple data­s­tores if you want to separate backups for different servers or clients.

Note

You can also place your datastore on a dedicated Proxmox file server. This allows multiple Proxmox hosts to store their backups in one shared network location.

You can create a datastore through the web interface or via the command line. Below, we focus on the command-line method.

First make sure the storage directory exists and is writable. For example, if an ad­di­tion­al drive is mounted at /mnt/backupdisk, check it with:

ls /mnt/backupdisk
bash

If the directory is empty, it’s ready to be used as a datastore. Create the new datastore using:

proxmox-backup-manager datastore create backups /mnt/backupdisk
bash

Here backups is the new datastore’s name and /mnt/backupdisk is the des­ti­na­tion path. Proxmox Backup Server then creates the ap­pro­pri­ate directory structure and registers the datastore in its con­fig­u­ra­tion.

To confirm every­thing was created correctly, run:

proxmox-backup-manager datastore list
bash

Your datastore is now active and ready to use.

Note

If you prefer the web interface, log in on port 8007. Go to Datastore then Add. Enter a name and directory, then save.

Step 5: Set up users and access rights

To let other systems store their backups on the server, you’ll need to create user accounts and access tokens. These handle au­then­ti­ca­tion and per­mis­sion man­age­ment.

Start by creating a dedicated user for backup purposes. This is more secure than using the default root account because it lets you control exactly which per­mis­sions the user receives:

proxmox-backup-manager user create backup@pbs
bash

This command creates a user named backup@pbs. The @pbs suffix indicates that the account belongs to the local Proxmox Backup Server realm. Next, create an API token that Proxmox VE will use to connect to the backup server. The token serves as an access key, allowing Proxmox VE to au­then­ti­cate against the backup server au­to­mat­i­cal­ly without needing to store a password:

proxmox-backup-manager token create backup@pbs backup-token --privileges DatastoreBackup,DatastoreAudit
bash

This creates a token named backup-token, with the DatastoreBackup privilege for writing backups and the DatastoreAudit privilege for reading and verifying them.

After the token is generated, Proxmox Backup Server displays both a token ID and a token value. Make sure to write both values down as you’ll need them in the next step to connect Proxmox VE to the backup server.

Step 6: Connect Proxmox VE to the backup server

To let your Proxmox VE host store backups on the backup server, you need to add it as a storage target. You can do this either through the web interface or from the command line.

Log in to your Proxmox VE server via SSH and run the following command:

pvesm add pbs pbs-backup \ 
--server <IP_BACKUP_SERVER> \ 
--datastore backups \ 
--username backup@pbs!backup-token \ 
--password 'API_TOKEN'
bash

Replace <IP_BACKUP_SERVER> with your backup server’s IP address and API_TOKEN with the token value generated in the previous step. After the command runs suc­cess­ful­ly, check the con­fig­u­ra­tion with:

pvesm status
bash

If the datastore has been in­te­grat­ed correctly, it will appear in the list of available storage. You can now run a test backup to confirm the con­nec­tion is working.

Step 7: Automate your backups

Once the con­nec­tion is working, you can schedule and automate your backups. You can set this up directly from the shell. For example, the following Cron job creates a daily backup of all VMs and con­tain­ers at 3 a.m.:

echo "0 3 ** * root /usr/sbin/vzdump --all --storage pbs-backup --mode snapshot --quiet" >> /etc/crontab
bash

This Cron entry au­to­mat­i­cal­ly creates a snapshot backup of all virtual machines and con­tain­ers every day at 3:00 a.m. on the pbs-backup storage.

You can then check the backups on the backup server under the con­fig­ured datastore (/mnt/backupdisk).

Step 8: Restore and verify backups

You can restore in­di­vid­ual backups using either the Proxmox VE client or the backup server’s command line. For example, if you want to restore a backup of a VM with the ID 100, use the following command:

proxmox-backup-client snapshot list
bash

This shows you all stored snapshots. Select the snapshot you want to restore, then start the restora­tion with:

proxmox-backup-client restore <SNAPSHOT> <DESTINATION_PATH>
bash

This command extracts the snapshot you specify from the datastore and creates a new virtual disk file from it at <DESTINATION_PATH>.

To perform regular integrity checks on your Proxmox backups, you can have the server verify snapshots au­to­mat­i­cal­ly. This ensures all data blocks are complete and error-free.

proxmox-backup-manager verify run backups
bash
Go to Main Menu