Compartir a través de

评估 MongoDB 安装并规划向 Azure Cosmos DB for MongoDB vCore 迁移

在将数据迁移到 Azure Cosmos DB for MongoDB vCore 之前,需要先执行前期规划任务并做出关键决策。 这些决策会让迁移过程顺利运行。

先决条件

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

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

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

  • Resource-Specific 建议:每个发现都包含受影响的资源名称、可作的建议以及修正的相关技术详细信息。

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

  • 兼容性和平台约束:详细介绍特定于 Cosmos DB 的配额、限制以及分片工作负荷中潜在的分片密钥不兼容性。

运行评估

  1. 若要开始,请在 VS Code 中安装 Azure Cosmos DB 迁移 扩展。 这将自动安装其必备组件 DocumentDB for VS Code 扩展。

  2. 打开 DocumentDB for VS Code 扩展。

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

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

  5. 在命令面板中,选择 Azure Cosmos DB for MongoDB 的预迁移评估 Visual Studio Code 中命令面板的屏幕截图。

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

    重要

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

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

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

    提示

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

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

    提示

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

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

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

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

查看过去的评估

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

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

FAQ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

评估包括检查:

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

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

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

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

注释

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

容量计划

群集层

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

存储层

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

下一步