- Administration >
- Administration Tutorials >
- Backup and Recovery >
- Backup and Restore Sharded Clusters >
- Backup a Small Sharded Cluster with
mongodump
Backup a Small Sharded Cluster with mongodump¶
On this page
Overview¶
If your sharded cluster holds a small data set, you can
connect to a mongos using mongodump. You can
create backups of your MongoDB cluster, if your backup infrastructure
can capture the entire backup in a reasonable amount of time and if
you have a storage system that can hold the complete MongoDB data set.
See MongoDB Backup Methods and Backup and Restore Sharded Clusters for complete information on backups in MongoDB and backups of sharded clusters in particular.
Important
By default mongodump issue its queries to
the non-primary nodes.
To backup all the databases in a cluster via mongodump, you
should have the backup role. The backup role provides
all the needed privileges for backing up all database. The role confers no
additional access, in keeping with the policy of least privilege.
To backup a given database, you must have read access on the database.
Several roles provide this access, including the backup role.
To backup the system.profile collection in a database, you must have
read access on certain system collections in the database. Several roles
provide this access, including the clusterAdmin and
dbAdmin roles.
Changed in version 2.6.
To backup users and user-defined roles for a
given database, you must have access to the admin database. MongoDB
stores the user data and role definitions for all databases in the
admin database.
Specifically, to backup a given database’s users, you must have the
find action on the admin
database’s admin.system.users collection. The backup
and userAdminAnyDatabase roles both provide this privilege.
To backup the user-defined roles on a database, you must have the
find action on the admin database’s
admin.system.roles collection. Both the backup and
userAdminAnyDatabase roles provide this privilege.
Considerations¶
If you use mongodump without specifying a database
or collection, mongodump will capture collection data
and the cluster meta-data from the config servers.
You cannot use the --oplog option for
mongodump when capturing data from
mongos. As a result, if you need to capture a backup that
reflects a single moment in time, you must stop all writes to the
cluster for the duration of the backup operation.
Procedure¶
Capture Data¶
You can perform a backup of a sharded cluster by connecting
mongodump to a mongos. Use the following
operation at your system’s prompt:
mongodump will write BSON files that hold a copy of
data stored in the sharded cluster accessible via the
mongos listening on port 27017 of the
mongos3.example.net host.
Restore Data¶
Backups created with mongodump do not reflect the chunks or
the distribution of data in the sharded collection or
collections. Like all mongodump output, these backups
contain separate directories for each database and BSON files
for each collection in that database.
You can restore mongodump output to any MongoDB instance,
including a standalone, a replica set, or a new
sharded cluster. When restoring data to sharded cluster, you
must deploy and configure sharding before restoring data from the
backup. See Deploy a Sharded Cluster for more information.