评估 MongoDB 安装和计划迁移到 Azure DocumentDB

在将数据迁移到 Azure DocumentDB 之前,先执行前期规划任务并做出关键决策。 这些决策使迁移过程顺利运行。

先决条件

  • 现有的 MongoDB 安装。

评估资源的兼容性和准备情况以供迁移

在规划迁移之前,请评估现有 MongoDB 资源的状态,以帮助规划迁移。 使用 VS Code 中的 Azure DocumentDB 迁移扩展来评估工作负荷的兼容性和就绪性,同时规划从 MongoDB 迁移到 Azure DocumentDB。 端到端评估,并找出您需要采取的步骤,以确保您的工作负载在 Azure Cosmos DB 上无缝运行。 评估报告在帐户、数据库和收集级别提供结果,每个结果都标记为“严重”、“警告”或“信息”,具体取决于严重性以帮助确定优先级。 报告包括:

  • 不支持的功能和语法:它标记不受支持的 MongoDB 功能、命令、查询语法和索引类型,其使用频率用于确定修复的优先级。

  • 特定资源建议:每个发现都包含受影响的资源名称、可操作的建议以及改进的相关技术详细信息。

  • 环境概述:汇总源 MongoDB 环境的关键方面,例如数据库和集合的版本、许可证、实例类型和统计信息。

  • 兼容性和平台约束:详细说明 Azure DocumentDB 的特定配额、限制,以及针对分片工作负载的潜在分片键不兼容问题。

进行评估

  1. 要开始,请在 VS Code 中安装 Azure DocumentDB 迁移扩展。 这会自动安装其必备组件 适用于 Visual Studio Code 的 DocumentDB 扩展。

  2. 从活动栏中打开 DocumentDB 。

  3. 添加要评估的 MongoDB 服务器以迁移到 文档数据库连接 列表。

  4. 展开所选连接,然后右键单击并选择 “数据迁移...”。 文档数据库连接中右键单击菜单的屏幕截图。

  5. 在命令面板中,选择迁移到 Azure DocumentDB。 命令面板中列出了 Visual Studio Code 内的迁移工具的截图。

  6. 然后选择 Azure DocumentDB 的迁移前评估。 Visual Studio Code 命令面板的截图,显示了预迁移评估选项。

  7. 评估向导引导您完成三个步骤。 在 “开始验证 ”步骤中,选择“ 运行验证 ”以验证凭据、先决条件和连接,然后再继续作。 评估向导中“开始验证”步骤的屏幕截图。

    重要

    若要执行评估,连接的 MongoDB 用户必须具有在源实例上分配的 readAnyDatabase 和 clusterMonitor 角色。

  8. 在 “填写评估详细信息 ”步骤中,提供所需的输入: 评估向导中“填写评估详细信息”步骤的屏幕截图。

    • 在 “评估名称 ”字段中输入标题。
    • 从“产品/服务”下拉列表中选择 vCore。
    • 提供 MongoDB 日志的路径。

    小窍门

    虽然是可选的,但指定日志路径允许在集合级别进行更详细的发现。 如果省略,该工具依赖于命令中的数据 serverStatus ,该命令仅反映自上次重启以来的功能使用情况。 允许在上次服务器重启后经过足够的时间,以便进行准确的工作负荷评估。

    • 提供数据评估日志的路径。

    小窍门

    虽然是可选的,但提供数据评估日志可增强工作负荷见解。 这些日志是通过扫描数据和读取详细日志生成的。 在启动迁移评估之前,数据评估会独立作为 CLI 运行,并在此处使用生成的 JSON。 在此处下载数据评估 CLI。

  9. 选择 “开始评估 ”以开始评估过程。

  10. 在 “获取报表 ”步骤中,等待评估完成。 持续时间取决于源服务器的大小。 评估正在进行时评估向导中“获取报表”步骤的屏幕截图。

  11. 评估完成后,选择“ 下载报表 ”以检索 HTML 报表。 评估完成后评估向导中“获取报表”步骤的屏幕截图。

查看过去的评估

查看以前的评估可能很有价值。 使用 查看过去的评估选项卡可以access详细的历史报告。 评估列表包括在当前使用的计算机上针对所选连接启动的所有评估。

扩展中“查看过去评估”选项卡的屏幕截图。

FAQ

如果“运行验证”步骤失败,我该如何继续操作?

检查扩展中显示的错误消息以确定验证失败的原因。 常见问题包括无法连接到 MongoDB 终结点或连接服务器上的用户权限不足。

若要运行评估,请确保连接的 MongoDB 用户在源实例上分配有 readAnyDatabase 和 clusterMonitor 角色。

用于 grantRolesToUser 向当前用户分配必要的角色。

如何在“功能兼容性”评估中查看集合和数据库名称?

该 serverStatus 命令用于功能兼容性评估。 但是,此命令不提供数据库或集合名称,这会阻止扩展报告它们。

有关更详细的评估结果,请重新运行评估,并在 “日志文件夹路径” 字段中指定包含 MongoDB 日志的文件夹。

我如何配置我的源服务器的防火墙以防止连接问题?

确保源 MongoDB 实例允许来自计算机的传入连接。

可以同时运行多少个评估?

可以同时进行的评估数量没有限制。 但是,并行运行多个评估会对计算机和源服务器上的计算资源造成压力,这可能会影响性能。

评估报告中包含哪些信息?

报告从有关评估的关键详细信息开始,包括源 MongoDB 环境的摘要。 本部分介绍源 MongoDB 版本、许可证类型和实例类型。 它还列出了评估的数据库和集合及其评估摘要和迁移准备情况。

调查结果分为 “严重”、“ 警告”和 “信息”,帮助你根据重要性确定优先级。

评估包括检查:

类别 Description
集合选项 标识不受支持的集合设置,例如时间序列配置和排序规则。
特征 检测不支持的数据库命令、查询语法和运算符,包括聚合管道查询。 “额外详细信息”列显示源实例上使用每个功能的频率。
限制和配额 重点介绍 Azure DocumentDB 配额和限制。
索引 标志不支持的 MongoDB 索引类型和属性。
分片键 标识不支持的分片密钥配置。

扩展生成的日志类型是什么?

扩展记录默认日志目录中的错误、警告和其他诊断日志:

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • macOS - /Users/<username>/.dmamongo/logs

注释

每天创建一个单独的日志文件。 默认情况下,扩展存储最后七个日志文件。

容量规划

群集层

从与源数据库配置相符的群集层开始。 执行负载和性能测试,以确定成本和性能之间的最佳平衡。

存储层

确保目标帐户预配足够的storage,以满足迁移期间和之后的数据要求。 首先迁移小型数据集以评估storage消耗量,然后根据总数据大小缩放估算值,以确定必要的storage分配。 保留额外的空间,以适应传入的数据和未来的增长。

后续步骤

将数据从 MongoDB 迁移到 Azure DocumentDB