Set Up Backups on a Proxmox VE Host
Add your hosted PBS datastore as backup storage in Proxmox VE.
This guide shows how to connect a Proxmox VE host or cluster to your hosted Proxmox Backup Server datastore.
Before you start
You need:
- Access to the Proxmox VE web interface as a user that can manage storage.
- Your PBS server, datastore, username and password or API token.
- The PBS TLS fingerprint if the PBS certificate is not trusted by your PVE host.
- The namespace value if your service uses one.
Port 8007 must be reachable from every PVE node that will create or restore backups.
Optional: get the TLS fingerprint
If the fingerprint was not provided in your service details, you can read it from the PBS certificate:
openssl s_client -connect pbs.example.com:8007 -servername pbs.example.com </dev/null 2>/dev/null | openssl x509 -noout -fingerprint -sha256Replace pbs.example.com with your PBS server hostname.
Add PBS storage in the PVE web interface
- Log in to the Proxmox VE web interface.
- Open
Datacenter. - Go to
Storage. - Click
Add. - Select
Proxmox Backup Server. - Fill in the storage details.
Use these values:
| Field | Value |
|---|---|
| ID | A local name, for example nc-pbs |
| Server | Your PBS server hostname or IP |
| Username | Your PBS user, for example customer@pbs |
| Password | Your PBS password or API token secret |
| Datastore | Your hosted datastore name |
| Fingerprint | The SHA-256 TLS fingerprint |
| Namespace | Optional, only if your service provides one |
| Content | VZDump backup file or backup |
If you use a PBS API token, the username format is usually user@realm!token-name and the password field contains the token secret.
Click Add to save the storage.
Add PBS storage with the CLI
You can also add the storage from a PVE node shell:
pvesm add pbs nc-pbs \
--server pbs.example.com \
--datastore customer-datastore \
--username 'customer@pbs' \
--password 'your-password-or-token-secret' \
--fingerprint 'SHA256:FINGERPRINT' \
--content backupIf your service uses a namespace, add it to the command:
--namespace pveVerify the storage
Run this on a PVE node:
pvesm statusThe new PBS storage should appear with type pbs and an active status.
You can also open Datacenter > Storage in the PVE web interface and confirm the storage is enabled.
Run a test backup
- Open a VM or container in Proxmox VE.
- Go to
Backup. - Click
Backup now. - Select the PBS storage ID you created.
- Choose the backup mode and compression settings.
- Start the backup and wait for it to complete.
After the backup completes, open the PBS web interface and confirm that a new vm/<id> or ct/<id> snapshot exists in your datastore.
Create a backup schedule
- Open
Datacenter. - Go to
Backup. - Click
Add. - Select the PBS storage.
- Choose the VMs or containers to include.
- Set the schedule and retention settings.
- Save the job.
Keep retention in Proxmox VE unless you have a specific reason to prune manually in PBS.
Restore from PBS
To restore a VM or container:
- Open the VM or container in Proxmox VE.
- Go to
Backup. - Select the PBS storage.
- Select the snapshot.
- Click
Restore.
Restoring a VM or container can overwrite existing data. Review the restore target before confirming.
Optional: client-side encryption
Proxmox VE can use client-side encryption for PBS backups. If you enable it, the PBS server stores encrypted backup data and cannot restore it without your key.
Store the encryption key securely. If the key is lost, encrypted backups cannot be restored.
Troubleshooting
Storage cannot be added
- Check that port
8007is reachable from the PVE node. - Confirm the PBS server hostname resolves correctly.
- Confirm the fingerprint matches the PBS certificate.
- Check that the datastore name is typed exactly as provided.
Authentication fails
- Confirm the username includes the correct realm, for example
customer@pbs. - If using an API token, use
user@realm!token-nameas the username. - Confirm the password field contains the API token secret, not the token name.
Backup starts but fails
- Check the PVE task log for the backup job.
- Check the PBS task log for the matching upload task.
- Confirm the datastore or namespace has enough free space.
- Confirm your PBS user or token has backup permissions for the datastore or namespace.