Backup Best Practices

Back up methods for CLOUDFLOW server role deployments. Server roles may span separate servers or can be combined on a single server.

MongoDB Database Server

Backing up MongoDB is important. CLOUDFLOW does not provide a feature to (automatically) back up MongoDB, so you need to make sure to regularly back up MongoDB yourself.

Hybrid advises to back up to an external drive or network location. If there is a fatal hardware failure on the database server or the underlying virtualization host, the snapshot data should be unaffected.

Back ups can be achieved for example by using VMware snapshots or Amazon AWS volume snapshots. It is also possible to set up file system snapshots. Two main backup scenarios can be distinguished. It must be understood that these are highly dependent on your specific IT environments.

Warning: It is strongly advised that you back up your data applying at least one of these methods or a more comprehensive alternate secure process of your choice. If no valid back up is available support or restores are impossible.

1. MongoDB Back Up with Filesystem Snapshot

This MongoDB deployment backup method makes a copy of MongoDB’s underlying data files using snapshots from your OS.

With file system snapshots, the operating system takes a snapshot of the volume where MongoDB stores its data files to use as a baseline for data backup. If this volume supports point-in-time snapshots, they can be used to create backups at an exact moment in time.

The mechanics of snapshots depend on the underlying storage system.

General requirements
  • Automatic operating system backups permitting snapshots
  • MongoDB journaling enabled
  • MongoDB journal located on same logical volume as MongoDB data files
back ups back ups
Use Windows' File History to set Windows to make automatic backups. Proceed along the default method:
Note: Win10 backups are snapshots. File History allows you to define the backup's type (partial of full), frequency and storage location.
Use MAC's Time Machine to set MAC to make automatic backups. Proceed along the default method:
Note: MAC backups are snapshots. Time Machine allows you to define the backup's type (partial of full), frequency and storage location.

Enable MongoDB journaling and Journal folder:

To get a correct snapshot of a running mongod process, you must have journaling enabled and the journal must reside on the same logical volume as the other MongoDB data files. Without journaling enabled, there is no guarantee that the snapshot will be consistent or valid.

  • To enable MongoDB journaling, start mongod with the --journal command line option.
  • To set these configurations automatically, install CLOUDFLOW with will the --launchmongo command line option.

Navigate to your local MongoDB data files location and check for presence of the Journal folder.

MongoDB data files locations:

C:\ProgramData\NiXPS\MongoData .../Users/Shared/NiXPS/MongoData
How To Back Up a Standalone MongoDB Deployment:

MongoDB has a utility called mongodump for creating a binary export of the contents of a database. Mongodump can export data from either mongod or mongos instances; i.e. can export data from standalone and server deployments. It is an efficient tool for backing up small MongoDB deployments, but not ideal for capturing backups of larger systems.

  • mongodump is run from the system command line (not the mongo shell).

The simple mongodump command connects to the MongoDB instance on the local system on port 27017 and creates a database backup named dump/ in the current directory.

The --out=<path>, -o=<path> command specifies the directory where mongodump will write BSON files for the dumped databases.

Other export options include commands for archiving, zipping, db selections, password setting, etc.

How To Back Up a MongoDB Server Deployment:

For server deployments more apt methods are MongoDB Cloud Manager or Ops Manager.

MongoDB Cloud Manager is a hosted back up, monitoring, and automation service for MongoDB and has a graphical user interface. It continually backs up MongoDB replica sets by reading the oplog data from your MongoDB deployment and creating snapshots of your data at set intvals.

Ops Manager allows MongoDB subscribers to install and run the same core software that powers MongoDB Cloud Manager on their own infrastructure.

Ops Manager backs up the data as a ongoing and continuous process. This process continues creating snapshots as long as the head database remains synchronized with the database.

2. Manual MongoDBback up by copying MongoDB data files

This MongoDB backup method requires manual intervention by the user to make a copy of MongoDB’s underlying data files and store this onto another system.

Backups produced by copying the underlying data do not support point in time recovery.

Warning: Since copying multiple files is not an atomic operation, you must stop the MongoDB server before copying the files. Otherwise, you will copy the files in an invalid state.
Note:

More details on how to back up your MongoDB installation can be found on the MongoDB website.

CLOUDFLOW Application Servers

CLOUDFLOW application servers do not store any critical information on the local disk. Servers can be redeployed by reinstalling the CLOUDFLOW application software. Point-in-time snapshots may be used for ease of use.

CLOUDFLOW Filestores

This back-up strategy does not include any data stored on CLOUDFLOW filestores. Consult your infrastructure or backup vendor to obtain a backup strategy that is tailored towards your infrastructure and organization.