为 Azure 本地虚拟机准备 SUSE Linux 映像(预览版)

适用于:Azure 本地版本 23H2

本文介绍如何使用 SUSE Linux 映像在 Azure 本地创建虚拟机(VM)。 使用 Azure CLI 创建 VM 映像。

先决条件

在开始之前,请满足以下先决条件:

  • 有权访问 Azure 本地实例。 此系统已部署、注册并连接到 Azure Arc。转到 Azure 本地资源中的“概述 ”页。 在右侧窗格中的“服务器”选项卡上,“Azure Arc”应显示为“已连接”。

  • 将 SUSE QCOW2 映像文件下载到本地系统。 或者,可以运行以下 PowerShell 命令来下载映像:

    PS C:\temp\images> wget "https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.6/images/openSUSE-Leap-15.6.x86_64-NoCloud.qcow2" -OutFile c:\temp\images\openSUSE-Leap-15.6.x86_64-NoCloud.qcow
    

Workflow

将 QCOW2 映像转换为 VHDX 并从 VHDX 映像创建 VM 映像。

  1. 将 QCOW2 转换为 VHDX
  2. 创建 SUSE VM 映像

重要

不要使用 Azure 虚拟机 VHD 磁盘为 Azure 本地准备 VM 映像。

以下部分提供了工作流中每个步骤的详细说明。

步骤 1:将 QCOW2 转换为 VHDX

下载 QCOW2 映像后,使用适用于 Windows 工具的 QEMU 磁盘映像实用工具将映像转换为 VHDX。

适用于 Windows 工具的 QEMU 磁盘映像实用工具用于转换、创建和一致地检查各种虚拟磁盘格式。 它与 Hyper-V 和其他解决方案兼容,并且已针对 Windows Server(x64)进行优化。

按照以下步骤下载该工具并将 QCOW2 映像文件转换为 VHDX。

  1. 单击文件的“下载二进制文件”按钮,下载适用于 Windows 工具的 QEMU 磁盘映像实用工具。 或者,可以运行以下 PowerShell 命令来下载该工具:

    PS C:\temp\tool> wget https://cloudbase.it/downloads/qemu-img-win-x64-2_3_0.zip -OutFile C:\temp\tool\qemu-img-win-x64-2_3_0.zip
    
  2. 下载该工具后,通过运行以下命令从 zip 中提取文件:

    PS C:\temp\tool
    Expand-Archive 'c:\temp\tool\qemu-img-win-x64-2_3_0.zip'
    

    下面是一个示例:

    显示下载的 QEMU 磁盘实用工具工具的屏幕截图。

  3. 然后使用 QEMU 工具,运行以下命令,将 QCOW2 转换为 VHDX:

    PS C:\temp\tool\qemu-img-win-x64-2_3_0> ./qemu-img.exe convert c:\temp\images\openSUSE-Leap-15.6.x86_64-NoCloud.qcow2 -O vhdx -o subformat=dynamic c:\temp\images\openSUSE-Leap-15.6.x86_64-NoCloud.vhdx
    PS C:\temp\tool\qemu-img-win-x64-2_3_0>
    

    下面是一个示例:

    显示原始 QCOW2 映像和新 VHDX 映像的屏幕截图。

现在,可以创建 VM 映像。

步骤 2:创建 SUSE VM 映像

按照 Azure 本地版中的这些步骤从之前创建的 VHDX 创建 VM 映像。

使用 Azure CLI 创建 VM 映像:

  1. 以管理员身份运行 PowerShell。

  2. 登录。 运行以下 cmdlet:

    az login
    
  3. 设置订阅。 运行以下 cmdlet:

    az account set --subscription <Subscription ID>
    
  4. 为订阅、资源组、自定义位置、位置、映像的 OS 类型、映像的名称以及映像所在的路径设置参数。 请将 < > 中的参数替换为适当的值。

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $customLocation = "<Custom location>"
    $location = "<Location for your Azure Local>"
    $osType = "<OS of source image>"
    

    下表介绍了参数。

    参数 说明
    subscription 与 Azure 本地实例关联的订阅。
    resource_group 与此映像关联的 Azure 本地实例的资源组。
    location Azure 本地实例的位置。 例如,位置可以是 eastuswestreurope
    os-type 与源映像关联的操作系统。 此系统可以是 Windows 或 Linux。
  5. 使用 VM 的 VHDX 创建库映像。 使用此 VM 映像在 Azure 本地创建 Azure Arc 虚拟机。

    请确保在 Azure 本地群集共享卷中的用户存储中复制 VHDX。 例如,路径可能如下所示 C:\ClusterStorage\UserStorage_1\linuxvhdx

    $imagePath = "Path to user storage in CSV" 
    $imageName = "mylinuxvmimg" 
    $osType = "Linux"
    
    az stack-hci-vm image create --subscription $subscription -g $resource_group --custom-location $customLocation --location $location --image-path $imagePath --name $imageName --debug --os-type $osType 
    
  6. 验证映像是否已创建。