Creating a point in time backup of replica sets
MongoDB replica sets maintain operations log using a capped collection called oplog. The oplog is what is shared between the replica set nodes to maintain consistency. In this recipe, we will look at how to create point in time backups of replica sets using oplog.
Getting ready
You need a three node MongoDB replica set installation, preferably with some data in it. Refer to the recipes Initializing a new replica set, in Chapter 4, High Availability with Replication, for instructions on how to create a replica set, and Creating an index in Chapter 2, Understanding and Managing Indexes, for instructions on how to import sample data into a MongoDB instance.
How to do it...
- First, we connect to the primary replica set node and insert about 100,000 random documents:
for(var x=0; x<100000; x++){ db.mycol.insert({age:(Math.round(Math.random()*100)%20) }) }
- Immediately switch to a different Terminal and take the backup:
mongodump --oplog --out /backups...