我有一个巨大的mongod实例,在生产环境中运行,我需要部署分片群集来代替旧实例,因此在部署群集后需要迁移数据。
分片群集已设置并正在运行。
mongod实例使用mongo:3.6-stretch image在docker上运行,每个集合大约有1000万个文档。
新的clusteer使用mongo mongo:4.0-xenial映像在docker上运行,它包含3个配置服务器,3个分片(每个分3个实例和1条路由)。
传统方式(mongodump和mongorestore)比我预期的要慢,而且如果它在新群集中正常运行,我也没有安全感。
mongodump --host ${MONGOD_HOST} --port ${MONGOD_PORT} --db=${DATABASE_NAME} --out=${PATH_BACKUP} # This is enough fast
mongorestore ${PATH_BACKUP} # But this is pretty slow
我希望以一种快速的方式迁移数据,而不会停止生产,并确保集群能够与迁移的数据一起正常工作。