【问题标题】:Mongodb Migration from 2.6 to 3 without mangodump to minimize downtimeMongodb 从 2.6 迁移到 3 没有 mangodump 以最大限度地减少停机时间
【发布时间】:2016-03-08 01:11:33
【问题描述】:

目前我们正在运行 mongodb 2.6。在生产环境中,实例大小约为 70GB。因此,如果我们使用 mongodump 在 mongodb 版本之间复制数据,则复制数据需要很长时间。我们不能在生产中长时间停机。所以我们计划使用从操作系统级别复制的底层数据文件。如果我们复制数据文件,如果我们在新版本中使用wiredtiger存储引擎选项会出现什么问题吗?请指教。是否有任何其他可用于迁移的开源选项?我们可以简单地指出新有线老虎版本中现有的数据文件夹路径吗?

【问题讨论】:

    标签: mongodb database-migration


    【解决方案1】:

    “在一般情况下,从 MongoDB 2.6 升级到 3.0 是一种二进制兼容的“插入式”升级:关闭 mongod 实例并将其替换为运行 3.0 的 mongod 实例。”

    来自:https://docs.mongodb.org/manual/release-notes/3.0-upgrade/

    从 V2.6 迁移到 V3.0 WiredTiger 有两个步骤

    1. 从 V2.6 迁移 -> V3.0(但保留 MMapV1 存储引擎)。 2.6 和 3.0 之间的数据文件是兼容的。您还可以使此升级(几乎)对应用程序透明。停止并升级辅助节点二进制文件并重新启动。停止主节点,升级并重新启动它。唯一的停机时间是在几秒钟的主要降级期间。
    2. 从 V3.0 MMapV1 迁移 -> V3.0 WiredTiger。 MMapV1 和 WiredTiger 之间的数据文件是完全不同的。但是迁移过程非常简单。对于副本集中的每个节点:
      • 关闭它。
      • 在配置文件中将其配置为使用 WiredTiger。
      • 删除数据文件。
      • 重启 mongod。

    然后它将从另一个节点进行初始同步并使用 WiredTiger 存储数据。这可能需要一段时间,但只要您的复制延迟足够大就应该是个问题。 70Gb 听起来并不那么大!我们正在为 7Tb 集群管理这些步骤,并不太担心。

    更多细节在这里:

    https://docs.mongodb.org/manual/release-notes/3.0-upgrade/#change-replica-set-storage-engine-to-wiredtiger

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 2020-03-20
      • 2016-10-13
      • 2021-12-31
      • 2021-02-18
      相关资源
      最近更新 更多