Chapter 22. Making Backups

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:

  • Single-server 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.

Backing Up a Server

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.

Filesystem Snapshot

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, ...

Get MongoDB: The Definitive Guide, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.