为 Azure 本地创建存储路径

适用于:Azure 本地版本 23H2

本文介绍如何为 Azure 本地实例上使用的 VM 映像创建存储路径。 存储路径是 Azure 资源,用于提供在系统上存储 VM 配置文件、VM 映像和 VHD 的路径。 可以使用 Azure CLI 或 Azure 门户创建存储路径。

关于存储路径

部署 Azure 本地时,存储路径将作为部署的一部分创建。 默认选项会自动选择具有高可用性的存储路径。 但是,你可能决定使用特定的存储路径。 在这种情况下,请确保指定的存储路径有足够的存储空间。

Azure 本地上的存储路径应指向可由系统上所有计算机访问的群集共享卷。 为了高度可用,我们强烈建议在群集共享卷下创建存储路径。

群集共享卷中的可用空间决定了存储路径中可用的存储大小。 例如,如果存储路径为 C:\ClusterStorage\UserStorage_1\Volume01Volume01 4 TB,则存储路径的大小为可用空间(超过 4 TB)。Volume01

先决条件

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

  1. 确保完成 Azure 本地要求

  2. 请确保 Azure 本地上存在可从系统中的所有计算机访问的群集共享卷。 要在群集共享卷上提供的存储路径应有足够的空间来存储 VM 映像。 默认情况下,群集共享卷是在部署 Azure Local 期间创建的。

    只能在系统中可用的群集共享卷中创建存储路径。 有关详细信息,请参阅 创建群集共享卷

在系统上创建存储路径

可以使用 Azure CLI 或 Azure 门户在系统上创建存储路径。

可以使用 stack-hci-vm storagepath cmdlet 创建、显示和列出 Azure 本地上的存储路径。

查看用于创建存储路径的参数

创建存储路径时,需要以下参数

参数 说明
name 为 Azure 本地创建存储路径的名称。 请确保提供遵循 Azure 资源规则的名称。 创建存储路径后,无法重命名存储路径。
resource-group 在其中创建存储路径的资源组的名称。 为便于管理,建议使用与 Azure 本地相同的资源组。
subscription 部署 Azure 本地的订阅的名称或 ID。 这也可能是用于 Azure 本地存储路径的另一个订阅。
custom-location 与要在其中创建此存储路径的 Azure 本地关联的自定义位置的名称或 ID。
path 用于创建存储路径的磁盘上的路径。 所选路径应有足够的空间来存储 VM 映像。

还可以使用以下 可选 参数:

参数 说明
location az locations 指定的 Azure 区域。

创建存储路径

在 Azure 本地实例的其中一台计算机上按照以下步骤创建存储路径:

登录并设置订阅

  1. 连接到 Azure 本地计算机上的计算机

  2. 登录。 键入:

    az login --use-device-code
    
  3. 设置订阅。

    az account set --subscription <Subscription ID>
    

设置参数

  1. 为映像的订阅、资源组、位置和 OS 类型设置参数。 将值 < > 替换为相应的值。

    $storagepathname="<Storage path name>"
    $path="<Path on the disk to cluster shared volume>"
    $subscription="<Subscription ID>"
    $resource_group="<Resource group name>"
    $customLocName="<Custom location of your Azure Local>"
    $customLocationID="/subscriptions/<Subscription ID>/resourceGroups/$resource_group/providers/Microsoft.ExtendedLocation/customLocations/$customLocName"
    $location="<Azure region where the system is deployed>"
    
  2. 在以下路径上创建存储路径test-storagepathC:\ClusterStorage\test-storagepath 运行以下 cmdlet:

    az stack-hci-vm storagepath create --resource-group $resource_group --custom-location $customLocationID --name $storagepathname --path $path
    

    有关此 cmdlet 的详细信息,请参阅 az stack-hci-vm storagepath create

    下面是示例输出:

    PS C:\windows\system32> $storagepathname="test-storagepath"
    PS C:\windows\system32> $path="C:\ClusterStorage\UserStorage_1\mypath"
    PS C:\windows\system32> $subscription="<Subscription ID>"
    PS C:\windows\system32> $resource_group="mylocal-rg"
    PS C:\windows\system32> $customLocationID="/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl"
    
    PS C:\windows\system32> az stack-hci-vm storagepath create --name $storagepathname --resource-group $resource_group --custom-location $customLocationID --path $path
    Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
    {
      "extendedLocation": {
        "name": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
        "type": "CustomLocation"
      },
      "id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/storagecontainers/test-storagepath",
      "location": "eastus",
      "name": "test-storagepath",
      "properties": {
        "path": "C:\\ClusterStorage\\UserStorage_1\\mypath",
        "provisioningState": "Succeeded",
        "status": {
          "availableSizeMB": 36761,
          "containerSizeMB": 243097
        }
      },
      "resourceGroup": "mylocal-rg",
      "systemData": {
        "createdAt": "2023-10-06T04:45:30.458242+00:00",
        "createdBy": "guspinto@contoso.com",
        "createdByType": "User",
        "lastModifiedAt": "2023-10-06T04:45:57.386895+00:00",
        "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
        "lastModifiedByType": "Application"
      },
      "tags": null,
      "type": "microsoft.azurestackhci/storagecontainers"
    }
    

存储路径创建完成后,即可创建虚拟机映像。

删除存储路径

如果不需要存储路径,可以将其删除。 若要删除存储路径,请先删除关联的工作负荷,然后运行以下命令以删除存储路径:

az stack-hci-vm storagepath delete --resource-group "<resource group name>" --name "<storagepath name>" --yes

若要验证是否已删除存储路径,请运行以下命令:

az stack-hci-vm storagepath show --resource-group "<resource group name>" --name "<storagepath name>" 

你会收到一条通知,指出存储路径不存在。

若要删除卷,请先删除关联的工作负荷,然后删除存储路径,然后删除卷。 有关详细信息,请参阅 “删除卷”。

如果存储路径空间不足,则使用该存储路径的 VM 预配将失败。 可能需要扩展与存储路径关联的卷。 有关详细信息,请参阅 展开卷

若要排查尝试删除存储路径时出现的任何错误,请参阅 “删除存储路径失败”。

后续步骤