Hey Guys
How do you configure Percona Backup for MongoDB to backup to multiple s3 buckets at different schedules?
We currently use strata with mongodb 3.4. Since strata does not work with mongodb 3.6+ because the rocksdb storage engine was removed, we had to investigate other backup options. It looks like Percona Backup for MongoDB is the only option around for mongodb 3.6+.
With strata, we used to have several s3 backup locations to achieve the following goals:
- different backup schedules: half hourly, daily, monthly
- different backup retention periods: 1 month for half hourly backups, several months for daily backups, several years for monthly backups
- different backup regions: us, europe
- different aws cloud accounts on different credit cards
With Percona Backup for MongoDB, none of this seems possible. I have tried the following:
- different backup config on different nodes
- separate pbm db user accounts used by different db nodes specified through --mongodb-uri command line argument
- separate auth databases for those pbm db user accounts
Subsequent “pbm config” command line calls from different nodes all seem to modify the same config. i.e. calling the “pbm config” command from node2 with pbm_config2.yaml pointing to s3Bucket2 and pbmUser2 would lead to node1 also pointing to s3Bucket2.
Can anyone from Percona or anyone from the community think of any way to set up multiple backup schedules to different s3 buckets?
I should mention our strata backups are all incremental backups. So they are fairly quick to do. The storage size across all our dbs using the rocksdb storage engine is 1.2tb. The half hourly job takes 5-10 minutes to run with an incremental size of 5-10gb. The monthly job takes around 1-3 hours to run with an incremental size of 100-500gb.
I wonder how all this would work with Percona Backup for MongoDB. Has anyone taken this solution to production? Apart from the standard setup described in the Percona Backup for Mongodb docs, what other kinds of contingency have people in the community put in place for their production environments?
Thanks