PBS questions

ksl28

Member
Aug 31, 2023
38
5
13
Hey everyone,


Looking at migrating from Veeam to PBS and have a few questions:


1. Disaster recovery without the backup server
If my PBS server dies, can I spin up a new PBS instance and import existing backup repositories to restore from them? (Like how Veeam lets you import backups from any VBR server)


2. Offsite replication with encryption
Can PBS copy backups to a secondary location while adding encryption? I have local S3 storage (unencrypted) and want to replicate to another S3 provider with encryption.


3. Configuration backup
Does PBS have a way to backup/restore the server configuration (jobs, settings, metadata) so I can rebuild the PBS server if needed?

What i am most worried about, is missing some step, that means my entire backup is useless because i forgot to copy some index file or so.
And then the encryption at the secondary location.


Thanks!
 
2. Offsite replication with encryption
Can PBS copy backups to a secondary location while adding encryption? I have local S3 storage (unencrypted) and want to replicate to another S3 provider with encryption.

 
  • Like
Reactions: Johannes S
1. Disaster recovery without the backup server
If my PBS server dies, can I spin up a new PBS instance and import existing backup repositories to restore from them? (Like how Veeam lets you import backups from any VBR server)

Yes, that's the idea. It's however recommended to install PBS barebones on a physical server so you don't need a running hypervisor for recovery.
See here: https://forum.proxmox.com/threads/migrating-pbs-to-new-server-re-adding-datastore.157159/

2. Offsite replication with encryption
Can PBS copy backups to a secondary location while adding encryption? I have local S3 storage (unencrypted) and want to replicate to another S3 provider with encryption.

It depends, at the moment (see the references from Dunuin) not for S3, but for PBS native datastores (which are faster for backups in your lan anyway) on a local disc. So the idea would be to have a second PBS at an offsite location and setup a sync job to sync your locally encrypted datastores to the offsite PBS: https://pve.proxmox.com/wiki/Storage:_Proxmox_Backup_Server#storage_pbs_encryption
For sync jobs see here: https://pbs.proxmox.com/docs/managing-remotes.html
Important: If you combine a pull-sync (the remote PBS pulls from the local PBS) and you restrict the access to the remote PBS with a firewall and tight permissions you can achieve ransomware protection that way: https://pbs.proxmox.com/docs/storage.html#ransomware-protection-recovery
Another option might be to use the S3-storage providers internal access control and protection mechanisms.

However I noticed that the PVE wiki mentions that it's possible to have client-level encyprtions right from the first backup from your ProxmoxVE to ProxmoxBackupServer (see here: https://pve.proxmox.com/wiki/Storage:_Proxmox_Backup_Server#storage_pbs_encryption )
In my understanding this means, that as soon as your backup was encrypted on the client it will be synced encrypted to anything else (be it a local or remote PBS or a S3 datastore). I asked developer @Chris to clarify:


Indeed this is how it works, so you could start with encryptions right from the start and it will be encrypted on your s3-storage too:



3. Configuration backup
Does PBS have a way to backup/restore the server configuration (jobs, settings, metadata) so I can rebuild the PBS server if needed?

As far I know it should be sufficient to backup the /etc/ folder with a backup tool of your choice (in theory even the proxmox-backup-client for backing up to a PBS would work, but I would use something different like rsnapshot, restic or even zfs snapshots with zfs send/receive so I don't need a working PBS to get a working PBS). But since the PBS default install doesn't need much space I would propably go with a backup of the whole PBS OS disc. Another option (if you run PBS as a VM) could be to use ProxmoxVEs native backup feature to a NFS share or something similiar, since that doesn't need a working PBS for backup and restore. Of course this counterdicts the recommendation for a baremetal PBS, pick your poison ;)
 
Last edited:
  • Like
Reactions: UdoB
Yes, that's the idea. It's however recommended to install PBS barebones on a physical server so you don't need a running hypervisor for recovery.
See here: https://forum.proxmox.com/threads/migrating-pbs-to-new-server-re-adding-datastore.157159/



It depends, at the moment (see the references from Dunuin) not for S3, but for PBS native datastores (which are faster for local backups anyway) on a local disc. So the idea would be to have a second PBS at an offsite location and setup a sync job to sync your locally encrypted datastores to the offsite PBS: https://pve.proxmox.com/wiki/Storage:_Proxmox_Backup_Server#storage_pbs_encryption
For sync jobs see here: https://pbs.proxmox.com/docs/managing-remotes.html
Important: If you combine a pull-sync (the remote PBS pulls from the local PBS) and you restrict the access to the remote PBS with a firewall and tight permissions you can achieve ransomware protection that way: https://pbs.proxmox.com/docs/storage.html#ransomware-protection-recovery
Another option might be to use the S3-storage providers internal access control and protection mechanisms.

However I noticed that the PVE wiki mentions that it's possible to have client-level encyprtions right from the first backup from your ProxmoxVE to ProxmoxBackupServer (see here: https://pve.proxmox.com/wiki/Storage:_Proxmox_Backup_Server#storage_pbs_encryption )
In my understanding this means, that as soon as your backup was encrypted on the client it will be synced encrypted to anything else (be it a local or remote PBS or a S3 datastore). I asked developer @Chris to clarify:


Indeed this is how it works, so you could start with encryptions right from the start and it will be encrypted on your s3-storage too:





As far I know it should be sufficient to backup the /etc/ folder with a backup tool of your choice (in theory even the proxmox-backup-client for backing up to a PBS would work, but I would use something different like rsnapshot, restic or even zfs snapshots with zfs send/receive so I don't need a working PBS to get a working PBS). But since the PBS default install doesn't need much space I would propably go with a backup of the whole PBS OS disc. Another option (if you run PBS as a VM) could be to use ProxmoxVEs native backup feature to a NFS share or something similiar, since that doesn't need a working PBS for backup and restore. Of course this counterdicts the recommendation for a baremetal PBS, pick your poison ;)
Thanks a lot for this VERY DETAILED description :) Really appreciated!

It seems that its possible to map existing backup in if you edit the datastore.cfg file - i thought the dedup database was stored somewhere else - so thats nice!

Also the /etc/ folder is a good idea!


The biggest blocker is the need (correct me if i am wrong), to encrypt the backups locally, before they can be send offsite to S3.
Veeam supports encrypting them, when it sends it to a copy location (local disk, S3, etc).
Its also not possible for me, to have a secondary PBS server running at the moment - given that i use Wasabi S3 :)

Can i create a feature request on the last part somewhere?
 
  • Like
Reactions: Johannes S
Does PBS have a way to backup/restore the server configuration
PBS can back up itself... A few months ago I posted this script I found on Reddit (and modified a bit) for host backup that can be made to work on PBS. And then of course one can sync that to an off-site PBS. It just needs a few modifications for PBS, such as "/etc/pve/priv/storage/$PbsStorage.pw" and "/etc/pve" don't exist on PBS.

Backing up PVE hosts, at least, is on the PVE roadmap, but not in 9.0.

AFAIK requests are made at bugzilla.proxmox.com like bugs.
 
  • Like
Reactions: UdoB
The biggest blocker is the need (correct me if i am wrong), to encrypt the backups locally, before they can be send offsite to S3.

You don't need to do it manually, as soon as you enable it in yoru PVE instance it's done automagically. Of course you should have a copy of the key somwhere for restore ;)
Veeam supports encrypting them, when it sends it to a copy location (local disk, S3, etc).
Its also not possible for me, to have a secondary PBS server running at the moment - given that i use Wasabi S3 :)
Then I would recommend to have a local PBS (maybe with an external USB ssd as removable datastore) so you can have fast restores plus S3 as offsite backup.
Can i create a feature request on the last part somewhere?
Not needed, somebody beat you at it and posted the link in the referenced PBS release thread ;)

https://bugzilla.proxmox.com/show_bug.cgi?id=6633
 
PBS can back up itself... A few months ago I posted this script I found on Reddit (and modified a bit) for host backup that can be made to work on PBS. And then of course one can sync that to an off-site PBS. It just needs a few modifications for PBS, such as "/etc/pve/priv/storage/$PbsStorage.pw" and "/etc/pve" don't exist on PBS.
True, but then you would need a PBS to be able to restore the PBS. This is a situation I would like to avoid and thus use another backup tool for the PBS host backup. YMMV
 
True, but then you would need a PBS to be able to restore the PBS. This is a situation I would like to avoid and thus use another backup tool for the PBS host backup. YMMV
His one mentioned to use additional a remote synced pbs. So the etc-directory could be restored from there.