Migrating PBS: Syncing to Another Server

Altup

New Member
Mar 5, 2025
1
0
1
Hello everyone,

I have a few questions for which I haven’t found precise answers, and I’d like to clear up any doubts.

Context:
We have two separate backup servers, each with its own datastore. Server A is a fallback server used in case of an issue with Server B. We store the last three months of backups on Server A. However, Server B does not have enough storage to retrieve everything stored on A.

I would like to free up some space on B, and I’m wondering if, after cleanup, a simple synchronization would be enough to ensure the restoration of any virtual machine backup.

For example: if I delete all backups of a VM, would I be able to restore it using just a single backup, no matter which one? From what I understand, each backup is incremental and not differential. Based on this logic, I should be able to restore my VM from any backup. Am I correct?

Before making this switch, we will of course run a synchronization task where Server B retrieves the data from A. During this synchronization, the chunks are properly transferred, so there should theoretically be no issues.

I’m not sure if I’ve been clear enough, but thank you to those who take the time to respond.

Best regards,
 
Hello everyone,

I have a few questions for which I haven’t found precise answers, and I’d like to clear up any doubts.

Context:
We have two separate backup servers, each with its own datastore. Server A is a fallback server used in case of an issue with Server B. We store the last three months of backups on Server A. However, Server B does not have enough storage to retrieve everything stored on A.

I would like to free up some space on B, and I’m wondering if, after cleanup, a simple synchronization would be enough to ensure the restoration of any virtual machine backup.

For example: if I delete all backups of a VM, would I be able to restore it using just a single backup, no matter which one? From what I understand, each backup is incremental and not differential. Based on this logic, I should be able to restore my VM from any backup. Am I correct?

Before making this switch, we will of course run a synchronization task where Server B retrieves the data from A. During this synchronization, the chunks are properly transferred, so there should theoretically be no issues.

I’m not sure if I’ve been clear enough, but thank you to those who take the time to respond.

Best regards,

✅ Understanding Proxmox Backup Mechanism:
  • Proxmox Backup Server (PBS) uses deduplicated incremental backups, meaning that backups share common chunks.
  • Deleting one backup may remove chunks that other backups depend on, making restoration impossible if those chunks are missing.
  • Each backup is not independent (unlike full backups in traditional systems).
✅ Will Synchronization from Server A to B Ensure Restore?
  • If all required chunks exist on Server B after synchronization, the VM can be restored successfully.
  • However, if some chunks are missing (because they were deleted from B after cleanup), the backup will be incomplete and restoration may fail.
Recommended Approach:
  1. Ensure a full sync of required backups from Server A to B before deleting any data.
  2. Use the proxmox-backup-manager tool to verify that all chunks required for a restore exist.
  3. Consider keeping at least one full backup to prevent missing data issues.
Conclusion: If Server B has all necessary chunks after synchronization, restoration will work. But deleting incremental backups without ensuring chunk availability can cause restore failures.

I hope this answer will be helpful :)
 
Deleting one backup may remove chunks that other backups depend on, making restoration impossible if those chunks are missing.
False, deleting backups delete only "index" of chunks.
Only Garbage Collecte will delete chunks no more used by any "index" of backups.

Consider keeping at least one full backup to prevent missing data issues.
There is no full backup with PBS, they are all full.
But data stored in chunked are shared between all backups.
Backups are mandatory deduplicated which store same data only once. so if 1 chunk is corrupt, all backups using this chunk are corrupt too. corrupted chunk can be recreated with next backup, if data exist on backup source.
(sorry for my english)
 
✅ Understanding Proxmox Backup Mechanism:
  • Proxmox Backup Server (PBS) uses deduplicated incremental backups, meaning that backups share common chunks.
  • Deleting one backup may remove chunks that other backups depend on, making restoration impossible if those chunks are missing.
  • Each backup is not independent (unlike full backups in traditional systems).
✅ Will Synchronization from Server A to B Ensure Restore?
  • If all required chunks exist on Server B after synchronization, the VM can be restored successfully.
  • However, if some chunks are missing (because they were deleted from B after cleanup), the backup will be incomplete and restoration may fail.
Recommended Approach:
  1. Ensure a full sync of required backups from Server A to B before deleting any data.
  2. Use the proxmox-backup-manager tool to verify that all chunks required for a restore exist.
  3. Consider keeping at least one full backup to prevent missing data issues.
Conclusion: If Server B has all necessary chunks after synchronization, restoration will work. But deleting incremental backups without ensuring chunk availability can cause restore failures.

I hope this answer will be helpful :)

This is not correct, PBS uses garbage collection to determine which chunks are still referenced by a backup snapshot, not removing any of these. All of the backup snapshots can therefore be considered as independent, you can prune previous snapshots without affecting following ones.
 
I sincerely apologize for the incorrect information in my previous response. I mistakenly stated that Proxmox Backup Server (PBS) backups depend on shared chunks, but as clarified, PBS uses garbage collection to ensure each snapshot remains independent. Thank you for the correction, and I appreciate the opportunity to learn and improve.
 
  • Like
Reactions: _gabriel
Hello everyone,

I have a few questions for which I haven’t found precise answers, and I’d like to clear up any doubts.

Context:
We have two separate backup servers, each with its own datastore. Server A is a fallback server used in case of an issue with Server B. We store the last three months of backups on Server A. However, Server B does not have enough storage to retrieve everything stored on A.

So your storage constraints is on your main server A, I assume therefore syncing off snapshots to B and then pruning more aggressively?

I would like to free up some space on B, and I’m wondering if, after cleanup, a simple synchronization would be enough to ensure the restoration of any virtual machine backup.

You can clean up snapshots on B, but if they are not also present on A, they will be gone. For remaining snapshots on B you can simply sync them back to A via a sync job, yes. Sync jobs allow also to defined various parameters such as group filters and synchronize only the last n snapshots, so you might find that useful in you storage constrained environment.

For example: if I delete all backups of a VM, would I be able to restore it using just a single backup, no matter which one? From what I understand, each backup is incremental and not differential. Based on this logic, I should be able to restore my VM from any backup. Am I correct?

Yes, each snapshot is independent, you can restore or prune each individually without affecting others.

Before making this switch, we will of course run a synchronization task where Server B retrieves the data from A. During this synchronization, the chunks are properly transferred, so there should theoretically be no issues.

If you sync from site A to site B and then prune on site A, the snapshots and their chunks will be still available on site B, yes.

I’m not sure if I’ve been clear enough, but thank you to those who take the time to respond.

Best regards,
Hope this helps!
 
Last edited:
I sincerely apologize for the incorrect information in my previous response. I mistakenly stated that Proxmox Backup Server (PBS) backups depend on shared chunks, but as clarified, PBS uses garbage collection to ensure each snapshot remains independent. Thank you for the correction, and I appreciate the opportunity to learn and improve.
For further details on this have a look at the following chapter and the subsequent one: https://pbs.proxmox.com/docs/backup-client.html#pruning-and-removing-backups
Also, some technical details might be of interest: https://pbs.proxmox.com/docs/technical-overview.html