Remote backup storage¶
Percona Backup for MongoDB supports the following types of remote backup storages:
S3-compatible storage
Filesystem type storage
Microsoft Azure Blob storage
S3 compatible storage
Percona Backup for MongoDB should work with other S3-compatible storages but was only tested with the following ones:
As of v1.3.2, Percona Backup for MongoDB supports server-side encryption for S3 buckets with customer managed keys stored in AWS KMS.
Remote Filesystem Server Storage
This storage must be a remote fileserver mounted to a local directory. It is the responsibility of the server administrators to guarantee that the same remote directory is mounted at exactly the same local path on all servers in the MongoDB cluster or non-sharded replica set.
Warning
Percona Backup for MongoDB uses the directory as if it were any normal directory, and does not attempt to confirm it is mounted from a remote server. If the path is accidentally a normal local directory, errors will eventually occur, most likely during a restore attempt. This will happen because pbm-agent processes of other nodes in the same replica set can’t access backup archive files in a normal local directory on another server.
Local Filesystem Storage
This cannot be used except if you have a single-node replica set. (See the warning note above as to why). We recommend using any object store you might be already familiar with for testing. If you don’t have an object store yet, we recommend using MinIO for testing as it has simple setup. If you plan to use a remote filesytem-type backup server, please see the Remote Filesystem Server Storage above.
Microsoft Azure Blob Storage
As of v1.5.0, you can use Microsoft Azure Blob Storage as the remote backup storage for Percona Backup for MongoDB.
This gives users a vendor choice. Companies with Microsoft-based infrastructure can set up Percona Backup for MongoDB with less administrative efforts.
Example config files¶
Provide the remote backup storage configuration as a YAML config file. The following are the examples of config fles for supported remote storages. For how to insert the config file, see Insert the whole Percona Backup for MongoDB config from a YAML file.
S3-compatible remote storage
Amazon Simple Storage Service
storage:
type: s3
s3:
region: us-west-2
bucket: pbm-test-bucket
prefix: data/pbm/backup
credentials:
access-key-id: <your-access-key-id-here>
secret-access-key: <your-secret-key-here>
serverSideEncryption:
sseAlgorithm: aws:kms
kmsKeyID: <your-kms-key-here>
GCS
storage:
type: s3
s3:
region: us-east1
bucket: pbm-testing
prefix: pbm/test
endpointUrl: https://storage.googleapis.com
credentials:
access-key-id: <your-access-key-id-here>
secret-access-key: <your-secret-key-here>
MinIO
storage:
type: s3
s3:
endpointUrl: "http://localhost:9000"
region: my-region
bucket: pbm-example
prefix: data/pbm/test
credentials:
access-key-id: <your-access-key-id-here>
secret-access-key: <your-secret-key-here>
Remote filesystem server storage
storage:
type: filesystem
filesystem:
path: /data/local_backups
Microsoft Azure Blob Storage
storage:
type: azure
azure:
account: <your-account>
container: <your-container>
prefix: pbm
credentials:
key: <your-access-key>
For the description of configuration options, see Configuration file options.