PBS replication (Proxmox Backup Server) consists of automatically synchronizing your backups between two remote PBS servers. It is the essential building block of a 3-2-1 strategy: your backups exist on two geographically separated sites, protecting you against a local disaster (fire, ransomware, hardware failure).
This guide covers two concrete scenarios: replication with NimbusBackup (on request to support) and replication between your own PBS instances using push and pull modes — including if you are a NimbusBackup customer with DatastoreAdmin rights. Whether you are looking to configure a PBS sync remote or understand the difference between PBS pull vs push, you are in the right place.
Table of Contents
1. How Proxmox Backup Server replication works
Proxmox Backup Server natively includes a sync remote mechanism that allows copying snapshots from one datastore to another PBS. Replication is incremental: only modified chunks are transferred, thanks to PBS native deduplication. This significantly reduces the required bandwidth.
PBS terminology: a Remote refers to the authenticated connection to another PBS. A Sync Job is the scheduled task that copies snapshots via this remote. Together, they form PBS replication.
Push mode (sync)
The source PBS sends its backups to the remote PBS. The PBS that receives backups from your PVE nodes initiates the transfer.
Pull mode (sync)
The remote PBS pulls backups from the source PBS. The destination PBS initiates the synchronization.
In both cases, the transfer uses the native PBS protocol on port 8007 (HTTPS). Data is encrypted in transit and deduplication works on both the source and destination sides.
2. Replication with NimbusBackup (on request)
If you are a NimbusBackup customer with multiple PBS plans (for example a Double Drive PBS, or a combination of two separate plans), you can benefit from replication between your datastores.
Default architecture
By default, your Proxmox VE servers send their backups directly to each of your PBS instances. There is no automatic sync job between PBS instances: each PBS receives its backup independently from your PVE nodes.
Enable replication between your PBS instances
By default, each PBS receives its backups directly from your PVE nodes. If you want to add synchronization between your two PBS instances, two options are available depending on your access level:
DatastoreBackup access
This is the default access level on your NimbusBackup PBS instances.
Open a support ticket with RDEM Systems. We configure the sync job for you (pull mode recommended), schedule the synchronization and enable monitoring.
Contact supportDatastoreAdmin access
On request, you can obtain admin rights on your PBS instances.
You can configure replication yourself by following the instructions in section 3, or ask support to set it up for you via a ticket.
See the configuration guideWhich plan combination? Replication works between any combination of two NimbusBackup PBS plans. For example: a Single Drive PBS on site 1 and an AirGapped Drive PBS on site 2, or two Single Drive PBS on two different sites. The Double Drive PBS plan natively includes two datastores on two sites.
Concrete example: combining LTO archival and air-gap
Result: your Proxmox VMs are backed up on two independent sites. Site 1 provides long-term archival on magnetic tape, site 2 offers total physical isolation (air-gap). Pull mode synchronization is enabled on request to support — site 2 pulls backups from site 1, without site 1 having any knowledge of site 2. This combination provides LTO durability, air-gap isolation and replica confidentiality.
Monitoring your backups
By default, your NimbusBackup account has DatastoreBackup access: you can back up and restore, but you cannot see the sync jobs in the PBS interface. To check the status of your backups and replication, log in to your client portal:
Client portal:
Dashboard with the status of your services, backups and replications.
3. Replication between your PBS instances (admin)
If you have administrator rights on your PBS instances — whether your own servers or a NimbusBackup PBS with the DatastoreAdmin option — you can configure PBS replication yourself. Two modes are available: push (send) and pull (fetch).
Prerequisites
- Two PBS servers installed and operational (version 3.x or higher)
- Admin access (root or user with DatastoreAdmin + Remote.Audit privileges)
- Network connectivity between both PBS instances on port 8007/tcp
- A configured datastore on each PBS with sufficient space
3.1 Push mode: the source PBS sends to the remote PBS
In push mode, the PBS that receives backups from your PVE nodes initiates the send to the remote PBS. This mode is suitable when the source PBS has outbound network access to the destination.
Data flow:
Step 1: Create the Remote on the source PBS
On the source PBS, add the connection to the remote PBS:
# Add the remote to the distant PBS
proxmox-backup-manager remote add pbs-distant \
--host pbs-distant.example.com \
--auth-id sync-user@pbs \
--password
# Verify the connection
proxmox-backup-manager remote listVia the web interface: Configuration → Remotes → Add. Enter the host, user and password (or API token).
Step 2: Create the Sync Job in Push mode
Still on the source PBS, create a sync job:
# Create a push sync job
proxmox-backup-manager sync-job create push-to-distant \
--store local-datastore \
--remote pbs-distant \
--remote-store distant-datastore \
--schedule "0/6:00" \
--remove-vanished true
# Schedule "0/6:00" = every 6 hours
# --remove-vanished true = removes snapshots
# that no longer exist on the sourceVia the web interface: Datastore → your-datastore → Sync Jobs → Add Sync Job. Select the remote, the remote datastore, and the schedule.
Step 3: Create the user on the remote PBS
On the remote PBS, create a user with minimal permissions:
# Create a dedicated replication user
proxmox-backup-manager user create sync-user@pbs \
--comment "User for PBS replication from source"
# Set the password
proxmox-backup-manager user update sync-user@pbs --password
# Grant DatastoreBackup permissions on the remote datastore
proxmox-backup-manager acl update /datastore/distant-datastore \
DatastoreBackup --auth-id sync-user@pbsStep 4: Test and validate
# Manually run the sync job
proxmox-backup-manager sync-job run push-to-distant
# Check the logs
journalctl -u proxmox-backup-proxy -f | grep sync3.2 Pull mode: the remote PBS pulls from the source PBS
In pull mode, the destination PBS initiates the connection to the source PBS to retrieve backups. This mode is recommended by RDEM Systems because it offers better security: even if the primary backup is compromised, the attacker has no knowledge of the existence of other backups nor any path to the replication PBS.
Data flow:
Step 1: Create the user on the source PBS
On the source PBS, create a read-only user for the pull:
# Create a read-only user
proxmox-backup-manager user create sync-reader@pbs \
--comment "Read-only user for PBS pull replication"
# Set the password
proxmox-backup-manager user update sync-reader@pbs --password
# Grant DatastoreReader only
proxmox-backup-manager acl update /datastore/local-datastore \
DatastoreReader --auth-id sync-reader@pbsSecurity: in pull mode, the remote PBS only needs read access on the source PBS. Even if the remote PBS is compromised, the attacker cannot delete your backups on the source PBS. Conversely, a compromise of the source PBS reveals no information about the replication PBS — the source PBS does not even know it exists.
Step 2: Create the Remote on the remote PBS
On the remote PBS, add the connection to the source PBS:
# Add the remote to the source PBS
proxmox-backup-manager remote add pbs-source \
--host pbs-source.example.com \
--auth-id sync-reader@pbs \
--password
# Verify
proxmox-backup-manager remote listStep 3: Create the Sync Job in Pull mode
On the remote PBS, create the sync job:
# Create a pull sync job
proxmox-backup-manager sync-job create pull-from-source \
--store distant-datastore \
--remote pbs-source \
--remote-store local-datastore \
--schedule "0/6:00" \
--remove-vanished true
# Manually run to test
proxmox-backup-manager sync-job run pull-from-sourceVia the web interface: on the remote PBS, Datastore → distant-datastore → Sync Jobs → Add Sync Job. Select the remote "pbs-source", the source store, and the schedule.
Step 4: Validate the replication
# Verify that snapshots have arrived
proxmox-backup-manager snapshot list distant-datastore
# Verify integrity
proxmox-backup-manager verify distant-datastoreNimbusBackup customer: we can configure our PBS in pull mode from your own PBS, provided it is accessible on the Internet (port 8007). Contact support to discuss.
4. PBS Pull vs Push: which mode to choose?
| Criteria | Push | Pull |
|---|---|---|
| Who initiates the transfer? | Source PBS | Remote PBS |
| Rights required on the source | DatastoreRead (local read) | DatastoreReader (read-only) |
| Rights required on the destination | DatastoreBackup (remote write) | DatastoreBackup (local write) |
| Security if the destination is compromised | Medium — the source actively pushes | Strong — read-only access on the source |
| Security if the source is compromised | Medium — the source knows the destination | Strong — the source is unaware of the replica |
| Firewall | Source → Dest (outbound) | Dest → Source (outbound) |
| Typical use case | The source site controls the send | The DR site controls the reception |
| RDEM Systems recommendation | When the destination is not administrable | Recommended |
Our recommendation: prefer pull mode. The disaster recovery site controls the synchronization and only needs read-only access on the source PBS. If the source PBS is compromised, the attacker discovers no path to the replica — the source PBS simply has no knowledge of the remote copy's existence.
5. PBS replication best practices
Scheduling
- Schedule replication after PVE backup jobs complete
- Recommended frequency: every 6 to 12 hours
- Avoid continuous replication to prevent bandwidth saturation
Security
- Use dedicated accounts with minimal privileges
- Prefer API tokens over passwords
- Enable client-side encryption (encryption key) so data remains encrypted even in transit
Storage
- Plan for the same amount of space on source and destination (PBS deduplication is local)
- Configure retention (prune) independently on each PBS
- Monitor disk space with alerts
Verification
- Run a regular verify job on the destination datastore
- Periodically test a full restore from the DR site
- Monitor sync logs to detect failures
Useful monitoring commands
# List all sync jobs
proxmox-backup-manager sync-job list
# View status of a sync job
proxmox-backup-manager sync-job status push-to-distant
# List configured remotes
proxmox-backup-manager remote list
# Verify integrity of replicated backups
proxmox-backup-manager verify <datastore>
# View space used per datastore
proxmox-backup-manager datastore list6. FAQ — PBS Replication
PBS replication managed by NimbusBackup
Don't want to manage replication yourself? Combine two NimbusBackup PBS plans (e.g. Double Drive PBS, or a Single Drive + an AirGapped Drive) and ask support to enable synchronization. 24/7 monitoring included.
