将 VMware VM 迁移到Azure(无代理)

本文介绍如何使用 Azure Migrate:服务器迁移工具将本地 VMware VM 迁移到 Azure,以及无代理迁移。 还可以使用基于代理的迁移来迁移 VMware VM。 比较方法。

Note

教程中演示了方案的最简单部署路径,使你能够快速设置概念证明。 教程尽可能使用默认选项,不会演示所有可能的设置和路径。

本教程介绍如何执行下列操作:

  • 确保满足无代理迁移执行的先决条件,包括设备设置、发现和所需权限。
  • 开始迁移执行。
  • 跟踪和监视迁移。
  • 运行测试迁移,确保一切按预期正常进行。
  • 运行完整的 VM 迁移。

如果没有 Azure 订阅,请在开始前创建 试用订阅

Prerequisites

开始学习本教程之前,应做好以下准备:

  1. 完成第一个教程以准备Azure和 VMware 进行迁移。

  2. 建议先完成第二个教程来评估 VMware VM,然后再将其迁移到Azure,但无需。

  3. 转到已创建的项目或创建新项目

  4. 验证 Azure 帐户的权限 - Azure 帐户需要有权创建 VM 并将数据写入 Azure 托管磁盘。

  5. 有关创建项目并运行发现、评估和迁移所需的 Azure Migrate 内置角色和权限详细信息,请参阅 准备适用于 Azure Migrate 的 Azure 帐户

    Note

    如果计划升级Windows操作系统,Azure Migrate可能会下载 Windows SetupDiag,了解升级失败时的错误详细信息。 确保迁移后在Azure中创建的 VM 有权访问 SetupDiag。 如果无法访问 SetupDiag,可能无法获取详细的 OS 升级失败错误代码,但升级仍可以继续。

设置Azure Migrate设备

Azure Migrate:服务器迁移工具使用一个轻量级的 VMware VM 设备进行 VMware VM 的发现、评估和无代理迁移。 如果您遵循 评估教程,那么您已经设置好设备了。 如果尚未这样做,请使用以下方法之一立即进行设置:

  • 脚本:使用 PowerShell 安装程序脚本在 VMware VM 或物理计算机上进行设置

创建设备后,请检查它是否可以连接到Azure Migrate:服务器评估,首次配置它,并将其注册到Azure Migrate项目。

执行迁移

设置设备并完成发现后,可以开始将 VMware VM 复制到Azure。

  • 最多可以同时运行 500 个复制。
  • 在门户中,一次最多可选择迁移 10 个 VM。 若要迁移更多计算机,请将它们 10 个一批地添加到组中。

Note

Azure Migrate 不支持对包含非 ASCII 字符的 VMDK 的 VMware VM 进行无代理迁移。

请按如下所述启用复制:

  1. 在 Azure Migrate 项目 >Execute>Migration中,选择 Start execution

    如何导航以启动执行操作的屏幕截图。

  2. Specify intent 中,>您想迁移什么,选择 Servers 或 虚拟机(VM)。 在要迁移到的位置下,选择Azure VM

  3. “如何选择工作负荷”中,在“Azure迁移设备源”下选择以下选项之一,

    • 从所有库存中,手动选择服务器
    • 从评估 到使用现有评估
  4. Discovery 方法中,选择与源环境匹配的设备(在本例中为 VMware vSphere)。 在 迁移模式下,选择 无代理迁移

    屏幕截图显示了如何在迁移模式下选择与源环境匹配的适用性。

  5. 工作负荷中,

    • 选择 目标 VM 安全类型

      • Azure Migrate支持迁移到受信任启动虚拟机。 默认情况下,它将符合条件的 VM 迁移为 TVM。 这些 VM 提供增强的安全功能,例如安全启动和虚拟 TPM,无需额外付费。
      • 还可以将符合条件的计算机迁移到机密虚拟机(预览版)了解详细信息。 如果选择 机密虚拟机,则只有符合条件的服务器可供选择,其余服务器灰显。
    • 然后,选择要复制和迁移的计算机,然后单击“ 下一步”。

  6. 在“目标设置”中,选择订阅、目标区域和存储帐户。

    • 存储帐户:保留默认选项以使用门户自动为项目创建的缓存存储帐户。 若要使用不同的存储帐户进行复制,请从下拉列表中选择它。

    Note

    • 启动 VM 的第一次复制后,无法更改目标区域和存储帐户。 下拉列表中选择的默认选项用于创建新的存储帐户。 如果未选择任何选项,则会在启用复制的最后一步中创建存储帐户。
    • Azure 混合权益:通过使用符合条件的 Windows Server 和/或 Enterprise Linux 许可证,使用 Azure 混合权益,与标准预付费套餐成本相比最多可节省 76%。 选中适用于许可证的复选框(Windows Server许可证或 Enterprise Linux 许可证)。

    • 虚拟网络:选择迁移后Azure VM 加入的Azure虚拟网络和子网。

    • 可用性选项:选择以下选项之一:

      • 可用性区域 - 将迁移的计算机固定到区域中的特定可用性区域。 使用此选项可跨可用性区域分发属于多节点应用程序层的计算机。 如果选择此选项,请在“计算”选项卡上为每个选定的计算机指定可用性区域。仅当所选目标区域支持可用性区域时,此选项才可用。
      • 可用性集 - 将迁移的计算机置于可用性集中。 所选目标资源组必须包含一个或多个可用性集。
      • 不需要基础架构冗余- 如果迁移后的计算机不需要可用性区域或可用性集,请选择此选项。
    • 安全详细信息中,

      • 如果所选目标安全类型为 标准虚拟机或受信任启动虚拟机

        • 默认启用安全启动(建议)。 可以选择删除此选项。 然后,继续选择 “磁盘加密类型 ”。
      • 如果所选的目标安全类型为 机密虚拟机

        • 可以选择机密加密 OS 磁盘。 此加密提供额外的加密层,用于将磁盘加密密钥绑定到虚拟机的 TPM,并使磁盘内容只能访问 VM。

        • 若要启用此加密,请选择 “机密计算加密 ”选项,然后继续选择 OS 磁盘加密类型 。 否则,请继续选择 “磁盘加密类型 ”。

        • OS 磁盘加密类型下,选择以下选项之一:

          • 使用平台管理的密钥进行静态加密(默认值,如果未选择 机密计算加密

          • 使用平台管理的密钥进行机密加密(如果已选择 机密计算加密)可用)

          • 使用客户管理的密钥进行机密加密(如果选择了 机密计算加密可用)

            Note

            RHEL 和 Rocky Linux VM 不支持机密 OS 磁盘加密。 如果需要 OS 磁盘加密,请从选择中删除这些 VM。

      • 磁盘加密类型,选择:

        • 使用平台管理的密钥进行静态加密
        • 使用客户管理的密钥进行静态加密
        • 通过平台管理的密钥和客户管理的密钥进行双重加密

    Note

    • 若要使用客户管理的密钥 (CMK) 复制 VM,请在目标资源组中创建磁盘加密集。 磁盘加密集配置对象将托管磁盘映射到包含用于 SSE 的 CMK 的密钥保管库。
    • 种子磁盘会在切换前的复制/暂存阶段在 Azure 中创建。 对其进行加密可在数据存储于 Azure 期间,从首次写入时起就保护数据。 磁盘加密类型设置适用于最终迁移后的种子磁盘和托管磁盘。
  7. 在“计算”中,查看 VM 名称、大小、OS 磁盘类型和可用性配置(如果在上一步中选定)。 确保 VM 符合Azure要求

    • VM 大小:如果你正在使用评估建议,则 VM 大小下拉列表会显示建议大小。 否则,Azure Migrate 将根据 Azure 订阅中最近匹配的尺寸选择大小。 或者,在 Azure VM 大小 中选择手动大小。
    • OS 磁盘:为 VM 指定 OS(启动)磁盘。 OS 磁盘是包含操作系统引导加载程序和安装程序的磁盘。
    • 可用性区域:指定要使用的可用性区域。
    • 可用性集:指定要使用的可用性集。
    • 容量预留:如果目标订阅和位置中已有 VM SKU 的容量预留,请在此为该部署指定该容量预留。 容量预留可确保开始迁移时所需的 VM SKU 可用。 现在可以关联预留,也可以跳过此步骤,并在迁移过程中稍后对其进行配置。 SKU 的容量预留可以位于目标订阅和位置中的任何资源组中。了解详细信息

    Note

    如果要为一组虚拟机选择其他可用性选项,请转到步骤 1,在开始为一组虚拟机执行复制后,通过选择其他可用性选项来重复这些步骤。

  8. 磁盘中,指定 VM 磁盘是否应复制到Azure,并为复制的磁盘选择磁盘类型(高级 SSD v2、超级磁盘、标准 SSD、标准 HDD 或高级 SSD)。 然后选择下一步

    Note

    若要优化成本和提高性能,现在可以迁移到高级 SSD v2 作为数据磁盘使用。

  9. 在“标记”中,选择向虚拟机、磁盘和 NIC 添加标记。

  10. “查看”和“开始执行”中,查看设置,然后选择“ 查看并启动执行 ”以启动服务器的初始复制。

Note

如果与 Azure 的连接中断,或者设备服务不可用时间超过 90 分钟,复制周期将重置为 0%。

跟踪迁移过程

  1. 在Azure Migrate项目中,转到“执行”>迁移。 使用 “按应用程序查看 ”或 “按工作负荷查看 ”切换项分组方式。

    屏幕截图显示了如何在两个不同的视图之间切换。

  2. 复制按如下方式进行:

    • 启动复制作业成功完成后,机器开始其初始复制到 Azure。
    • 在初始复制期间,会创建一个 VM 快照。 快照中的磁盘数据会被复制到 Azure 中的副本托管磁盘(种子磁盘)。
    • 初始复制完成后,增量复制将会开始。 对源磁盘的增量更改会定期复制到Azure中的副本磁盘,VM 已准备好在增量复制中迁移。
  3. 执行进度显示在 执行阶段 和执行 状态

    • 执行阶段:准备、测试或完成。
    • 执行状态:正在进行、出错、操作挂起或已完成。
  4. 执行阶段中,执行进度分三个阶段进行跟踪:

    1. 准备

      • 在初始复制(数据复制)进行期间,已启用复制的服务器将一直处于“准备”阶段。
      • 如果需要,您可以在此阶段使用服务器详细信息边栏中的下拉列表执行 停止复制启动复制 操作。
      • 初始复制完成后,服务器将移动到 测试 阶段。

      屏幕截图显示了“准备”阶段。

    2. 测试

      • 初始复制完成且增量复制正在进行的服务器将移动到测试阶段。
      • 可以选择在实际迁移(建议)之前在测试虚拟网络上执行测试迁移。
      • 可以使用“ 完成 ”下拉菜单中提供的操作,跳过测试阶段并直接开始迁移。
    3. 完成

      • 已完成测试迁移或已跳过测试迁移的服务器会进入此阶段。 可以为这些服务器执行最终迁移(切换)。
      • 迁移完成后,使用服务器详细信息面板中提供的下拉列表,执行“完成迁移”以清理迁移资源。

监视和加快迁移

  1. 使用 PowerShell 查看 剩余时间,在 Azure Migrate 中的所有服务器迁移阶段。 这有助于准确跟踪复制进度和计划切换。 可以使用 PowerShell 或Windows PowerShell。

  2. 使用管理员权限打开 Powershell 控制台,在Azure中 Sing 并运行以下命令以监视所需的服务器的迁移状态。

    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>" -ResourceGroupName "<your-resource-group>" -MachineName "<your-server-name>"
    
  3. your-project-nameyour-resource-groupyour-server-name 替换为实际Azure Migrate项目、资源组和服务器名称。

  4. 运行此命令并获取以下输出:

    屏幕截图显示了运行命令时的输出。

  5. 输出显示服务器复制状态、磁盘进度、剩余时间、上传速度和数据存储详细信息。

  6. 使用 Expedite 标志运行命令。 这会检索设备操作参数和推荐操作的优先级列表,以帮助减少指定服务器的剩余迁移时间。

    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>"   -ResourceGroupName "<your-resource-group>" -MachineName "<your-server-name>" -Expedite 
    
    
  7. 将返回以下输出:

    屏幕截图显示了服务器迁移状态的输出。

  8. 可以运行命令,而无需 -MachineName 查看项目中所有服务器的迁移状态和剩余时间。 例如:

    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>" -ResourceGroupName "<your-resource-group>"
    
  9. your-project-nameyour-resource-group 替换为实际Azure Migrate项目和资源组名称。

  10. 运行此命令并获取以下输出:

    屏幕截图显示了总体复制状态。

  11. 如果复制或切换出现问题,该 -Health 标志会显示 错误、可能的原因和建议措施,用于排查迁移问题。

    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>" -ResourceGroupName "<your-resource-group>" -MachineName "<your-server-name>" -Health
    
  12. 运行此命令并获取以下输出:

    屏幕截图显示了复制完成状态。

  13. 若要查看 连接到该设备的所有服务器的迁移状态、剩余时间和运行状况详细信息,请仅 -ApplianceName运行命令。

    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>" -ResourceGroupName "<your-resource-group>" -ApplianceName "<your-appliance-
    
  14. your-project-nameyour-resource-groupyour-appliance-name 替换为来自 Azure Migrate 设置的实际值。

  15. 运行以下命令以获取以下输出:

    屏幕截图显示了 Azure Migrate 服务器迁移状态。

    Note

    可以在任何Windows计算机上使用 PowerShell 或Windows PowerShell。 只要计算机有权访问Azure Migrate项目,计算机就指任何Windows电脑,而不是设备或服务器。

运行测试迁移

增量复制开始时,可以在运行完整迁移到Azure之前,为 VM 运行测试迁移。 我们强烈建议在迁移之前,针对每台计算机至少执行此操作一次。

  • 运行测试迁移检查迁移是否按预期工作,同时不会影响源(本地)计算机的运行状态,它们将继续正常运行和复制。
  • 测试迁移通过使用复制的数据创建 Azure VM,通常将其迁移到 Azure 订阅中的非生产 VNet。
  • 可以使用复制的测试Azure VM 来验证迁移、执行应用测试,并在完全迁移之前解决任何问题。

按如下所述执行测试迁移:

  1. 在 Azure Migrate 项目中,在 Execute>Migrations>单击Workloads 列下的服务器名称,选择要进行测试迁移的服务器。

  2. 在详细信息面板的测试下拉菜单中,选择开始测试迁移

    屏幕截图显示如何选择以启动测试迁移。

  3. 测试迁移中,选择测试期间Azure VM 所在的Azure VNet。 建议使用非生产虚拟网络 (VNet)。

    屏幕截图显示选择用于测试迁移的 Azure VNet。

  4. 选择要关联到迁移后虚拟机的每个网络接口卡(NIC)的子网。

  5. 可以选择在测试迁移期间升级Windows Server OS。 若要升级,请选择“可用升级”选项。 在显示的窗格中,选择要升级到的目标 OS 版本,然后选择“应用”。 了解详细信息

  6. 选择 “测试迁移 ”以启动作业。 在门户的 执行状态 中监控作业状态。 测试迁移完成后,通过导航到服务器并选择“测试”下拉列表中的“清理测试迁移”来清理测试资源。

    Note

    现在可以使用 SQL VM RP 注册运行 SQL Server 的服务器,以利用自动修补、自动备份和使用 SQL IaaS 代理扩展简化的许可证管理。

    • 在“执行迁移”页的>”列下选择服务器。 在“计算和网络设置”中,选中与 SQL IaaS 扩展注册关联的复选框。
    • 如果您拥有受活动软件保障或SQL Server订阅覆盖的SQL Server实例,并希望将权益应用于正在迁移的计算机,请选择适用于SQL Server的 Azure 混合权益。

迁移 VM

验证测试迁移是否按预期工作后,可以迁移源(本地)计算机。

  1. 在Azure Migrate项目中,在 Execute>Migrations>单击Workloads列下的服务器名称,选择要执行最终迁移的服务器。

  2. 在“深入展开”边栏中的“完成”下拉列表下,选择“迁移”。

    屏幕截图显示了完成阶段。

  3. 在“迁移”>“关闭虚拟机并执行计划迁移(不会丢失任何数据)”中,选择“是”>“确定”。

    • 默认情况下,Azure Migrate关闭源(本地)VM,并运行按需复制以同步自上次复制发生以来发生的任何 VM 更改。 这可以确保不会丢失数据。
    • 如果你不想要关闭 VM,请选择“否”
  4. 可以选择在迁移期间升级Windows Server OS。 若要升级,请选择“可用升级”选项。 在显示的窗格中,选择要升级到的目标 OS 版本,然后选择“应用”。 了解详细信息

  5. 如果您在目标订阅和位置中已有 VM SKU 的容量预留,请在此处为当前部署指定该容量预留。 容量预留可确保开始迁移时所需的 VM SKU 可用。 SKU 的容量预留可以位于目标订阅和位置中的任何资源组中。 了解详细信息

  6. 服务器开始迁移作业。 在Azure通知中跟踪任务。

  7. 作业完成后,可以从“ 迁移 ”页查看和管理服务器,该页将在 “完成 ”阶段下进行跟踪。

完成迁移

  1. 迁移完成后,在服务器的向下钻取页中,在“ 完成 ”下拉列表下,选择“ 完成迁移”。 这会停止源(本地)计算机的复制,并清理 VM 的复制状态信息。

    屏幕截图显示了迁移的完成情况。

  2. 迁移期间,我们会自动为 Windows VM 和 Linux 安装 VM 代理。

  3. 验证并排查 Azure 虚拟机上的任何 Windows 激活问题。

  4. 执行任何迁移后的应用调整,例如更新主机名、数据库连接字符串和 Web 服务器配置。

  5. 对已迁移到Azure中运行的应用程序执行最终应用程序和迁移验收测试。

  6. 将流量切换到已迁移的 Azure VM 实例。

  7. 从本地 VM 清单中删除源(本地)VM。

  8. 从本地备份中删除源(本地)VM。

  9. 更新任何内部文档以显示Azure VM 的新位置和 IP 地址。

迁移后的最佳做法

  • 为了提高复原能力:

    • 通过使用 Azure 备份 服务备份Azure VM 来保护数据。 了解详细信息
    • 通过将Azure VM 复制到具有Site Recovery的次要区域,使工作负荷保持运行并持续可用。 了解详细信息
  • 为了提高性能:

    • 默认情况下,创建的数据磁盘的主机缓存设置为“无”。 查看数据磁盘缓存并根据工作负载需求进行调整。 了解详细信息
  • 为了提高安全性:

  • 用于监控和管理:

  • 请考虑部署 Azure 成本管理 以监视资源使用情况和支出。

后续步骤

调查 Azure 云采用框架 中的 云迁移旅程