你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 实验室服务中的嵌套虚拟化

使用嵌套虚拟化可以在 Azure 实验室服务中创建包含多个虚拟机 (VM) 的实验室。 可以在虚拟机(主机 VM)中创建和运行虚拟机(来宾 VM)。 可以使用嵌套虚拟化为实验室用户提供多个相关的虚拟机作为实验室的一部分。

通过 Hyper-V 启用嵌套虚拟化。 它仅在基于 Windows 的实验室 VM 上可用。 可在实验室 VM 中同时运行基于 Window 和基于 Linux 的来宾 VM。 本文会介绍 Azure 实验室服务中嵌套虚拟化的概念、注意事项和建议。

用例

借助嵌套虚拟化,可以支持多个相互通信的 VM。 可以将此类实验室用于以下目的:

若要详细了解嵌套虚拟化,请参阅以下文章:

为实验室启用嵌套虚拟化

在模拟 VM 上启用嵌套虚拟化并创建嵌套 Hyper-V VM。 发布实验室时,每个实验室用户都会有一个已包含嵌套 VM 的实验室 VM。

如何为实验室启用嵌套虚拟化:

  1. 使用远程桌面客户端连接到模板 VM。

  2. 在模板 VM 上启用 Hyper-V 功能和工具。

  3. 如果使用的是 Windows Server,则创建网络地址转换 (NAT) 网络以允许模板 VM 中的 VM 相互通信。

    注意

    实验室服务 VM 上创建的 NAT 网络可便于 Hyper-V VM 访问 Internet 和同一实验室服务 VM 上的其他 Hyper-V VM。 Hyper-V VM 无法访问 Azure 虚拟网络上的 Azure 资源(如 DNS 服务器)。

  4. 使用 Hyper-V 管理器在模板 VM 中创建嵌套虚拟机。

  5. 验证嵌套虚拟机是否可以访问互联网。

按照上述步骤进行操作,即可在模板 VM 上启用嵌套虚拟化

建议

配置嵌套虚拟化时,请记住以下建议。

非管理员用户

在创建实验室时,可以选择创建没有管理员权限的用户。 将嵌套虚拟化用于此类帐户时,请考虑以下问题。

  • 为了能够启动或停止 VM,该用户必须属于“Hyper-V 管理员”组
  • 该用户无法装载驱动器。
  • Hyper-V VM 文件必须保存在该用户可访问的位置。

处理器兼容性

嵌套虚拟化 VM 大小可以使用不同的处理器,如下表所示:

大小 Series 处理器
中等(嵌套虚拟化) Standard_D4s_v4 第三代 Intel® Xeon® Platinum 8370C (Ice Lake) 或 Intel® Xeon® Platinum 8272CL (Cascade Lake)
大型(嵌套虚拟化) Standard_D8s_v4 第三代 Intel® Xeon® Platinum 8370C (Ice Lake) 或 Intel® Xeon® Platinum 8272CL (Cascade Lake)

每次停止和启动模板 VM 或实验室 VM 时,基础处理器类型可能会更改。 为帮助确保嵌套 VM 跨处理器的工作一致性,请在嵌套 VM 上启用处理器兼容性模式。 建议在发布或导出映像之前,在模板 VM 的嵌套 VM 上启用“处理器兼容性”模式

还应测试启用处理器兼容性模式的嵌套 VM 的性能,从而确保性能不会受到负面影响。 有关详细信息,请参阅使用处理器兼容性模式的影响

自动关闭嵌套 VM

为了避免实验室 VM 关闭时嵌套虚拟机中的数据损坏,请将嵌套 VM 配置为在实验室 VM 关闭时自动关闭。

了解如何使用 Set-VM PowerShell 命令为嵌套 VM 配置关闭自动停止操作

为嵌套 VM 使用 VHDX 磁盘格式

创建嵌套虚拟机时,请为虚拟硬盘选择 VHDX 文件格式以节省实验室 VM 上的磁盘空间。

配置嵌套 VM 的 vCPU 数量

默认情况下,创建嵌套虚拟机时,只分配一个虚拟 CPU (vCPU)。 根据嵌套 VM 的操作系统和软件,可能需要增加 vCPU 的数量。 有关管理和设置嵌套 VM CPU 资源的详细信息,请参阅 Hyper-V 处理器性能Set-VM PowerShell cmdlet。

配置嵌套 VM 的分配内存

创建嵌套虚拟机时,分配的最小内存可能不足以满足操作系统和已安装软件。 可能需要增加嵌套 VM 的最小分配内存量。 有关管理和设置嵌套 VM CPU 资源的详细信息,请参阅 Hyper-V 主机 CPU 资源管理Set-VM PowerShell cmdlet。

在 Hyper-V 上运行 Linux 的最佳做法

以下资源提供了在 Hyper-V 上运行 Linux 或 FreeBSD 的最佳做法:

已知问题

创建使用嵌套虚拟化的实验室之前,请注意以下几点。

  • 并非所有 VM 大小都支持嵌套虚拟化。 创建新实验室时,为实验室选择“中(嵌套虚拟化)”或“大(嵌套虚拟化)”VM 大小。

  • 选择为主机(实验室 VM)和来宾 VM(实验室 VM 中的 VM)都能提供出色性能的大小。 确保选择的大小可以同时运行主机 VM 和任何 Hyper-V 计算机。

  • 如果使用的是 Windows Server,则主机 VM 需要进行额外配置,才能让来宾虚拟机具有互联网连接。

  • 来宾 VM 无法访问 Azure 虚拟网络上的 Azure 资源(如 DNS 服务器)。

  • Hyper-V 来宾 VM 被许可为独立计算机。 若要了解 Microsoft 操作系统和产品的许可,请参阅 Microsoft 许可。 在模板 VM 或来宾 VM 上安装任何其他软件前,请先检查这些软件的许可协议。

  • 除 Hyper-V 之外的虚拟化应用程序不支持嵌套虚拟化。 这些应用程序包括任何需要硬件虚拟化扩展的软件。