Migrate Config Servers with Different Hostnames¶
Sharded clusters use a group of three config servers to store cluster meta data, and all three config servers must be available to support cluster metadata changes that include chunk splits and migrations. If one of the config servers is unavailable or inoperable, you must replace it as soon as possible.
This procedure migrates a config server in a sharded cluster to a new server that uses a different hostname. Use this procedure only if the config server will not be accessible via the same hostname. If possible, avoid changing the hostname so that you can instead use the procedure to migrate a config server and use the same hostname.
Changing a config server’s hostname requires downtime and requires restarting every process in the sharded cluster.
While migrating config servers, always make sure that all mongos instances have three config servers specified in the configDB setting at all times. Also ensure that you specify the config servers in the same order for each mongos instance’s configDB setting.
Disable the cluster balancer process temporarily. See Disable the Balancer for more information.
Shut down the config server to migrate.
This renders all config data for the sharded cluster “read only.”
Copy the contents of dbPath from the old config server to the new config server. For example, to copy the contents of dbPath to a machine named mongodb.config2.example.net, use a command that resembles the following:
rsync -az /data/configdb mongodb.config2.example.net:/data/configdb
Start the config server instance on the new system. The default invocation is:
Shut down all existing MongoDB processes. This includes:
Restart all shard mongod instances.
Restart the mongod instances for the two existing non-migrated config servers.
Restart the mongos instances.
Re-enable the balancer to allow the cluster to resume normal balancing operations. See the Disable the Balancer section for more information on managing the balancer process.