Manage Blockstore Snapshot Storage
On this page
Ops Manager can back up MongoDB databases as snapshots to one or more of the following storage options:
Another MongoDB database, called a blockstore,
As files stored on a local or network-attached file system, and/or
An S3-compatible bucket.
This tutorial covers backing up your MongoDB databases to snapshots stored in other MongoDB databases. Blockstores can exist on any MongoDB instance that Ops Manager can access.
Note
You might have issues that require you to use more than one snapshot store. These issues could include needing more capacity, localizing data, or meeting privacy regulations.
To learn how to assign snapshot stores to different data centers, see Assign Snapshot Stores to Specific Data Centers.
Prerequisites
Before creating any blockstore snapshot stores:
Ensure storage volumes with sufficient capacity to store the blockstore connected to Ops Manager. The Oplog Store doesn't need to reside on the same host as the blockstore. The Oplog Store can be created using the same replica set as the blockstore if you need to conserve storage and compute resources.
Deploy the dedicated MongoDB instance(s) to host the blockstore database.
Ensure the host running the Ops Manager Backup Daemon service has sufficient capacity to store the head database.
Secure the instance that stores your blockstores using authentication and TLS. Blockstores support
all authentication mechanisms
.
Procedures
The format of the Username and Password depend upon the authentication mechanism. Select one of the following tabs:
Add One Blockstore
Navigate to the Snapshot Storage page.
Click the Admin link.
Click the Backup tab.
(Optional) If you have not previously set the head directory, set it in the Head Directory box.
Click the Snapshot Storage page.
Provide the blockstore details.
Field | Necessity | Action | |
---|---|---|---|
Name | Required | Type a label for the blockstore. | |
Datastore Type | Required | Select Standalone, Replica Set or
Sharded Cluster. | |
MongoDB Host List | Conditional | Type a comma-separated list of mongod instances
(for a Replica Set) or mongos instances (for a
Sharded Cluster) in the For example:
This field displays only if you set Datastore Type to Replica Set or Sharded Cluster. | |
MongoDB Hostname | Conditional | Type the hostname of the standalone MongoDB instance. This field displays only if you set Datastore Type to Standalone. | |
MongoDB Port | Conditional | Type the port number of the standalone MongoDB instance. This field displays only if you set Datastore Type to Standalone. | |
Username | Optional | If you set this value: Type the name of the user authorized to access the this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring SCRAM authentication, see SCRAM. Type the RFC-2253-formatted subject from the client certificate of the user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring x.509 authentication, see x.509. Type the UPN of the user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring Kerberos authentication, see Kerberos. Type the name of the LDAP user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring LDAP authentication, see LDAP. | |
Password | Optional | If you set this value: Type the password associated with the username that can access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring SCRAM authentication, see SCRAM. Leave it blank. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring x.509 authentication, see x.509. Kerberos retrieves the password from its keytab file. Don't type a password into this field. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring Kerberos authentication, see Kerberos. Type the password of the LDAP user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring LDAP authentication, see LDAP. WARNING: If you did not use the credentialstool to encrypt this password, it is stored as plaintext in the database. | |
Connection Options | Optional | Add additional connection string options for the MongoDB instance. This field supports unescaped values only. TLS options do not work here.
Configure TLS in the You must provide a value for the For proper syntax, see Connection String URI Format in the MongoDB manual. | |
Deployment Id | Optional | Unique identifier of the Deployment Region
in which to host the database. | |
Encrypted Credentials | Optional | Select if the Username and Password for the database were
encrypted using the credentialstool. | |
Use TLS/SSL | Optional | Select if the blockstore database requires TLS encryption. Beyond this checkbox, to connect this blockstore using TLS, you must enable TLS on the blockstore database. | |
New Assignment Enabled | Optional | Select if you want to enable this blockstore after creating
it. This is selected by default so the blockstore can be
assigned backup jobs. If you clear this checkbox, the
blockstore is created but you cannot assign backups to this
blockstore. |
Edit One Existing Blockstore
Ops Manager lists blockstores in a table on the Snapshot Storage page. Each row contains the settings for one blockstore.
Navigate to the Snapshot Storage page.
Click the Admin link.
Click the Backup tab.
(Optional) If you have not previously set the head directory, set it in the Head Directory box.
Click the Snapshot Storage page.
Update any values that need to be changed.
In the MongoDB Connection column, update any values that need to be changed in the following fields:
Field | Contents | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
<hostname>:<port> | Type in one or more hosts that comprise the blockstore
database in the IMPORTANT: If these hosts are changed, the blockstore database they host must have the same data as the original blockstore database. Changing the host to a new blockstore databases results in data loss. If the blockstore database is a Replica Set or Sharded Cluster, type a comma-separated list of mongod instances (for a Replica Set) or mongos instances (for a Sharded Cluster). For example:
If the blockstore database is a standalone MongoDB
instance, type the | ||||||||||||||||
MongoDB Auth Username | If you set this value: Type the name of the user authorized to access the this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring SCRAM authentication, see SCRAM. Type the RFC-2253-formatted subject from the client certificate of the user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring x.509 authentication, see x.509. Type the UPN of the user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring Kerberos authentication, see Kerberos. Type the name of the LDAP user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring LDAP authentication, see LDAP. | ||||||||||||||||
MongoDB Auth Password | If you set this value: Type the password associated with the username that can access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring SCRAM authentication, see SCRAM. Leave it blank. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring x.509 authentication, see x.509. Kerberos retrieves the password from its keytab file. Don't type a password into this field. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring Kerberos authentication, see Kerberos. Type the password of the LDAP user authorized to access this database. If your Ops Manager Application Database uses authentication or TLS, you must have connections configured to the application database. To learn more, see Configure the Connections to the Application Database. To learn more about configuring LDAP authentication, see LDAP. Ops Manager doesn't display the existing MongoDB Auth Password. WARNING: If you did not use the credentialstool to encrypt this password, it is stored as plaintext in the database. | ||||||||||||||||
Encrypted Credentials | Select if the Username and Password for the database were
encrypted using the credentialstool. | ||||||||||||||||
Use TLS/SSL | Select if the blockstore database requires TLS encryption. Beyond this checkbox, to connect this blockstore using TLS, you must enable TLS on the blockstore database. | ||||||||||||||||
Connection Options | Type any additional connection string options for the MongoDB instance.
This field supports unescaped values only. | ||||||||||||||||
Assignment Labels | Type a comma-separated list of labels to assign the
blockstores to specific projects. | ||||||||||||||||
Blockstore Max Capacity (GB) | Type a maximum size for a blockstore. | ||||||||||||||||
Load Factor | Type any positive integer that expresses how much backup work you want this snapshot store to perform compared to another snapshot store. Backup work includes running backups, restoring snapshots or grooming blockstores. The ratio of backup work assigned to a single snapshot store is called its Load Factor. IMPORTANT: If you have only one snapshot store,
Load Factor represents the number of concurrent
backup work processes the snapshot store performs at a time.
To avoid performance costs associated with running multiple
concurrent processes when you have one snapshot store,
omit this setting to assign your snapshot store the
default Load Factor of When you have multiple snapshot stores, the default Load Factor
of If a snapshot store's Load Factor is changed while
backup work is in progress, all jobs or tasks running on that snapshot store
are allowed to finish. All future backup work is then re-
distributed among the remaining snapshot stores that have a
Load Factor of As a snapshot store's Load Factor increases, it
performs more backup work compared to another snapshot store.
For example, if the Load Factor of snapshot store Snapshot stores with greater computer or storage performance should be given a greater Load Factor. For example, consider a five-shard sharded cluster with the following backup storage configuration:
In this example, For more examples comparing the storage capabilities of different backup configurations, see:
| ||||||||||||||||
Write Concern | Select your preferred Write Concern:
|
Optional: Restart Ops Manager instances if needed.
If you change any connection string values or the Write Concern, restart all the Ops Manager instances including those running Backup Daemons.
Warning
Modifying the connection string values or the Write Concern for an existing blockstore requires you to restart all Ops Manager components, including those only running the Backup Daemon to apply those changes. Connection parameters include:
<hostname>:<port>
MongoDB Auth Username
MongoDB Auth Password
Encrypted Credentials
Use TLS/SSL
Connection Options
Write Concern
If you change to another blockstore host, the data on the existing blockstore is not copied automatically to the other blockstore.
Tip
See also:
For more details on the MongoDB connection string uri, see Connection String URI Format in the MongoDB Manual.
Delete One Blockstore
Navigate to the Snapshot Storage page.
Click the Admin link.
Click the Backup tab.
(Optional) If you have not previously set the head directory, set it in the Head Directory box.
Click the Snapshot Storage page.