适用于 Azure Data Studio 的 Azure Cosmos DB for MongoDB 迁移扩展(预览版)

Azure Cosmos DB for MongoDB 迁移扩展可帮助将 MongoDB 工作负载迁移到 Azure Cosmos DB。 可以使用此扩展执行以下操作:

  • 对工作负载运行端到端评估,并找出将工作负载迁移到基于 vCore 的 Azure Cosmos DB for MongoDB 可能需要执行的操作。
  • 使用所选数据库和集合执行操作,迁移到基于 vCore 的 Azure Cosmos DB for MongoDB 。

重要

目前此扩展不支持以下场景:

  • 源或目标帐户启用了专用终结点时的迁移。
  • 基于 RU 的 Azure Cosmos DB for MongoDB 在线和离线迁移。

有关 API for MongoDB vCore 的备用解决方案的详细信息,请参阅迁移选项

先决条件

  • 现有基于 vCore 的 Azure Cosmos DB for MongoDB 帐户。
  • Azure Data Studio 的最新版本。
  • 运行版本 3.2 或更高版本的 MongoDB
  • 将防火墙例外添加到源 MongoDB 帐户和基于 vCore 的 Azure Cosmos DB for MongoDB 目标帐户,以接受来自全局 Azure 数据中心的连接。

准备

实际开始迁移数据前,提前制定迁移规划和决策。

安装扩展

在开始迁移之前,先在 Azure Data Studio 中安装 Azure Cosmos DB for MongoDB 迁移扩展。

  1. 在 Azure Data Studio 中打开扩展管理器。 可以选择扩展图标,也可以在“视图”菜单中选择“扩展”

  2. 在搜索栏中输入 Cosmos

  3. 选择“Azure Cosmos DB Migration for MongoDB”扩展并查看其详细信息。

    Azure Cosmos DB for MongoDB 迁移扩展安装按钮的屏幕截图。

  4. 选择“安装” 。

配置扩展设置

安装扩展后,可以配置一些扩展设置。 此步骤是可选的。 如果未显式配置任何设置,则扩展将使用默认设置。

  1. 转到扩展并选择“Azure Cosmos DB Migration for MongoDB”,选择“管理设置”图标,然后选择“扩展设置”。

    扩展设置选择的屏幕截图。

  2. 在此扩展的扩展设置下,提供 Assessment path 以更改评估元数据的存储位置。 如果留空,则会使用默认位置。

连接 MongoDB 源

首次使用扩展连接到现有的 MongoDB 源实例。 开始本部分的操作前,请确保已准备好源的连接凭据。

  1. 在菜单栏中转到连接图标,选择“新建连接”

    扩展中的连接菜单栏屏幕截图。

  2. 在“连接”窗格中填写以下字段:

    连接类型 Azure Cosmos DB for MongoDB
    连接字符串/参数 使用现有源 MongoDB 实例的连接字符串或参数。
    服务器组 Default
    名称(可选) 提供此连接的唯一名称。
  3. 选择“连接” 。

  4. 在“连接”窗格中打开新建连接的“上下文菜单”。 然后选择“管理”。

    “管理数据库”屏幕的屏幕截图。

  5. 选择 Azure Cosmos DB 迁移

    “迁移评估数据库”屏幕的屏幕截图。

运行评估

评估会检查当前的 MongoDB 数据资产和利用率。 然后,评估功能会生成一份全面报告,协助确定将工作负荷迁移到 Azure Cosmos DB for MongoDB 之前要采取的必要操作。

  1. 前往“仪表板”选项卡。然后选择“评估和迁移数据库”。

    扩展迁移功能中的“仪表板”选项卡屏幕截图。

  2. 完成向导以向扩展提供详细信息,以便扩展可以执行评估。

    验证凭证之前的评估详细信息屏幕截图。

    1. 在“评估名称”字段中输入标题

    2. 在“产品/服务”下拉列表中选择目标 Azure Cosmos DB for MongoDB 帐户。

    3. 提供 MongoDB 日志的路径

      提示

      这是一个可选字段,但指定日志路径会在集合级别生成更精细的发现。 当未指定日志文件夹时,此工具使用 serverStatus 命令中的详细信息来执行评估。

      serverStatus 命令会返回仅自上次重启以来的功能使用情况,因此,需要确保自上次服务器重启后已经过去足够长的时间,以便评估能准确反映实际工作负载。

    4. 提供“数据评估日志”的路径。

      提示

      尽管此字段是可选的,但提供数据评估日志可以提供有关工作负载的更详细见解。 通过扫描数据和读取详细日志来获取这些日志。 数据评估将在启动迁移评估之前作为 CLI 独立运行,然后在此处提供生成的 JSON。 在此处下载数据评估 CLI。

    5. 选择“运行验证”以验证评估输入内容。

  3. 验证成功后,选择“开始评估”即可运行评估。

    验证凭证之后的评估详细信息屏幕截图。

  4. 评估需要几分钟时间,具体取决于源服务器的大小。 等待评估完成,然后继续。

    正在进行的新评估屏幕截图。

  5. 评估完成后,就可获得评估报告。

    源 MongoDB 实例的新评估报告屏幕截图。

  6. 在评估报告中,选择相应实例名称即可查看服务器范围内的问题列表。 选择相应数据库即可查看该数据库的问题。

    源 MongoDB 实例中选定数据库的新评估报告屏幕截图。

  7. 选择“下载报告”即可获取可下载的合并报告。

  8. 研究评估报告,以确定在 Azure Cosmos DB for MongoDB 上无缝迁移工作负荷需要采取的操作。 开始下一步之前,请确保评估中报告的所有阻塞性问题都已解决。 如果存在未解决的问题,可以退出该流程,稍后再处理这些问题。 问题解决后,返回并重启评估和迁移流程。

执行迁移

现在,使用评估报告将数据从源 MongoDB 实例迁移到基于 vCore 的 Azure Cosmos DB for MongoDB 目标帐户。

  1. 在评估报告屏幕上,选择计划迁移的数据库。 然后选择下一步

    已选择的要迁移的数据库屏幕截图。

  2. 按订阅和资源组依次进行筛选,缩小列表范围,以便选择目标 Azure Cosmos DB for MongoDB 帐户。 然后提供连接到该帐户所需的连接凭证。

    目标 Azure Cosmos DB for MongoDB 帐户选择屏幕截图。

  3. 选择“测试连接”以验证 Azure Cosmos DB for MongoDB 帐户的凭据。 选择“下一步”,到达将集合从源映射到目标的页面。

  4. 为映射列表中的每个集合选择“跳过”或“迁移”。 目标中已存在的集合会自动用图标标记,并默认设置为“跳过”。 选择“下一步”,配置 Azure 数据库迁移服务 (DMS)。

    从源到目标的集合映射屏幕截图。

    警告

    选择“迁移”现有集合会覆盖整个集合,导致数据丢失且不可恢复。 请谨慎选择此选项。

  5. 从下拉列表中选择现有的 Azure 数据库迁移服务实例,或选择“新建”以创建新的迁移服务。 Azure 数据库迁移服务可以将数据移入和移出 Azure 数据平台,它采用云基础结构(而非依赖本地资源)进行数据传输。

    选择迁移服务的选项屏幕截图。

  6. 选择最适合用例的迁移模式。

    • 在线迁移会复制集合数据,确保在此过程中也会复制更新。 此方法的优势在于停机时间极端,有利于确保持续运行以实现业务连续性。 如果正在进行的操作至关重要,需要优先考虑减少停机时间,则可以使用此选项。
    • 离线迁移会首先捕获数据库的快照,提供更简单且可预测的方法。 如果可以接受使用数据库的静态副本,实时更新并不重要,则可以使用这种方法。
  7. 选择“下一步”可查看迁移摘要。 查看并确认摘要中的详细信息,然后选择“创建架构”以在目标帐户上创建资源。

    查看迁移摘要的选项屏幕截图。

  8. 选择“开始迁移”以使用所选迁移服务启动数据传输。

    使用迁移服务启动迁移的选项屏幕截图。

  9. 在“确认设置”弹出窗口中,验证防火墙设置是否符合要求。 选择确定以确认。

    用于验证防火墙设置的“确认设置”弹出窗口屏幕截图。

数据迁移任务在 Azure 数据库迁移服务上运行,因此无需在数据迁移期间连接到源环境和目标环境。 此状态会在仪表板上以频繁的间隔更新

注意

如果选择迁移的集合超过 50 个,迁移服务会将迁移作业分批成多个作业,每个批次作业最多包含 50 个集合。

  1. 作业初始化后,就可在仪表板页上监视迁移状态。

    显示了迁移状态的仪表板屏幕截图。

  2. 要查看更多详细信息,请在迁移列表中选择相应的迁移。

监视离线迁移

完成所有数据迁移任务后,状态会自动更新。

显示了迁移状态的集合屏幕截图。

将数据从源成功复制到目标后,离线迁移状态会指示成功。

迁移状态为“成功”的屏幕截图。

  • 更改应用程序的连接字符串,使其指向目标帐户。

监视在线迁移

与离线迁移不同,在线迁移不会自动完成。 相反,它们会持续运行,直到通过选择“直接转换”手动完成。

在线迁移状态的屏幕截图。

要完成在线迁移,请按给定顺序执行以下步骤:

  1. 所有集合完成初始数据加载后,“直接转换”按钮将会启用。 迁移当前处于复制阶段,持续将更新从源实例复制到目标实例,确保其应用了最新更改。

  2. 准备好执行迁移直接转换后,停止正在迁移的源集合的所有传入事务。

  3. 监视表中的复制更改,并等待“复制更改播放”指标稳定下来。 稳定的“复制更改播放”指标表明源中的所有更新都已成功复制到目标。

  4. 在所有集合的复制差距极小且“复制更改播放”指标稳定时,请选择“直接转换”

  5. 手动验证源集合和目标集合之间的行计数是否相同。

  6. 在弹出对话框中。 选择“完成直接转换”
    在线迁移直接转换弹出窗口的屏幕截图。

    注意

    如果在不验证源和目标是否同步的情况下执行直接转换操作,可能会导致数据丢失。

  7. 等待状态变为“成功”

  8. 更新应用程序的连接字符串,使其指向目标帐户。

查看过去的迁移和评估

查看过去的评估和迁移通常很有用。 此扩展提供了一个界面,可供查看过去的评估和迁移摘要。 此扩展还提供查看详细历史评估报告的功能。

  1. 若要查看过去的迁移,请在工具栏上选择“迁移”选项卡。 迁移列表包含当前计算机上启动过的所有迁移。 可在列表上选择相应迁移了解更多详细信息。

    使用该扩展创建的所有迁移的列表屏幕截图。

  2. 若要查看过去的评估,请在工具栏上选择“评估”选项卡。 评估列表包含当前计算机上启动过的所有评估。

    使用该扩展执行的所有评估的列表屏幕截图。

下一步