Docs 菜单
Docs 主页
/ /

将集群实时迁移(拉取)到Atlas

重要

Flex 集群中不可用的功能

Flex 集群目前不支持此功能。要学习;了解详情,请参阅 Atlas Flex 限制。

则 Atlas 可使用本节所述的过程,将源集群拉取到 Atlas 集群。

此进程使用 Mongosync 作为根本的数据迁移工具,从而实现更快的实时迁移并减少停机时间:

  • Atlas 将数据从源集群同步到目标集群,直到您将应用程序切换到目标 Atlas 集群。

  • 一旦到达以下过程中的切换步骤:

    • 停止写入源集群。

    • 停止应用程序实例,将其指向 Atlas 集群, 然后重新启动。

所有 Mongosync 限制均应用于此实时迁移。要学习;了解有关这些限制的更多信息,请参阅 Mongosync 限制

此外,实时迁移(提取)不支持:

实时迁移不支持将MongoDB搜索索引从源集群迁移到目标集群。

重要

如果计划使用实时迁移,请勿为专用集群选择 Latest Version With Auto Upgrades。此选项会自动将集群升级到最新的次要发布。实时迁移仅支持主要版本,不支持次要版本,例如MongoDB版本 8.2。

本节介绍的 Atlas 实时迁移支持以下 迁移路径:

Source Cluster
MongoDB Version
Destination Atlas Cluster
MongoDB Version

5.0 副本集

7.0 副本集

5.0 副本集/分片集群

7.0 分片集群

6.0 副本集

7.0 副本集

6.0 副本集

8.0 副本集

6.0 副本集/分片集群

7.0 分片集群

6.0 副本集/分片集群

8.0 分片集群

7.0 副本集

7.0 副本集

7.0 副本集

8.0 副本集

7.0 副本集/分片集群

7.0 分片集群

7.0 副本集/分片集群

8.0 分片集群

8.0 副本集

8.0 副本集

8.0 副本集/分片集群

8.0 分片集群

要实时迁移数据,您必须拥有Atlas Project OwnerclusterMonitor的 和 访问权限。

拥有 Organization Owner 访问权限的用户必须将自己作为 Project Owner 添加到项目中。

对于此类实时迁移,Atlas 支持以下源和目标集群配置对:

源集群配置
目标集群配置
实时迁移支持
注意

独立运行的实例

任何类型的集群

在使用此迁移进程迁移独立的源集群之前,请从独立运行模式切换到副本集模式

副本集(Replica Set)

副本集(Replica Set)

副本集(Replica Set)

分片集群

运行此类迁移时,您可以指定分片参数。要了解更多信息,请参阅本节中的实时迁移过程和此分片示例

分片集群

分片集群

源集群和目标集群之间的分片数量可能不同。源分片集群必须使用 CSRS(配置服务器副本集)。如要了解详细信息,请参阅副本集配置服务器

分片集群

副本集(Replica Set)

  • 如果集群在启用身份验证的情况下运行,请满足以下先决条件:

重要

源集群就绪情况

为帮助确保数据迁移顺利进行,源集群应符合所有生产集群建议。在开始实时迁移进程之前,请检查操作清单生产说明

为以下组件配置网络权限:

源集群的防火墙都必须授予 MongoDB 实时迁移服务器对源集群的访问权限。

Atlas 实时迁移过程 通过 MongoDB 控制的实时迁移服务器传输数据流。Atlas 会在实时迁移过程中 提供 MongoDB 实时迁移服务器的 IP 范围。 授予这些 IP 范围访问源集群的权限。这样, MongoDB 实时迁移服务器就可以连接到源集群。

注意

如果贵组织有严格的网络要求,且您无法启用 MongoDB 实时迁移服务器所需的网络访问权限,请参阅将社区部署实时迁移到 Atlas

Atlas 允许从添加到项目 IP 访问列表的主机连接到集群。将应用程序主机的 IP 地址或 CIDR 区块添加到项目 IP 访问列表中。在开始迁移过程之前执行此操作。

Atlas 会将 MongoDB 迁移服务器的 IP 地址 临时添加到项目 IP 访问列表中。迁移过程中, 无法编辑或删除此条目。过程完成后, Atlas 会删除此条目。

要了解如何向 Atlas IP 访问列表添加条目,请参阅配置 IP 访问列表条目

在启动以下实时迁移过程之前, Atlas 会对源群集和目标群集进行验证检查,并验证:

  • 源群集的数据库用户拥有源群集安全性中所述的正确权限。

  • 源集群不包含 mongosync_reserved_for_internal_use元数据数据库。在开始迁移之前,您必须手动删除该数据库。

  • 目标Atlas 集群不得有数据。 如果在开始之前集群有任何数据,您可以选择在实时迁移进程中清除目标集群上的数据。 或者,您可以在开始迁移过程之前手动删除目标集群上的数据。

各种内置角色提供了足够的权限。例如:

对于源副本集集群, MongoDB用户必须具有readAnyDatabasebackup 角色和bypassWriteBlockingMode 动作。

对于源分片的集群, MongoDB用户必须具有readAnyDatabasebackupclusterMonitor 角色和bypassWriteBlockingMode 动作。

应将bypassWriteBlockingMode 添加到自定义角色中,该角色可应用用于迁移的MongoDB用户。可以将其添加到Atlas或自我管理的集群上。

如要验证将运行实时迁移进程的数据库用户是否具有这些角色,请在 admin 数据库上运行 db.getUser() 命令。例如,对于副本集,运行:

use admin
db.getUser("admin")
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "backup",
"db" : "admin"
},
{
"role" : "readAnyDatabase",
"db" : "admin"
}
,
{
"role" : "LiveMigrateWriteBlockingCustomRole",
"db" : "admin"
}
]
} ...

在实时迁移过程的演示屏幕提示时,指定 Atlas 的用户名和密码。

Atlas 仅支持使用 SCRAM 连接到强制执行身份验证的源集群。

向 Atlas 进行任何提取式实时迁移时, Atlas 会管理运行实时迁移的服务器,并将数据从源集群发送到目标集群。

MongoDB 采取以下措施来保护您的数据在传输到 Atlas 过程中的 完整性和保密性:

  • MongoDB 会对 Atlas 托管的实时迁移服务器和目标集群之间的传输数据进行加密。如果需要对源集群和 Atlas 托管的迁移服务器之间传输的数据进行加密,请在源集群上配置 TLS

  • MongoDB 保护对 Atlas 托管的迁移服务器实例的访问, 就像保护对 Atlas 其他部分的访问一样。

  • 在需要干预以调查和恢复关键服务的极少数情况下,MongoDB 遵循最低权限原则,仅授权一小部分有权限的用户在修复关键问题所需的最短时间内访问 Atlas 集群。MongoDB 要求这些用户使用 MFA 登录 Atlas 集群,并通过堡垒主机建立 SSH 连接。授予此类特权用户访问权限需要获得 MongoDB 高级管理层的批准。MongoDB 不允许任何其他 MongoDB 人员访问您的 MongoDB Atlas 集群。

  • MongoDB 仅允许将特权用户帐户用于特权活动。要执行非特权活动,特权用户必须使用单独的帐户。特权用户帐户不能使用共享凭据。特权用户帐户必须遵守 Atlas 安全白皮书第 4.3.3 节所述的密码要求。

  • 您可以在 Atlas 中限制包括特权用户在内的所有 MongoDB 人员访问集群。如果您选择限制此类访问,而 MongoDB 认为该访问对于解决支持问题是必要的,则 MongoDB 必须首先请求您的许可,然后您可以决定是否临时恢复特权用户的访问权限,恢复时间最长不超过 24 小时。您可以随时撤销授予 24 小时临时访问权限。启用此限制可能会导致响应和解决支持问题的时间增加,从而对 Atlas 集群的可用性产生负面影响。

  • MongoDB 每季度审查一次特权用户访问授权。 此外,MongoDB 还会在不再需要特权用户访问权限时取消其访问权限, 包括在该特权用户更换角色或离开公司后 24 小时内 取消其访问权限。我们还会记录 MongoDB 人员对 Atlas 集群的 任何访问权限,并将审核日志保留至少六年, 其中包括时间戳、行为者、操作和输出。MongoDB采用 自动和手动审查相结合的方式来扫描这些审核日志。

如需了解有关 Atlas 安全的更多信息,请参阅“Atlas 安全”白皮书。请特别查看“MongoDB 人员访问 MongoDB Atlas 集群”部分。

提取实时迁移期间,如果源集群不对数据使用 TLS 加密, 则从源集群到 Atlas 的流量不会加密。 开始提取实时迁移过程之前, 确定是否可以接受这种情况。

Atlas 不会将任何用户或角色数据迁移到目标集群。

如果源集群不使用身份验证,则必须在 Atlas 中创建用户, 因为 Atlas 不支持在没有身份验证的情况下运行。

如果源集群强制执行身份验证,则必须重新创建应用程序在目标 Atlas 集群上使用的凭证。Atlas 使用 SCRAM 进行用户身份验证。如需了解更多信息,请参阅“配置数据库用户”。

源集群要求:

  • 要确保实时迁移的延迟窗口保持在oplog复制延迟窗口的范围内,请对源集群执行以下操作之一:

目标集群要求:

为了避免在迁移过程中对写入性能产生任何影响, Atlas会在过程开始时停止源集群和目标集群上的分分片集群均衡器,并在过程结束时启动负载均衡器。

如果您取消实时迁移, Atlas会重新启动源集群和目标集群上的负载均衡器。

如果在成功实时迁移结束后, Atlas无法重新启动源集群或目标集群上的负载负载均衡器,则会出现警告横幅,指示您必须手动重新启动源集群或目标集群负载负载均衡器。

配置目标集群时,请考虑以下几点:

  • 目标Atlas 集群不得有数据。 如果在开始之前集群有任何数据,您可以选择在实时迁移进程中清除目标集群上的数据。 或者,您可以在开始迁移过程之前手动删除目标集群上的数据。

  • 实时迁移进程通过 MongoDB 托管的实时迁移服务器流式传输数据。 每台服务器都运行在距离源集群最近的地区 所托管的基础架构上。以下地区可用:

    欧洲
    • 法兰克福

    • 爱尔兰

    • London

    Americas
    • 美国东部

    • 美国西部

    亚太地区
    • 孟买

    • 新加坡

    • 悉尼

    • Tokyo

  • 使用 Atlas 中与源集群上托管的应用程序服务器或部署相比,网络延迟最小的目标集群云区域。理想情况下,您的应用程序服务器应在云中运行,与目标 Atlas 集群的主区域位于同一区域。要了解更多信息,请参阅云提供商

  • Atlas 中的目标集群必须在 RAM、CPU 和存储方面与源部署相匹配或超过源部署。配置足够大的目标集群,使其能够同时容纳迁移过程和预期工作负载,或将目标集群扩展到具有更强处理能力、更高带宽或更高磁盘 IO 的层级。

  • 要最大限度地提高迁移性能,目标集群至少要使用 M40 集群。 迁移大型数据集时,请使用配置 6000 IOPS 或更高的磁盘的 M80 集群。

    您还可以选择在迁移过程中临时增加目标 Atlas 集群的大小。

    将应用程序的工作负载迁移到Atlas中的集群后,请联系支持以获取进一步性能调优和目标集群大小调整方面的帮助,从而最大限度地降低成本。

  • 为避免意外的大小更改,请禁用目标集群上的自动扩展功能。要了解更多信息,请参阅管理集群

  • 为了防止oplog集合无限制增长,并确保实时迁移的延迟窗口保持在oplog复制延迟窗口的范围内,请在实时迁移进程中将oplog大小设立为足够大的固定值

    要了解详情,请参阅:

    如果您在遵循这些建议后仍发现性能问题,请联系支持人员

  • 您无法选择 M0(免费套餐)或 Flex 集群作为实时迁移的目标集群。

  • 当 Atlas 实时迁移正在运行时,请勿更改 featureCompatibilityVersion 标志。

实时迁移期间写入被阻止:

  • 实时迁移开始时,将阻止写入目标集群。尝试写入目标集群失败。

  • 在继续切换之前,您必须手动停止对源集群的写入。 Atlas通过在切换进程中启用源集群上的写入阻止来强制执行此操作。

    重要

    如果要迁移运行MongoDB 6.0 及更高版本的源集群,则在切换期间会出现源集群和目标集群写入阻塞。

  • 实时迁移成功完成或失败后,可以继续写入目标集群。

    注意

    迁移完成后, Atlas会自动尝试删除写入区块。

    如果需要手动删除集群上的写入区块,请使用setUserWriteBlockMode 命令并将global 字段设立为false

    db.adminCommand( {
    setUserWriteBlockMode: 1,
    global: false
    } )

    要运行setUserWriteBlockMode 命令,用户必须具有setUserWriteBlockMode 权限。

请勿对同一目标集群同时执行多个迁移。

在实时迁移进程同步时,请勿启动应用程序到目标集群的切换进程。

在实时迁移期间,Atlas 停止拍摄目标集群的按需云备份快照。一旦您完成本页面实时迁移过程中的切换步骤,Atlas 将根据备份策略,恢复拍摄云备份快照。

在源群集或目标群集出现临时网络中断和选举时, 实时迁移进程会尽最大努力继续迁移。 但是,这些事件可能会导致实时迁移进程失败。 如果实时迁移进程无法自动恢复,请重新启动。

注意

暂存和生产迁移

考虑运行此过程两次。首先运行一次部分迁移,并在执行 Perform the Cutover 步骤前停止。这将创建一个最新的 Atlas 支持的临时集群,通过支持 Atlas 集群 MongoDB 版本的最新驱动程序版本测试应用程序的行为和性能。

在测试应用程序后, 您可以使用单独的 Atlas 集群运行完整的迁移过程, 创建 Atlas 支持的生产环境。

在开始实时迁移过程之前:

  • 如果您还没有目标集群,请创建新的 Atlas 部署并根据需要进行配置。有关创建 Atlas 集群的完整文档,请参阅创建集群

  • 部署 Atlas 集群后, 请确保您可以从运行应用程序的所有客户端硬件将连接到该集群。测试 您的连接字符串有助于确保您的数据迁移过程 可以在最短的停机时间内完成。

    1. 如果您尚未安装 mongosh,请下载并安装到代表性的客户端机器。

    2. 使用Atlas 用户界面中的连接字符串连接到目标集群。 有关更多信息,请参阅通过mongosh连接到集群。

    一旦您验证与目标集群的连接,请启动实时迁移过程。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Services 标题下的 Migration

此时会显示 Migration Hub(迁移中心)。

2

Atlas 会显示演示屏幕, 说明如何进行实时迁移。此进程将数据 从源集群同步到新的目标集群。完成 演示后,您可以将应用程序指向新集群。

3

显示 Migration from Atlas to Atlas 屏幕。

4
  1. 连接到源集群。

    1. 从下拉菜单中选择源 Organization

    2. 然后,从下拉菜单中选择源 Project

    3. 最后,从下拉菜单中选择源 Cluster

  2. 连接目标集群。

    注意

    您只能选择属于开始迁移的组织的目标集群。确保您与目标集群位于同一组织中才能开始迁移进程。

    1. 从下拉菜单中选择目标 Project

    2. 从下拉菜单中选择目标 Cluster

      目标集群必须是新的或空的Atlas 集群。如果目标集群有任何现有数据,您可以选择在迁移进程中删除这些数据。如果您未选中此选项,并且目标集群在迁移进程中有任何数据,则迁移将失败并出现验证错误。

  3. 配置其他设置。

    • Atlas显示 Verify data post-migration (recommended) 的复选框。如果您选中此选项, Atlas会在迁移后自动验证支持的数据。如果未选中此选项,则必须手动运行完整数据验证。要学习;了解更多信息,请参阅验证迁移。

    • 如果目标集群有任何现有数据,并且您选中了选项 Clear any existing data on your destination cluster?,Atlas会删除现有数据。如果您未选中此选项,并且在迁移进程中目标集群存在任何具有命名空间冲突的数据,则迁移将失败并出现验证错误。

    • 如果要将副本集迁移至分片集群:

      • 如果您想对分片进行分片,请单击Include sharding parameters中的复选标记,然后将分片配置JSON粘贴到使用分片示例的文本框中。 将此配置保存在外部文件中,以备日后参考。

        分片配置 JSON 定义了 shardingEntries 数组,该数组指定了要进行分片的集合和用于分片的键。MongoDB 仅对包含在此数组中的集合进行分片。要了解更多信息,请参阅分片

        如果省略了指定分片配置,则可以在将集群迁移到 Atlas 后对目标集群上的集合分片。

      • 除分片配置外,服务中的目标集群上还必须存在指定分片键的兼容索引。

        单击 Create supporting indexes 中的复选标记,以便 MongoDB 在 Atlas 中的目标集群上自动创建支持分片键索引。

5
  1. Atlas验证您提供的信息时,Continue 按钮会变为 Validating...

    如果验证失败,请检查:

    • 您已将 Atlas 添加到源集群的 IP 访问列表。

    • 所提供的用户凭证,已经存放在源集群上,并且拥具所需的权限。

    • 提供的 CA 文件,若有的话,有效且正确。

    • 有关 Atlas 实时迁移所需的用户权限的指导,请参阅源集群安全性

  2. 验证完成后,再次单击 Continue

6

如果您需要更改任何信息,请单击 Back 返回上一步并进行更改。

  1. 单击 Start Migration(连接)。

    出现一个模态窗口,确认您要开始迁移。

7

迁移进程开始后,Atlas 用户界面将显示目标 Atlas 集群的 Migrating Data 演示屏幕。 随着目标集群继续执行迁移进程,演练屏幕会更新。迁移进程包括:

  • 对源集群数据的新写入应用于目标集群数据。

  • 将数据从源集群复制到目标集群。

  • 完成目标集群上的迁移。

  • 正在运行验证进程(如果已启用)。 如果您在启用 Verify data post-migration (recommended) 设置的情况下开始迁移, Atlas会通知您它已对支持的类型执行数据验证。 如果您在禁用验证的情况下开始迁移, Atlas会要求您手动验证数据。 要学习;了解更多信息,请参阅验证迁移。

迁移进程的最后阶段会显示一个延迟时间值, 表示源集群和目标集群之间的当前延迟。

到期窗口即将到期时,您会收到一封电子邮件通知。

当源集群的滞后接近于零并且迁移进程已赶上时, Atlas会激活Cutover to your destination cluster按钮,并指示源集群和目标集群处于同步状态。 继续执行下一步。

8

切换是一个将应用程序的读取和写入从源集群定向到目标集群的三步进程。

当Atlas检测到源集群和目标集群几乎同步时,它会启动一个可延长的120小时( 5天)计时器,以开始实时迁移过程的切换阶段。 120小时后, Atlas将停止与源集群同步。

在迁移进程的此阶段,您可以继续切换或延长同步期,然后继续切换。

  • 如果单击I'm ready to cutover , Atlas将启动切换进程。

  • 如果单击Extend Sync ,并且扩展同步成功完成, Atlas将确认源集群和目标集群处于同步状态。 继续执行切换进程。 如果同步时间已过期,您可以重试迁移。

    如果迁移即将过期,Atlas 会向您发送一封类似于以下示例的电子邮件:

    A migration to your Atlas cluster will expire in <number> hours!
    Navigate to your destination cluster to start the cutover process. If
    you don't take any action within <number> hours, the migration will be
    cancelled and you will need to start again. You can also extend the
    migration process if you need more time.
  1. 单击I'm ready to cutover 。 快速执行三步切换进程,确保最大限度地减少应用程序的最短停机时间。

  2. 单击Proceed to cutover 。 切换进程分为三步:

    1. 停止写入源集群。 单击I confirm that I've stopped writes to my source cluster 。 单击Finalize migration继续。

    2. 等待几分钟, Atlas将完成迁移。 Atlas执行以下动作来完成进程:

      • 从目标群集的 IP 访问列表中 删除MongoDB 实时迁移服务器子网。

      • 删除实时迁移用于将数据导入到目标集群的数据库用户。

      如果转换进程已进行至少 12 小时,Atlas 会向您发送一封电子邮件,建议您检查迁移进程或联系支持人员。

    3. 如果迁移成功,则会显示You have successfully migrated to Atlas页面。 Atlas显示同步更改的状态、应用程序停机时间、迁移进程的持续时间、复制的初始数据量以及复制的集合数量。

      • 通过比较文档计数和运行哈希比较,验证数据是否已传输到目标集群。要学习;了解更多信息,请参阅 Mongosync:验证数据传输

      • 单击Connect to your new cluster 。 Atlas会将您重定向到Connect to Atlas页面,您可以在其中选择连接方法。

      • 连接到集群后,恢复写入目标集群。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Services 标题下的 Migration

此时会显示 Migration Hub(迁移中心)。

2

Atlas 会显示演示屏幕, 说明如何进行实时迁移。此进程将数据 从源集群同步到新的目标集群。完成 演示后,您可以将应用程序指向新集群。

3

显示 Migrate from Self-Managed MongoDB Database to Atlas 屏幕。

4
  1. 输入您的MongoDB Connection String 以连接到源集群。

    注意

    实时迁移不支持SRV 连接格式的连接字符串。 实时迁移验证仅接受标准连接字符串格式。

    连接字符串包括用于连接到源集群的数据库身份验证用户名和密码。对于副本集,数据库用户必须具有readAnyDatabasebackup 角色和bypassWriteBlockingMode 动作。对于分片的集群,数据库用户必须具有readAnyDatabasebackupclusterMonitor 角色和bypassWriteBlockingMode 动作。

    • 集群名称 replica 的副本集集群标准连接字符串包括三个 mongod 实例,如以下示例所示:

      mongodb://<db_username>:<db_password>@replica-shard-00-00.AA000.example.net:27017,replica-shard-00-01.AA000.example.net:27017,replica-shard-00-02.AA000.example.net:27017/?tls=true&replicaSet=atlas-example-shard-0&authSource=admin&appName=replica
    • 集群名称为 sharded 且具有两个分片配置的分分片集群标准连接字符串,如以下示例所示:

      mongodb://<db_username>:<db_password>@sharded-config-00-00.AA000.example.net:27016,sharded-config-00-01.AA000.example.net:27016,sharded-config-00-02.AA000.example.net:27016,sharded-shard-00-00.AA000.example.net:27016,sharded-shard-00-01.AA000.example.net:27016,sharded-shard-00-02.AA000.example.net:27016/?tls=true&authSource=admin&appName=sharded

    如果源集群使用TLS/SSL且未使用公共证书颁发机构 (CA),则您将需要源集群CA文件。

  2. 连接目标集群。

    1. 从下拉菜单中选择目标 Project

    2. 从下拉菜单中选择目标 Cluster

      目标集群必须是新的或空的Atlas 集群。如果目标集群有任何现有数据,您可以选择在迁移进程中删除这些数据。如果您未选中此选项,并且目标集群在迁移进程中有任何数据,则迁移将失败并出现验证错误。

  3. 允许IP地址。

    如果源集群已启用IP访问列表,请将MongoDB实时迁移服务器IP地址添加到源集群IP访问列表。您可以在演练屏幕中找到IP地址。

    如果您的源集群未启用IP访问列表,则可以跳过此步骤。

  4. 配置其他设置。

    • Atlas显示 Verify data post-migration (recommended) 的复选框。如果您选中此选项, Atlas会在迁移后自动验证支持的数据。如果未选中此选项,则必须手动运行完整数据验证。要学习;了解更多信息,请参阅验证迁移。

    • 如果目标集群有任何现有数据,并且您选中了选项 Clear any existing data on your destination cluster?,Atlas会删除现有数据。如果您未选中此选项,并且在迁移进程中目标集群存在任何具有命名空间冲突的数据,则迁移将失败并出现验证错误。

    • 如果要将副本集迁移至分片集群:

      • 如果您想对分片进行分片,请单击Include sharding parameters中的复选标记,然后将分片配置JSON粘贴到使用分片示例的文本框中。 将此配置保存在外部文件中,以备日后参考。

        分片配置 JSON 定义了 shardingEntries 数组,该数组指定了要进行分片的集合和用于分片的键。MongoDB 仅对包含在此数组中的集合进行分片。要了解更多信息,请参阅分片

        如果省略了指定分片配置,则可以在将集群迁移到 Atlas 后对目标集群上的集合分片。

      • 除分片配置外,服务中的目标集群上还必须存在指定分片键的兼容索引。

        单击 Create supporting indexes 中的复选标记,以便 MongoDB 在 Atlas 中的目标集群上自动创建支持分片键索引。

5
  1. Atlas验证您提供的信息时,Continue 按钮会变为 Validating...

    如果验证失败,请检查:

    • 您已将 Atlas 添加到源集群的 IP 访问列表。

    • 所提供的用户凭证,已经存放在源集群上,并且拥具所需的权限。

    • 提供的 CA 文件,若有的话,有效且正确。

    • Atlas 会在演示屏幕顶部 显示负责实时迁移的 MongoDB 实时迁移服务器的 IP 地址。 配置源集群防火墙, 允许访问显示的 IP 地址。

    • 有关 Atlas 实时迁移所需的用户权限的指导,请参阅源集群安全性

  2. 验证完成后,再次单击 Continue

6

如果您需要更改任何信息,请单击 Back 返回上一步并进行更改。

  1. 单击 Start Migration(连接)。

    出现一个模态窗口,确认您要开始迁移。

7

迁移进程开始后,Atlas 用户界面将显示目标 Atlas 集群的 Migrating Data 演示屏幕。 随着目标集群继续执行迁移进程,演练屏幕会更新。迁移进程包括:

  • 对源集群数据的新写入应用于目标集群数据。

  • 将数据从源集群复制到目标集群。

  • 完成目标集群上的迁移。

  • 正在运行验证进程(如果已启用)。 如果您在启用 Verify data post-migration (recommended) 设置的情况下开始迁移, Atlas会通知您它已对支持的类型执行数据验证。 如果您在禁用验证的情况下开始迁移, Atlas会要求您手动验证数据。 要学习;了解更多信息,请参阅验证迁移。

迁移进程的最后阶段会显示一个延迟时间值, 表示源集群和目标集群之间的当前延迟。

到期窗口即将到期时,您会收到一封电子邮件通知。

当源集群的滞后接近于零并且迁移进程已赶上时, Atlas会激活Cutover to your destination cluster按钮,并指示源集群和目标集群处于同步状态。 继续执行下一步。

8

切换是一个将应用程序的读取和写入从源集群定向到目标集群的三步进程。

当Atlas检测到源集群和目标集群几乎同步时,它会启动一个可延长的120小时( 5天)计时器,以开始实时迁移过程的切换阶段。 120小时后, Atlas将停止与源集群同步。

在迁移进程的此阶段,您可以继续切换或延长同步期,然后继续切换。

  • 如果单击I'm ready to cutover , Atlas将启动切换进程。

  • 如果单击Extend Sync ,并且扩展同步成功完成, Atlas将确认源集群和目标集群处于同步状态。 继续执行切换进程。 如果同步时间已过期,您可以重试迁移。

    如果迁移即将过期,Atlas 会向您发送一封类似于以下示例的电子邮件:

    A migration to your Atlas cluster will expire in <number> hours!
    Navigate to your destination cluster to start the cutover process. If
    you don't take any action within <number> hours, the migration will be
    cancelled and you will need to start again. You can also extend the
    migration process if you need more time.
  1. 单击I'm ready to cutover 。 快速执行三步切换进程,确保最大限度地减少应用程序的最短停机时间。

  2. 单击Proceed to cutover 。 切换进程分为三步:

    1. 停止写入源集群。 单击I confirm that I've stopped writes to my source cluster 。 单击Finalize migration继续。

    2. 等待几分钟, Atlas将完成迁移。 Atlas执行以下动作来完成进程:

      • 从目标群集的 IP 访问列表中 删除MongoDB 实时迁移服务器子网。

      • 删除实时迁移用于将数据导入到目标集群的数据库用户。

      如果转换进程已进行至少 12 小时,Atlas 会向您发送一封电子邮件,建议您检查迁移进程或联系支持人员。

    3. 如果迁移成功,则会显示You have successfully migrated to Atlas页面。 Atlas显示同步更改的状态、应用程序停机时间、迁移进程的持续时间、复制的初始数据量以及复制的集合数量。

      • 通过比较文档计数和运行哈希比较,验证数据是否已传输到目标集群。要学习;了解更多信息,请参阅 Mongosync:验证数据传输

      • 单击Connect to your new cluster 。 Atlas会将您重定向到Connect to Atlas页面,您可以在其中选择连接方法。

      • 连接到集群后,恢复写入目标集群。

如果迁移在实时迁移过程的任何阶段失败,Atlas 将通过电子邮件通知您,并提供链接来浏览迁移结果。

如果您对本文档未涵盖的迁移支持有任何疑问,或者在迁移进程中遇到错误,请通过 Atlas UI 寻求支持

要提交支持票证:

1
  1. 如果尚未显示,组织从导航栏中的Organizations菜单。

  2. 单击导航栏中的 Support 图标。

  3. 单击 View plan(连接)。

显示“支持”页面。

2
  1. 单击 Request Support(连接)。

  2. 对于 Issue Category(Atlas 问题类别),选择 Help with live migration(其他)。

  3. 对于 Priority(优先级),选择适当的优先级。如有问题,请选择 Medium Priority(中等优先级)。如果迁移失败,请选择 High Priority(高优先级)。

  4. 对于 Request Summary(请求摘要),请在摘要中包含 Live Migration(实时迁移)。

  5. 对于 More details,请提供与问题或迁移错误相关的任何其他详细信息。

  6. 单击 Request Support 按钮提交表单。

后退

实时迁移集群

在此页面上