【发布时间】:2020-02-09 04:57:45
【问题描述】:
我们有一个在 Compose 上运行的托管 mongodb 3.0.11 集群,数据约为 300gb(称为 C0)。我们希望将此数据移动到在 GCP 上运行的自我管理的 mongodb 4.x 集群(称为 C1)。我已经尝试了一些用于克隆/同步数据库的 github 存储库,但它们都不能可靠地用于我的测试(老实说,我不确定我是否想使用这些未经大量测试的存储库来迁移我们的生产数据)。
在阅读有关副本集、oplog 等的 mongodb 文档时,我突然想到,也许我们可以让 mongodb 通过其内置的副本集成员添加过程为我们进行迁移。但是,由于我不是 mongodb 专家,我不知道这是否是一个可行的解决方案。
这是我感兴趣的内容 - mongodb 专家请评论这是否可行(如果您有任何基于经验的建议):
- 将两个 mongodb 实例从 C1 作为优先级 0 的副本集成员添加到 C0
- 等待 C1.members 更新
- 进入“维护模式” - 数据库访问客户端关闭
- 强制将 C1.members 之一升级为主要成员
- 从副本集中删除所有 C0.members
- 使用新的连接字符串重新启动数据库客户端到 C1 副本集
替代方法是编写我自己的克隆器/同步器,因为到目前为止我发现的工具似乎都没有为 mongo 4.x 做好生产准备。
想法?
【问题讨论】:
标签: database mongodb migration database-migration