所以你决定将一些 Hyper-V 虚拟机迁移到 Azure,是吗?你有一些工作要做,但通过使用 Azure 迁移评估工具(以及本教程),你可以尽量减少痛苦。
为了帮助你穿越将本地 Hyper-V 虚拟机迁移到 Azure 的复杂性,Microsoft 提供了一个统一的服务:Azure 迁移。这个工具允许你评估、规划和迁移虚拟机到 Azure。
在本教程中,你将学习如何迁移虚拟机到 Azure 的第一步;评估。使用 Azure 迁移评估工具,你将逐步了解如何设置工具,并了解将 Hyper-V 虚拟机迁移到 Azure 所需的确切步骤。
如果你想学习如何迈出下一步,实际将 Hyper-V 虚拟机迁移到 Azure,请查看本文的配套博客文章:如何使用 Azure 迁移将 Hyper-V 虚拟机迁移到 Azure【指南】。
先决条件
如果你打算跟着做,请确保在按照本逐步教程之前具备以下条件:
- A Windows Hyper-V host – This tutorial uses a physical Windows 2016 server with the Hyper-V role installed equipped with 8GB of RAM and a dual-core i7 (2ghz) processor. To migrate VMs to Azure, your Hyper-V host must be installed on Windows Server 2019, Windows Server 2016, or Windows Server 2012 R2 with the latest updates.
- 在 Hyper-V 主机上拥有管理员权限
- A Hyper-V VM to migrate – This tutorial uses a Windows 2012 R2 Server VM with 1GB of RAM a single vCPU. Any Hyper-V VM should work, though.
- Hyper-V 虚拟机的出站 Internet 访问通过端口 443。
- 一个 Azure 订阅 – 如果你没有,你可以注册一个免费的 Azure 账户。
- 一个 Azure 用户帐户至少具有对 Azure 订阅的 Contributor 角色 权限和对注册 AzureAD 应用程序的 应用程序管理员 权限。
- A storage account for your migration – This tutorial will use a storage account named migndr2021.
- A virtual network for your migrated virtual machine – This tutorial will use a virtual network named mig_network and a subnet named default.
准备您的 Hyper-V 主机进行评估和迁移
在准备进行 Azure VM 迁移旅程时,您必须首先确保您的 Hyper-V 主机符合微软制定的要求,以容纳迁移过程。为此,微软提供了一个方便的 PowerShell 脚本来自动检查这些要求。
要执行 PowerShell 脚本,在您的本地计算机上:
1. 从微软下载 MicrosoftAzureMigrate-Hyper-V.ps1 PowerShell 脚本。
2. 将脚本复制到您的 Hyper-V 主机。本教程将脚本复制到 Hyper-V 主机的 D:\software\Hyper-V 主机检查 目录。
3. 接下来,通过 RDP 连接到 Hyper-V 主机,并以管理员身份打开 PowerShell 或使用 PowerShell 远程连接。
4. 在 PowerShell 中运行 MicrosoftAzureMigrate-Hyper-V.ps1 脚本。
当执行脚本时,它将在 Hyper-V 主机上执行以下步骤:
- 验证至少安装了 PowerShell v4 或更高版本。
- 验证已安装 Hyper-V 角色。
- 验证服务器至少为 Windows Server 2012 R2。

- 启用 Windows 远程管理,这是元数据收集所需的。
- 启用 PowerShell 远程,也是元数据收集所需的。确保在提示时输入Y。

- 如果 VHD 存储在远程共享上,委派凭据。这允许迁移时访问 VHD,如果它们存储在远程存储的共享上。
- 提供创建主机 – 迁移通信的非管理员本地用户的选项。如果愿意使用管理员级别帐户,请回答N,否则回答Y以创建非管理员级别帐户。
- 检查数据交换集成服务在主机上的所有虚拟机上是否已启用。这提供虚拟机与主机之间的基本元数据交换。

创建 Azure 迁移项目
在开始将 Hyper-V 虚拟机迁移到 Azure 与 Azure 迁移一起时,您必须对现有的虚拟机进行发现和评估。Azure 迁移服务必须首先发现并“导入”所有本地 Hyper-V 虚拟机,以了解您打算迁移的内容。
要指示 Azure 迁移开始发现和评估,您必须首先在 Azure 迁移中心创建一个迁移项目,您将在其中花费大量时间。
在您的本地桌面上:
1. 打开您喜欢的浏览器并导航到 Azure 门户。
2. 在搜索栏中输入 Azure 迁移 来搜索 Azure 迁移 中心。此操作将带您到 入门 页面。

3. 进入 入门 页面后,选择页面左侧的 Windows、Linux 和 SQL Server,然后单击 创建项目 开始。此操作将带您到 创建项目 页面。
Azure 迁移是一项支持迁移除了虚拟机以外的许多其他资源的服务,如 SQL Server、VDI、Web 应用等。

4. 在 创建项目 页面上,提供项目的一些详细信息,如下所示:
- 订阅 – 要在其中创建项目的 Azure 订阅。
- 资源组 – 迁移的虚拟机将最终存放在的 资源组。您可以使用现有的资源组,也可以单击 创建新的 来创建一个新的资源组。例如,本教程将使用名为 Azure_Migrate 的资源组。
- 项目 – 项目的名称。您可以拥有多个项目,每个项目代表一组虚拟机。例如,本教程将使用一个名为MIGRATE的项目。
- 地理位置 – Azure Migrates 存储生成的发现元数据的 Azure 区域。选择离您最近的地理位置。本教程将使用英国。
- 高级 — > 连接方法 – 如果您在私有VPN 网关上运行虚拟机的发现、评估和迁移,请选择私有端点; 否则,请选择公共端点以通过互联网迁移虚拟机。
完成后,点击创建以创建项目。

创建项目后,您将在Azure Migrate中看到两个磁贴,分别为评估工具和迁移工具。这两个磁贴代表迁移 Hyper-V 虚拟机到 Azure 需要经历的两个“阶段”。

5. 现在,导航到创建项目时提供的资源组。您应该注意到,除非您选择了现有资源组,否则不会存在任何资源。
选择在所选资源组内的 显示隐藏类型 复选框,以显示 Azure Migrate 资源。您会看到该项目创建了一个 Azure 虚拟网络、一个存储帐户和一个项目资源,以容纳发现、评估和最终迁移。
Azure Migrate 资源称为辅助资源,并且 Azure 门户不会默认显示这些资源。

下载发现设备
创建了 Azure Migrate 项目后,现在必须执行 Hyper-V VM 发现。此过程使用安装了 Windows Server 2016 的一个 VHD,称为 发现设备。发现设备已预先安装和配置了软件,用于扫描您将用于创建新的本地 Hyper-V VM 的本地 VM。
发现设备 VM 可以发现多达 5000 个 Hyper-V VM。
1. 在 Azure Migrate 中心,单击 发现 按钮,以打开 发现 窗口。

2. 在 发现 窗口上,单击 使用设备进行发现 选项,并在 您的服务器是否虚拟化? 下拉菜单中选择 是,使用 Hyper-V。
你也可以通过选择使用 CSV 选项导入告诉 Azure 你拥有哪些 Hyper-V VM。此选项允许你预先填写一个 CSV 文件,其中包含 VM 详细信息,并将其上传到 Azure。尽可能使用设备,以防止输入错误,并分析 VM 的性能指标,以让 Azure 了解 VM 的计算和存储需求。

接下来,在生成项目密钥部分的命名你的设备框中提供 VM 名称。本教程将使用名称MIGRATE。Azure Migrate 需要一个密钥来授权并注册在站点设备与 Azure。
设备名称不需要与任何现有服务器或命名约定匹配,因为它仅用于迁移 Hyper-V VM。
单击生成密钥按钮以创建项目密钥,并将此密钥复制到某处以供以后使用。生成项目密钥后,单击下载以下载 VHD 文件。

配置发现设备并运行发现
一旦下载了发现设备的 VHD,现在必须在 Hyper-V 主机上设置它。为此:
1. 导入 VHD 到您的 Hyper-V 主机以创建发现设备 VM。
尽管文档说明您的 Hyper-V 主机需要 16GB 内存和 8 个 vCPUs 才能运行发现设备,但这个指导是针对完全准备好生产环境的设备的。本教程在 2GB 内存和 2 个 vCPUs 上运行。
2. 一旦在您的 Hyper-V 主机上运行设备(虚拟机),启动它。
3. 在 Hyper-V 管理器中连接到设备并登录到设备,在 PowerShell 会话中输入 hostname
,记下这个信息以备下一步使用。

4. 现在,通过设备的控制台或您的 Hyper-V 主机,在浏览器中输入 https://<hostname>:44368 来加载设备配置管理器工具。
当您创建 Azure 迁移项目时,您将设备命名为 MIGRATE,此名称分配给设备,而不是实际的虚拟机服务器名称。当然,您也可以给它们都取相同的名称。
当您启动设备配置管理器时,它将检查与 Azure 的连接性,确保时间与 Azure 和设备同步,并检查是否已将最新更新部署到您的设备上。如果发现更新,配置管理器将立即应用这些更新。此过程可能需要 5-6 分钟。

5. 如果需要,单击 设置代理 来 配置设备通过代理连接到 Azure。
点击查看应用程序服务以查看设备使用的三个Windows服务。以下每个服务都应该在运行并显示最新。

6. 现在,在注册到Azure迁移部分,粘贴先前创建的项目密钥,然后点击登录按钮。此任务将您的设备注册到您的Azure订阅。

7. 单击复制代码并登录按钮,打开网页浏览器以登录到Azure。

8. 输入您的Azure订阅用户名和密码。登录后,关闭Microsoft Azure PowerShell身份验证窗口。现在,设备可以使用Azure PowerShell命令与Azure迁移一起工作。

9. 现在,再次切换到设备配置管理器网页,您应该看到消息设备已成功注册,如下所示。

10. 接下来,在管理凭据和发现源部分,单击添加凭据按钮,并提供本地用户名、密码和具有Hyper-V主机管理员权限的用户标签。设备需要这些凭据来对您的本地Hyper-V主机进行身份验证。

11. 单击添加发现源按钮,提供Hyper-V主机的IP地址,指定您刚刚创建的凭据,然后单击保存。指定发现源将设备指向您的本地Hyper-V主机以发现虚拟机。

在几分钟后,设备应验证 Hyper-V 主机,如下所示。

您现在已配置虚拟设备!
12. 最后,点击开始发现,指示设备发现您之前定义的主机上的所有 Hyper-V VM。

运行和审查评估
一旦通过本地 Hyper-V 设备开始发现,设备应开始向 Azure 迁移服务报告其发现。如果是这样,现在是开始对这些 VM 运行评估以建立迁移计划的时候了!
1. 在您喜欢的网络浏览器中,导航回 Azure 迁移中心。您现在应该看到评估工具图块显示有关您注册的虚拟设备的详细信息,以及发现正在进行中,如下所示。
这通常需要每个正在评估的虚拟机 2-3 分钟。

发现完成后,您将看到评估下拉菜单可用,如下所示。单击评估 —> Azure VM以创建评估。

评估将扫描发送到 Azure 迁移的所有本地设备信息,并为您提供诸如 Azure 就绪性和迁移后可能预期的一些成本的信息。
3. 在 创建评估 页面上,选择 Azure VM 作为 评估类型 下拉菜单,您还可以选择 Azure SQL 和 Azure VMWare 解决方案。在评估 SQL 数据库迁移或 VMware 虚拟机时,您会选择这些选项。
选择 从 Azure 迁移设备发现的服务器 作为 发现源。 发现源 可以是您部署的迁移设备,也可以是填写了服务器详细信息的电子表格。在后一种情况下,您将从下拉菜单中选择 导入的服务器。
点击 下一步 打开 评估属性 页面。

4. 在 评估属性 页面上,点击 编辑 按钮以打开一个新的刀片,允许您使用许多选项来建模成本和性能。
目标属性
- 目标位置 – 您计划迁移虚拟机的 区域。
- 存储类型 – 这给您提供了4个选项:
- 自动 – 此选项将允许 Azure 根据吞吐量和 IOPS 为您选择磁盘。(由迁移设备收集的数据)
- 高级托管磁盘
- 标准 HDD 托管磁盘
- 在本教程中选择高级托管磁盘
- 保留容量(计算) – 保留容量 允许您以高达 82% 的折扣为最多 3 年的虚拟机实例提前预订。此选项目前仅适用于 按使用付费的订阅。在本教程中,选择将此选项保留在默认的未预订实例状态。

VM 大小
- 大小标准 – 这为您提供了两个选项,基于性能 将利用迁移设备的性能数据,或者 与本地配置相同 将使 VM 保持与您当前拥有的相同的内存\vCPU。将其保留在默认选项 与本地配置相同 以确保新的 VM 以与其当前本地配置相同的核心数\内存运行。
- 性能历史 – 此选项使您能够使用迁移设备收集 1 天、1 周 或 1 个月 的性能数据。然后,它可与 大小标准 结合使用,更好地了解您的 VM 性能,从而建议您需要多少 vCPU 以及需要多少内存。
只有在选择 基于性能 时,此选项才会出现在 大小标准 中
- 百分位利用率 – 考虑用于合适大小的性能样本集的百分位值。
仅在选择基于性能时才会出现此选项大小标准
- VM系列 – 包括或排除特定的虚拟机系列,Azure Migrate在迁移过程中将从中选择。这允许您覆盖可能不希望使用的VM系列,或者您的公司可能有只允许使用某些虚拟机类型的政策。
- 舒适因子 – 这是可以应用于所选虚拟机配置之上的手动缓冲区,舒适因子是为了应对季节性使用、短期性能突发和未来使用增加等情况而添加的。例如,通常情况下,一个具有20%利用率的10核心VM将导致一个2核心VM,如果舒适因子为2,那么将是一个4核心VM。

5. 定义评估的所有属性后,单击下一步。

6. 现在,告诉Azure评估工具,在选择要评估的服务器部分下评估发现的VMs。
- 提供一个评估名称。本教程将使用DEV_SERVER。
- 因为这可能是您的第一次迁移,所以在选择或创建组部分下,单击创建新。一组表示要迁移的VM集合。
- 提供一个群组名称。本教程将使用群组名称DEV_GROUP。
- 从设备发现的虚拟机列表中选择要包含在此评估中的虚拟机。
- 点击下一步。

7. 点击创建评估以指示 Azure 迁移开始评估。根据您的 Hyper-V 主机的性能和与 Azure 的连接速度,评估可能需要几分钟来执行。

8. 在等待时,返回 Azure 迁移中心,然后点击刷新。几分钟后,您应该会在评估部分看到一个评估显示出来。

9. 现在,点击总计右侧的数字,该数字代表创建的评估数量。此操作会打开评估列表。

10. 点击刚刚调用的评估DEV_SERVER,您可以在其中查看按Azure 准备情况、每月成本估算(美元)和存储成本拆分的评估结果。

如果您不同意 Azure 迁移建议的规格或想要尝试成本,可以返回编辑评估属性,使用与第四步相同的步骤。
11. 在评估页面中,深入了解您之前定义的群组中每台虚拟机的详细信息。

结论
到目前为止,您应该已经具备了发现和加载 Hyper-V VM 到 Azure Migrate 并运行 Azure 评估工具所需的所有知识。通过创建评估,您现在可以开始构建一个 Hyper-V VM 迁移计划!
现在您已经创建了评估,是时候开始将那些 Hyper-V VM 迁移到 Azure 了!按照下一个阶段使用 Azure Migrate 将 VM 迁移到 Azure 的步骤,通过阅读《如何使用 Azure Migrate 迁移本地 Hyper-V VM [指南]》博文来完成工作!
Source:
https://adamtheautomator.com/azure-migration-assessment-tool/