将 Hyper-V VM 迁移到 Azure

本文介绍如何使用 Azure Migrate 和服务器迁移工具将本地 Hyper-V 虚拟机 (VM) 迁移到 Azure。

本教程是教程系列中的第三篇,演示如何评估计算机并将其迁移到 Azure。

注意

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

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

  • 添加 Azure Migrate 和服务器迁移工具。
  • 发现要迁移的 VM。
  • 开始复制 VM。
  • 运行测试迁移,确保一切按预期正常进行。
  • 运行完整的 VM 迁移。

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

先决条件

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

  1. 查看 Hyper-V 迁移体系结构。
  2. 查看 Hyper-V 主机迁移要求,以及迁移 VM 时 Hyper-V 主机和群集需要访问的 Azure URL。
  3. 查看要迁移到 Azure 的 Hyper-V VM 要求。
  4. 建议在迁移到 Azure 之前评估 Hyper-V VM,但不强制要求这样做。
  5. 转到已创建的项目或创建新项目。
  6. 验证 Azure 帐户的权限。 你的 Azure 帐户需要具有相应权限才能创建 VM、在 Azure 托管磁盘中写入数据,以及管理与 Azure Migrate 项目关联的恢复服务保管库的故障转移操作。

注意

若要使用适用于 Linux 的 Azure 混合权益,请根据操作系统类型执行以下操作:

对于 SLES,请运行以下命令:

wget --no-check-certificate https://52.188.224.179/late_instance_offline_update_azure_SLE15.tar.gz sha1sum late_instance_offline_update_azure_SLE15.tar.gz tar -xvf late_instance_offline_update_azure_SLE15.tar.gz cd x86_64 zypper --no-refresh --no-remote --non-interactive in *.rpm

对于 RHEL,请将 SELinux 模式设置为 Permissive 或禁用。

注意

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

下载提供程序

为迁移 Hyper-V VM,“Azure Migrate 和服务器迁移”工具会在 Hyper-V 主机或群集节点上安装软件提供程序(Microsoft Azure Site Recovery 提供程序和 Microsoft Azure 恢复服务代理)。 Azure Migrate 设备不用于 Hyper-V 迁移。

  1. 在 Azure Migrate 项目中,选择“Windows、Linux 和 SQL Server”>“Azure Migrate: 服务器迁移”>“发现”。

  2. 在“发现计算机”>“计算机是否已虚拟化?”中,选择“是,使用 Hyper-V”。

  3. 在“目标区域”中,选择要将计算机迁移到的 Azure 区域。

  4. 选择“确认迁移的目标区域为 <区域名称>”。

  5. 选择“创建资源”。 此步骤会在后台创建一个恢复服务保管库。

    • 如果已设置使用 Azure Migrate 和服务器迁移工具进行迁移,则不会显示此选项,因为之前已设置了资源。
    • 选择此按钮后,无法更改此项目的目标区域。
    • 所有后续迁移的目标都是此区域。
  6. 在“准备 Hyper-V 主机服务器”中,下载 Hyper-V 复制提供程序和注册密钥文件。

    • 需要使用该注册密钥将 Hyper-V 主机注册到 Azure Migrate 和服务器迁移工具。
    • 生成的密钥有效期为 5 天。

    显示下载提供程序和密钥的屏幕截图。

  7. 将提供程序安装文件和注册密钥文件复制到运行要复制的 VM 的每个 Hyper-V 主机(或群集节点)。

安装并注册提供程序

若要安装和注册提供程序,请通过 UI 或命令执行以下步骤。

在每个主机上运行提供程序安装文件:

  1. 选择任务栏中的文件图标,以打开安装程序文件和注册密钥下载到的文件夹。
  2. 选择 AzureSiteRecoveryProvider.exe 文件。
    1. 在提供程序安装向导中,确保选择“启用(推荐)”,然后选择“下一步”
    2. 选择“安装”以接受默认安装文件夹。
    3. 选择“注册”以在恢复服务保管库中注册此服务器。
    4. 选择“浏览”。
    5. 找到注册密钥,然后选择“打开”。
    6. 选择下一步
    7. 确保选择“在不使用代理服务器的情况下直接连接到 Azure Site Recovery”,然后选择“下一步”
    8. 选择“完成”。

在主机上安装提供程序后,转到 Azure 门户,然后在“发现计算机”中选择“完成注册”。

显示“完成注册”屏幕的屏幕截图。

完成注册后,最长可能需要经过 15 分钟,已发现的 VM 才会出现在“Azure Migrate 和服务器迁移”磁贴中。 随着 VM 的发现,“已发现的服务器”计数会不断增大。

复制 Hyper-V VM

完成发现后,可以开始将 Hyper-V VM 复制到 Azure。

注意

最多可以同时复制 10 台计算机。 如果需要复制更多,则可以每批 10 台同时复制它们。

  1. 在 Azure Migrate 项目中,选择“Windows、Linux 和 SQL Server”>“Azure Migrate: 服务器迁移”>“复制”。

  2. 在“复制”>“源设置”>“你的计算机是否已虚拟化”中,选择“是,使用 Hyper-V”。 然后选择“下一步: 虚拟机”。

  3. 在“虚拟机”中,选择要复制的计算机。

    • 如果已针对 VM 运行评估,则可以应用评估结果中提供的 VM 大小和磁盘类型(高级/标准)建议。 为完成此步骤,请在“从 Azure Migrate 评估导入迁移设置?”中选择“是”。

    • 如果你未运行评估,或者不想要使用评估设置,请选择“否”。

    • 如果已选择使用评估,请选择 VM 组和评估名称。

      显示“选择评估”屏幕的屏幕截图。

  4. 在“虚拟机”中,根据需要搜索 VM,并检查要迁移的每个 VM。 然后选择“下一步: 目标设置”。

    显示“复制”对话框中的选定 VM 的屏幕截图。

  5. 在“目标设置”中,选择要迁移到的目标区域、订阅,以及迁移之后 Azure VM 所在的资源组。

  6. 在“复制存储帐户”中,选择将在 Azure 中存储复制数据的 Azure 存储帐户。

  7. 在“虚拟网络”中,选择 Azure VM 在迁移之后要加入到的 Azure 虚拟网络/子网

  8. 在“可用性选项”中,选择:

    • 可用性区域:将迁移的计算机固定到区域中的特定可用性区域。 使用此选项可跨可用性区域分配形成多节点应用程序层的服务器。 如果选择此选项,则需要在“计算”选项卡中指定用于每个选定计算机的可用性区域。仅当为迁移选择的目标区域支持可用性区域时,此选项才可用。
    • 可用性集:将迁移的计算机放入可用性集。 若要使用此选项,所选的目标资源组必须具有一个或多个可用性集。
    • 无需基础结构冗余:如果不需要为迁移的计算机使用其中任何可用性配置,则选择此选项。
  9. 在“Azure 混合权益”中,指定你是否已拥有 Windows Server 许可证或 Enterprise Linux 订阅(RHEL 和 SLES)。 如果已有许可证,并且许可证具有 Windows Server 或 Enterprise Linux 订阅(RHEL 和 SLES)的有效软件保障,则在将许可证引入 Azure 时,可以申请 Azure 混合权益。 然后选择下一步

    屏幕截图:目标设置。

  10. 在“计算”中,查看 VM 名称、大小、OS 磁盘类型和可用性配置(如果在上一步中选定)。 VM 必须符合 Azure 要求

    • VM 大小:如果你正在使用评估建议,则 VM 大小下拉列表将包含建议的大小。 否则,Azure Migrate 和 Modernize 会根据 Azure 订阅中最接近的匹配项选择大小。 或者,请在“Azure VM 大小”中的手动选择一个大小。
    • 操作系统类型:选择所用操作系统的类型(Windows 或 Linux)。
    • 操作系统:选择 Linux 计算机的操作系统版本以应用正确的许可证类型。
    • OS 磁盘:为 VM 指定 OS(启动)磁盘。 OS 磁盘是包含操作系统引导加载程序和安装程序的磁盘。
    • 可用性集:如果迁移后 VM 应位于某个 Azure 可用性集中,请指定该集。 该集必须位于为迁移指定的目标资源组中。
  11. 在“磁盘”中,指定需要复制到 Azure 的 VM 磁盘。 然后,选择“下一步”。

    • 可以从复制中排除磁盘。
    • 如果你排除了磁盘,则在迁移后它们将不会出现在 Azure VM 中。

    显示“复制”对话框的“磁盘”选项卡的屏幕截图。

  12. 在“标记”中,选择向 VM、磁盘和 NIC 添加标记。

    显示“复制”对话框的“标记”选项卡的屏幕截图。

  13. 在“检查并开始复制”中检查设置,然后选择“复制”启动服务器的初始复制。

注意

在复制开始之前,随时可以在“管理”>“复制的计算机”中更新复制设置。 开始复制后无法更改设置。

首次预配

如果这是你要在 Azure Migrate 项目中复制的第一个 VM,Azure Migrate 和服务器迁移工具会在项目所在的同一资源组中自动预配这些资源。

  • 缓存存储帐户:安装在 Hyper-V 主机上的 Site Recovery 提供程序软件将为复制配置的 VM 的复制数据上传到订阅中的存储帐户(称为缓存存储帐户,或日志存储帐户)。 然后,Azure Migrate 和 Modernize 服务会将已上传的复制数据从存储帐户复制到与 VM 相对应的副本托管磁盘。 在为 VM 配置复制时,需要指定缓存存储帐户。 在项目中首次配置复制时,Azure Migrate 门户会自动为 Azure Migrate 项目创建一个。

跟踪和监视

  • 选择“复制”会启动一个“开始复制”作业。
  • “开始复制”作业成功完成后,计算机将开始初始复制到 Azure。
  • 初始复制完成后,增量复制将会开始。 对本地磁盘所做的增量更改会定期复制到 Azure。

可以在门户通知中跟踪作业状态。

可以通过选择“Azure Migrate 和服务器迁移”中的“已复制服务器”来监视复制状态

运行测试迁移

增量复制开始后,在开始以 Azure 为目标的完整迁移之前,可以针对 VM 运行完整迁移。 我们强烈建议在迁移之前,为每个计算机至少执行此步骤一次。

  • 运行测试迁移可以检查迁移是否按预期进行,而不会影响本地计算机,它们仍可保持正常运行并继续复制。
  • 测试迁移通过使用复制的数据创建 Azure VM 来模拟迁移。 (测试通常会迁移到 Azure 订阅中的非生产 Azure 虚拟网络。)
  • 可以使用复制的测试 Azure VM 来验证迁移、执行应用测试,并解决完整迁移之前出现的任何问题。

若要执行测试迁移,请执行以下操作:

  1. 在“迁移目标”中,选择 Windows、Linux 和 SQL Server>Azure Migrate : 服务器迁移,然后选择“复制”下的“已复制服务器”。

  2. 在“复制计算机”选项卡中,右键单击要测试的 VM,然后选择“测试迁移”。

  3. 在“测试迁移”中,选择 Azure VM 在迁移后所在的 Azure 虚拟网络。 建议使用非生产虚拟网络。

  4. 可以在测试迁移期间升级 Windows Server OS。 对于 Hyper-V VM,尚不支持自动检测 OS。 若要升级,请选择“检查升级”选项。 在出现的窗格中,选择当前 OS 版本和要升级到的目标版本。 如果目标版本可用,会对其进行相应的处理。 了解详细信息

  5. “测试迁移”作业随即启动。 在门户通知中监视该作业。

  6. 迁移完成后,在 Azure 门户上的“虚拟机”中查看已迁移的 Azure VM。 计算机名称带有 -Test 后缀。

  7. 测试完成后,在“复制”中右键单击该 Azure VM,然后选择“清理测试迁移”

    注意

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

    • 选择“管理”>“复制”>“包含 SQL Server 的计算机”>“计算和网络”,然后选择“是”,注册 SQL VM RP。
    • 如果你的 SQL Server 实例享有有效软件保障或 SQL Server 订阅的权益,并且你需要将此权益应用到所要迁移的计算机,请选择“面向 SQL Server 的 Azure 混合权益”。

迁移 VM

确认测试迁移按预期方式进行后,可以迁移本地计算机。

  1. 在 Azure Migrate 项目中,选择 Windows、Linux 和 SQL Server>Azure Migrate:服务器迁移,然后在复制下选择复制的服务器

  2. 在“复制计算机”选项卡中,右键单击要测试的 VM,然后选择“迁移”

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

    • 默认情况下,Azure Migrate 和 Modernize 将关闭本地 VM,并运行按需复制,以同步自上次复制发生以来发生的任何 VM 更改。 此操作可以确保不会丢失数据。
    • 如果你不想要关闭 VM,请选择“否”。
  4. 可以在迁移期间升级 Windows Server OS。 对于 Hyper-V VM,尚不支持自动检测 OS。 若要升级,请选择“检查升级”选项。 在出现的窗格中,选择当前 OS 版本和要升级到的目标版本。 如果目标版本可用,会对其进行相应的处理。 了解详细信息

  5. 随即会针对该 VM 启动一个迁移作业。 在 Azure 通知中跟踪该作业。

  6. 该作业完成后,可以从“虚拟机”页查看和管理该 VM。

完成迁移

  1. 完成迁移后,右键单击 VM 并选择“停止复制”。 此操作:
    • 停止本地计算机的复制。
    • 从 Azure Migrate and Server Migration 工具中的已复制服务器计数中删除该计算机。
    • 清除 VM 的复制状态信息。
  2. 验证并排查 Azure VM 上的所有 Windows 激活问题。
  3. 执行任何迁移后的应用调整,例如更新主机名、数据库连接字符串和 Web 服务器配置。
  4. 对 Azure 中当前运行的迁移应用程序执行最终的应用程序和迁移验收测试。
  5. 将流量交接到已迁移的 Azure VM 实例。
  6. 从本地 VM 清单中删除本地 VM。
  7. 从本地备份中删除本地 VM。
  8. 更新所有内部文档,以显示新的位置和 Azure VM 的 IP 地址。

Linux 支持更新

  • 若要在已迁移到 Azure 的终止支持 VM 上接收操作系统更新,请按照此处的步骤升级到最新版本。

迁移后的最佳做法

后续步骤

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