July 22, 2013 by Meghan Gill Comments
Lots of folks start with standalone servers when they first try MongoDB. If you are running standalone, it’s especially critical that you back it up because you don’t have the fault tolerance and redundancy of a multi-node replica set.
The MongoDB Management Service (MMS) is a convenient and effective way to backup MongoDB but it does not support standalone servers. This post will explain how to get around that problem.
MMS Backup requires that you be running a replica set - but what is not widely known is that you can run a one node replica set, thereby producing the oplog that MMS Backup requires to work, while still running only a single mongod server.
Here is how you do it.
Here is a concrete example. If you your database is running on the standard ports and uses the standard location for the data directory (/data/db) then you might issue the following command to start the server:
# mongod --replSet rs0
You can name the replica set however you like. Using “rs0” was just an example. After you do this, initiate the replica set:
# mongo # rs.initiate()
The replica set is now operational. For detailed instructions, visit the docs.
Now that your single server is a one-node replica set, you can configure backup through MMS Backup.
Using MMS Monitoring is prerequisite of using MMS Backup because the backup service relies on the configuration information gathered by the monitoring service to figure out what to backup. Monitoring is free.
If you are not already monitoring your server using MMS Monitoring, go to mms.mongodb.com and signup for a free account. You will then need to download the monitoring agent and run it on a machine that can see your server.
The monitoring agent is written in Python so you will need to have Python installed. There are instructions that come with the monitoring agent to tell you how to start it.
Visit the Backup tab within MMS to register for the service. This includes setting up two-factor authentication for restores, entering your credit card for billing and accepting the terms of service.
The next step is installing the backup agent on your deployment. This step is easy - just download the appropriate agent for your operating system from the Settings section of mms.mongodb.com and unzip or untar the file in the preferred directory. In the backup-agent directory, issue the following command to start the agent (unix variant):
The backup agent is a compiled executable and hence does not require Python to work (unlike the monitoring agent).
Now that you've got replica sets going and the backup agent installed, the final step is to go the backups page on the MMS UI and enable your one-node replica set for backup.
An initial sync will begin, and soon your database server will be backed up to MongoDB’s datacenters.
For more information about monitoring or backing up your MongoDB deployment, or to get started now, visit mms.mongodb.com.