Docs Home → MongoDB Cluster-to-Cluster Sync
Frequently Asked Questions
On this page
mongosyncrun on its own hardware?
- Should I increase the size of the
oplogin the source cluster?
- Which connection string options does
- Which security and authentication options are supported?
- Can I configure
mongosyncfor high availability?
- Can the source or destination be a replica set with arbiters?
- What if I see a Slow Operation Warning?
This page provides answers to some frequently asked questions we have encountered. If you have additional questions please contact MongoDB Support.
mongosync run on its own hardware?
mongosync can run on its own hardware.
mongosync does not
have to run on the servers that host your MongoDB instances. When
mongosync runs on its own hardware, it can use an operating system
(OS) that is different than the OS on the source or destination
Should I increase the size of the
oplog in the source cluster?
The oplog in the source cluster must be large enough to track events that happen during the time it takes to complete the initial sync to the destination cluster.
If you anticipate syncing a large data set, or if you plan to pause
synchronization for an extended period of time, increase the size of the
oplog in the source cluster.
oplog size depends on system hardware, network speed,
and other factors including system workload. However, assuming network
transfer speeds of 30-50GB per hour, a rough formula to estimate the
oplog size is:
minimumRetentionHours = dataSizeInGB / 30
To estimate the size of
oplog needed for initial synchronization,
To learn more about how to increase the size of the
Change the Size of the Oplog.
Which connection string options does
mongosync requires readConcern: "majority"
and writeConcern: "majority".
readConcern is not
mongosync returns an
Invalid URI option, read concern must be majority
writeConcern is not
mongosync returns an
Invalid URI option, write concern must be majority
mongosync accepts all other connection string options.
Which security and authentication options are supported?
mongosync uses a standard MongoDB connection string to connect to the source and destination clusters.
LDAP and X509 are supported. For available authentication options, see Authentication.
Can I configure
mongosync for high availability?
There is no automatic failover built into
mongosync. However you
can write a script or use your operating system's process managers,
systemd for example, to restart the
mongosync binary is stateless. The metadata for restarting is
stored on the destination cluster.
mongosync operation can be resumed if
unavailable during synchronization. When
available again, restart the
mongosync process with the same
mongosync resumes the operation from where it stopped
mongosync became unavailable.
Can the source or destination be a replica set with arbiters?
Yes, the replica set can have arbiters. The source replica set must have more than 2 non-arbiter nodes and you must sync from a non-arbiter node. Use the source cluster's connection string to specify a read preference for a non-arbiter, data-bearing node.
What if I see a Slow Operation Warning?
Slow operation warnings can occur during the initial sync or the application of a change event when there is a slow read operation on the source cluster or a slow write operation on the destination cluster. The warning may indicate network congestion or resource strain on the source or destination cluster.
While these warnings do not indicate failures in themselves, slow operations
can cause operation timeout errors in
mongosync and migration failures.
If you see slow operation warnings, check CPU, memory, and network usage on the source and destination clusters. If the clusters are underprovisioned for your needs, consider upgrading the cluster hardware.