mongodump: are 4 shards with total datasize 575 GB consider a Small Sharded Cluster? I need to test the restore with Ops Manager. For this I "clone" the production sharded cluster. I create VMs with the same size like production and do mongodump/mongorestore (Ops Manager Deployment). My test (for restore) don't need to be a consistent copy, for me no problem if around 5 GB is missing.

DATA SIZE: 573.6 GB

shard0
142.6 GB

shard1
145.94 GB

shard2
142.55 GB

shard3
142.52 GB


For simplicity reason I wish to take a mongodump and pipe it to mongorestore on the mongos.

I found a an old doc (v3.0) Backup a Small Sharded Cluster with mongodump. This documentation doesn't exists anymore in new MongoDB versions. 


  If your sharded cluster holds a small data set, you can connect to a
  mongos using mongodump.


what is a small data set in GB? See above for my deployment.


  If you use mongodump without specifying a database or collection,
  mongodump will capture collection data and the cluster meta-data from
  the config servers.


I don't need to backup explicitly config RS?


  When restoring data to sharded cluster, you must deploy and configure
  sharding before restoring data from the backup. See Deploy a Sharded
  Cluster for more information.


It means in plain English I need to define the shard key (and enable sharding) before restore?

Do I miss any steps/important things?
It is not a small sharded cluster.

Mongodump will take around 5 hrs for 600GB and restore would take more than 5 hrs based on the indexes in place on your collection.

My best suggestion is:


If you have a backup already in place taken by Mongo Ops-Manager, use that and restore on the new environment.
If time is not really an issue in your case, use the dump and restore method.
Mongodump and restore method can handle huge databases, if you want to restore few collections then use export and import option.


Note: A small hint i can give here to make the process faster is:

Mongodump will take a backup of the db and collection in 2 files for each, one is bson and other is json. Bson will have the indexes and json will have the data.

So, Mongorestore process will restore the json file first and then start restoring the bson file and apply indexes.

To make this process done faster, first make a mongodump and get all the indexes from all dbs and collections and apply the indexes first manually and then restore the data with mongorestore, this process will save atleast 30-40% of your time.