It is important to take regular backups of your system. Backups are good protection against most types of failure, and very little can’t be solved by restoring from a clean backup. This chapter covers the common options for taking backups:
Special considerations for backing up replica sets
How to back up a sharded cluster
Backups are only useful if you are confident about deploying them in an emergency. Thus, for any backup technique you choose, be sure to practice both taking backups and restoring from backups until you are comfortable with the restore procedure.
There are a variety of ways of taking backups. Regardless of method, taking a backup can cause strain on a system: it generally requires reading all your data into memory. Thus, backups should generally be done on replica set secondaries (as opposed to the primary) or, for standalone servers, at an off time.
The techniques in this section apply to any mongod, whether a standalone or a member of a replica set, unless otherwise noted.
The simplest way to make a backup is to take a filesystem snapshot. However, this requires your filesystem to support snapshotting and you must be running mongod with journaling enabled. If your system fulfills these two prerequisites, this method requires no preparation: simply take a snapshot at any time.
To restore, ensure that mongod is not running. The exact command for restoring from a snapshot varies by filesystem, ...