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

将 Linux 自定义映像从物理实验室环境引入 Azure 实验室服务

重要

Azure 实验室服务将于 2027 年 6 月 28 日停用。 有关详细信息,请参阅停用指南

本文介绍了如何从物理实验室环境中导入基于 Linux 的自定义映像,以便在 Azure 实验室服务中创建实验室。

Azure 支持各种分发和版本。 从 VHD 中引入自定义 Linux 映像的步骤因每个分发而异。 每个分发都是不同的,因为每个分发在 Azure 上运行都有唯一的先决条件。

在本文中,从 VHD 中引入自定义 Ubuntu 18.04\20.04 映像。 有关使用 VHD 为其他分发创建自定义映像的信息,请参阅 Linux 分发的通用步骤

此导入过程包括以下步骤:

  1. 从物理环境创建虚拟硬盘驱动器 (VHD)
  2. 将 VHD 导入 Azure Compute Gallery
  3. 将计算库附加到实验室计划
  4. 使用计算库中的映像并以此为基础创建基实验室

在从物理实验室导入映像之前,请详细了解用于创建自定义映像的建议方法

先决条件

使用 Hyper-V 管理器准备自定义映像

首先,为物理环境创建虚拟硬盘 (VHD)。 以下步骤介绍如何使用 Windows Hyper-V 管理器从 Hyper-V 虚拟机 (VM) 创建 Ubuntu 18.04\20.04 映像。

  1. 将官方 Linux Ubuntu 服务器映像下载到 Windows 主机(你使用该主机在 Hyper-V VM 上设置自定义映像)。

    如果你使用的是 Ubuntu 18.04 LTS,建议使用未安装 GNOMEMATE 图形桌面的映像。 GNOME 和 MATE 当前与映像在 Azure 实验室服务中正常运行所需的 Azure Linux 代理存在网络冲突。 建议使用 Ubuntu 服务器映像并安装其他图形桌面,如 XFCE。 另一种选择是使用实验室的模板 VM 安装 GNOME\MATE

    Ubuntu 还发布了预生成的 Azure VHD 供下载。 这些 VHD 专用于在 Linux 主机和虚拟机监控程序(如 KVM)中创建自定义映像。 这些 VHD 要求你先设置默认的用户密码,该步骤仅可使用 Linux 工具(如 qemu)完成。 因此,当你使用 Windows Hyper-V 创建自定义映像时,你无法连接到这些 VHD 来自定义映像。 有关预生成的 Azure VHD 的详细信息,请参阅 Ubuntu 文档

  2. 基于自定义映像在物理实验室环境中创建 Hyper-V 虚拟机。

    • VM 必须创建为第 1 代 VM。

    • 使用“默认交换机”网络配置选项以允许 VM 连接到 Internet

    • VM 的虚拟磁盘必须是固定大小的 VHD。 磁盘大小不能超过 128 GB。 创建 VM 时,输入磁盘大小,如下图所示。

      显示“连接虚拟硬盘”的屏幕截图。

    • 在“安装选项”设置中,选择之前从 Ubuntu 下载的 .iso 文件。

    Azure 实验室服务不支持磁盘大小大于 128 GB 的映像。

    详细了解如何在 Hyper-V 中创建虚拟机

  3. 按照创建和上传 Ubuntu VHD 的手动步骤中的步骤连接到 Hyper-V VM 并为 Azure 做好准备。

    为 Azure 准备 Linux 映像的步骤因分发而异。 有关每个分发的详细信息和具体步骤,请参阅分发和版本

    按照上述步骤进行操作时,需要重点介绍几个要点:

    • 运行 deprovision+user 命令时,这些步骤将创建通用映像。 但无法保证映像中的所有敏感信息均已清除,或该映像适合再分发。
  4. 将默认的 Hyper-V VHDX 硬盘文件格式转换为 VHD

    1. 在 Hyper-V 管理器中,选择虚拟机,然后选择“操作”>“编辑磁盘”

    2. 找到要转换的 VHDX 磁盘。

    3. 接下来,选择“转换”,将磁盘从 VHDX 转换为 VHD。

    4. 对于“磁盘类型”,选择“固定大小”。

      如果此时还选择扩展磁盘大小,请确保不超过 128 GB。

      显示“选择操作”的屏幕截图。

或者,可以使用 PowerShell 重设 VHDX 的大小并进行转换:

接下来,将 VHD 文件从物理环境上传到 Azure 计算库。

  1. 将 VHD 上传到 Azure 以创建托管磁盘。

    1. 可以使用 Azure 存储资源管理器,或在命令行中使用 AzCopy,如将 VHD 上传到 Azure 或将托管磁盘复制到其他区域中所示。

      警告

      如果计算机进入睡眠或锁定状态,上传过程可能会中断和失败。 此外,请确保在 AzCopy 完成后,撤销 SAS 对磁盘的访问权限。 否则,你在尝试从磁盘创建映像时会看到错误:“状态为‘活动上传’的磁盘‘磁盘名称’不支持‘创建映像’操作。 错误代码:OperationNotAllowed*。”

    2. 上传 VHD 后,现在应具有可在 Azure 门户看到的托管磁盘。

      可以使用 Azure 门户中托管磁盘的“大小和性能”选项卡来更改磁盘大小。 如前所述,大小不能超过 128 GB。

  2. 在计算库中,创建映像定义和版本:

    1. 创建映像定义

      • 对于“VM 代系”,选择“第 1 代”

      • 选择“Linux”作为“操作系统”

      • 选择“通用”作为“操作系统状态”

      若要详细了解可以为映像定义指定的值,请参阅映像定义

      还可以选择使用现有映像定义,并创建自定义映像的新版本。

    2. 创建映像版本

      • “版本号”属性采用以下格式:MajorVersion.MinorVersion.Patch。 使用实验室服务创建实验室并选择自定义映像时,将自动使用最新版本的映像。 依次根据版本最高的 MajorVersion、MinorVersion 和 Patch 选择最新版本。

      • 对于“源”,从下拉列表中选择“磁盘和/或快照”

      • 对于“OS 磁盘”属性,请选择在先前步骤中创建的磁盘

      有关可为映像定义指定的值的详细信息,请参阅映像版本

创建实验室

现在,Azure 计算库中已经有了自定义映像,可以使用该映像创建实验室。

  1. 将计算库附加到实验室计划

  2. 创建实验室,并从计算库中选择自定义映像。

    如果在原始 Hyper-V VM 上安装操作系统后扩展了磁盘,则还需要在 Linux 文件系统中扩展分区,才能使用未分配的磁盘空间。 登录到实验室的模板 VM,并执行与扩展磁盘分区和文件系统中所示内容类似的步骤。

OS 磁盘通常位于 /dev/sad2 分区上。 若要查看 OS 磁盘分区的当前大小,请使用命令:df -h

后续步骤