Erstellen eines Azure Stack HCI-VM-Images mithilfe eines Images im Azure Storage-Konto

Gilt für: Azure Stack HCI, Version 23H2

In diesem Artikel wird beschrieben, wie Sie VM-Images für Ihre Azure Stack HCI mithilfe von Quellimages aus dem Azure Storage-Konto erstellen. Sie können VM-Images mit dem Azure-Portal oder der Azure CLI erstellen und diese VM-Images dann verwenden, um Arc-VMs auf Ihrer Azure Stack HCI zu erstellen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind.

  • Stellen Sie sicher, dass Sie die Voraussetzungen überprüfen und erfüllen.

  • Sie haben Zugriff auf ein bereitgestelltes Azure Stack HCI-System, das über eine Arc-Ressourcenbrücke und einen benutzerdefinierten Standort verfügt.

    • Wechseln Sie zur Seite Übersichtsserver > in der Azure Stack HCI-Systemressource. Stellen Sie sicher, dass Azure Arc als Verbunden angezeigt wird. Außerdem sollten ein benutzerdefinierter Speicherort und eine Arc-Ressourcenbrücke für Ihren Cluster angezeigt werden.

      Screenshot der Seite

  • Für benutzerdefinierte Images im Azure Storage-Konto gelten die folgenden zusätzlichen Voraussetzungen:

Hinzufügen eines VM-Images aus einem Azure Storage-Konto

Sie erstellen ein VM-Image, das mit einem Image im Azure Storage-Konto beginnt, und verwenden dieses Image dann zum Bereitstellen von VMs in Ihrem Azure Stack HCI-Cluster.

Führen Sie die folgenden Schritte aus, um mithilfe der Azure CLI ein VM-Image zu erstellen.

Anmelden und Festlegen des Abonnements

  1. Stellen Sie eine Verbindung mit einem Server in Ihrem Azure Stack HCI-System her.

  2. Melden Sie sich an. Typ:

    az login --use-device-code
    
  3. Legen Sie Ihr Abonnement fest.

    az account set --subscription <Subscription ID>
    

Festlegen einiger Parameter

  1. Legen Sie Ihr Abonnement, Ihre Ressourcengruppe, Ihren Standort, den Pfad zum Image in der lokalen Freigabe und den Betriebssystemtyp für das Image fest. Ersetzen Sie die Parameter in < > durch die entsprechenden Werte.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Stack HCI cluster>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"

Die Parameter werden in der folgenden Tabelle beschrieben:

Parameter BESCHREIBUNG
subscription Ressourcengruppe für Azure Stack HCI-Cluster, die Sie diesem Image zuordnen.
resource_group Ressourcengruppe für Azure Stack HCI-Cluster, die Sie diesem Image zuordnen.
location Speicherort für Ihren Azure Stack HCI-Cluster. Dies kann z. B. sein eastus.
imageName Der Name des VM-Images, das mit dem Image in Ihrer lokalen Freigabe erstellt wurde.
Hinweis: Azure lehnt alle Namen ab, die die Schlüsselwort (keyword) Windows enthalten.
imageSourcePath Pfad zur Blob-SAS-URL des Images im Speicherkonto. Weitere Informationen finden Sie unter Anweisungen zum Abrufen einer Blob-SAS-URL des Images im Speicherkonto.
Hinweis: Stellen Sie sicher, dass alle Ampersands im Pfad mit doppelten Anführungszeichen versehen sind und die gesamte Pfadzeichenfolge in einfache Anführungszeichen eingeschlossen wird.
os-type Betriebssystem, das dem Quellimage zugeordnet ist. Dies kann Windows oder Linux sein.

Hier ist eine Beispielausgabe:

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "myhci-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "myhci-storacctimage"
PS C:\Users\azcli> $imageSourcePath = 'https://vmimagevhdsa1.blob.core.windows.net/vhdcontainer/Windows_InsiderPreview_ServerStandard_en-us_VHDX_25131.vhdx?sp=r"&"st=2022-08-05T18:41:41Z"&"se=2022-08-06T02:41:41Z"&"spr=https"&"sv=2021-06-08"&"sr=b"&"sig=X7A98cQm%2FmNRaHmTbs9b4OWVv%2F9Q%2FJkWDBHVPyAc8jo%3D'

Erstellen eines VM-Images aus einem Image im Azure Storage-Konto

  1. Wählen Sie einen benutzerdefinierten Speicherort aus, um Ihr VM-Image bereitzustellen. Der benutzerdefinierte Speicherort sollte dem benutzerdefinierten Speicherort für Ihren Azure Stack HCI-Cluster entsprechen. Rufen Sie die benutzerdefinierte Standort-ID für Ihren Azure Stack HCI-Cluster ab. Führen Sie den folgenden Befehl aus:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
    
  2. Erstellen Sie das VM-Image beginnend mit einem angegebenen Marketplace-Image. Stellen Sie sicher, dass Sie das Angebot, den Herausgeber, die SKU und die Version für das Marketplace-Image angeben.

    az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
    

    Ein Bereitstellungsauftrag für das VM-Image wird gestartet.

    In diesem Beispiel wurde der Speicherpfad mithilfe des --storage-path-id Flags angegeben und sichergestellt, dass die Workloaddaten (einschließlich VM, VM-Image, Nicht-Betriebssystemdatenträger) im angegebenen Speicherpfad platziert werden.

    Wenn das Flag nicht angegeben ist, werden die Workloaddaten automatisch in einen Hochverfügbarkeitsspeicherpfad eingefügt.

Die Imagebereitstellung dauert einige Minuten. Die Zum Herunterladen des Images benötigte Zeit hängt von der Größe des Images im Azure Storage-Konto und der für den Download verfügbaren Netzwerkbandbreite ab.

Hier ist eine Beispielausgabe:

PS > $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
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/myhci-rg/providers/Microsoft.ExtendedLocation/customLocations/myhci-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-storacctimage",
  "location": "eastus",
  "name": "windos",
  "properties": {
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {
        "downloadSizeInMB": 7876
      },
        "progressPercentage": 100,
      "provisioningStatus": {
        "operationId": "cdc9c9a8-03a1-4fb6-8738-7a8550c87fd1*31CE1EA001C4B3E38EE29B78ED1FD47CCCECF78B4CEA9E9A85C0BAEA5F6D80CA",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": null
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-11-03T20:17:10.971662+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-03T21:08:01.190475+00:00",
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/galleryimages"
}
PS C:\Users\azcli>

Auflisten von VM-Images

Sie müssen die Liste der VM-Images anzeigen, um ein zu verwaltende Image auszuwählen.

Führen Sie die folgenden Schritte aus, um ein VM-Image mithilfe der Azure CLI aufzulisten.

  1. Führen Sie PowerShell als Administrator aus.

  2. Legen Sie einige Parameter fest.

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. Listet alle VM-Images auf, die Ihrem Cluster zugeordnet sind. Führen Sie den folgenden Befehl aus:

    az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
    

    Je nach verwendetem Befehl wird ein entsprechender Satz von Images aufgeführt, die dem Azure Stack HCI-Cluster zugeordnet sind.

    • Wenn Sie nur das Abonnement angeben, listet der Befehl alle Images im Abonnement auf.
    • Wenn Sie sowohl das Abonnement als auch die Ressourcengruppe angeben, listet der Befehl alle Images in der Ressourcengruppe auf.

    Zu diesen Images gehören:

    • VM-Images aus Marketplace-Images.
    • Benutzerdefinierte Images, die sich in Ihrem Azure Storage-Konto befinden oder sich in einer lokalen Freigabe auf Ihrem Cluster oder einem Mit dem Cluster verbundenen Client befinden.

Hier ist eine Beispielausgabe.

PS C:\Users\azcli> az stack-hci-vm image list --subscription "<Subscription ID>" --resource-group "myhci-rg"
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/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
      "type": "CustomLocation"
    },
    "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/w
inServer2022Az-01",
    "location": "eastus",
    "name": "winServer2022Az-01",
    "properties": {
      "hyperVGeneration": "V2",
      "identifier": {
        "offer": "windowsserver",
        "publisher": "microsoftwindowsserver",
        "sku": "2022-datacenter-azure-edition-core"
      },
      "imagePath": null,
      "osType": "Windows",
      "provisioningState": "Succeeded",
      "status": {
        "downloadStatus": {
          "downloadSizeInMB": 6710
        },
        "progressPercentage": 100,
        "provisioningStatus": {
          "operationId": "19742d69-4a00-4086-8f17-4dc1f7ee6681*E1E9889F0D1840B93150BD74D428EAE483CB67B0904F9A198C161AD471F670ED",
          "status": "Succeeded"
        }
      },
      "storagepathId": null,
      "version": {
        "name": "20348.2031.231006",
        "properties": {
          "storageProfile": {
            "osDiskImage": {
              "sizeInMB": 130050
            }
          }
        }
      }
    },
    "resourceGroup": "myhci-rg",
    "systemData": {
      "createdAt": "2023-10-30T21:44:53.020512+00:00",
      "createdBy": "guspinto@contoso.com",
      "createdByType": "User",
      "lastModifiedAt": "2023-10-30T22:08:25.495995+00:00",
      "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
      "lastModifiedByType": "Application"
    },
    "tags": {},
    "type": "microsoft.azurestackhci/marketplacegalleryimages"
  }
]
PS C:\Users\azcli>

Anzeigen von VM-Imageeigenschaften

Möglicherweise möchten Sie die Eigenschaften von VM-Images anzeigen, bevor Sie das Image zum Erstellen eines virtuellen Computers verwenden. Führen Sie die folgenden Schritte aus, um die Bildeigenschaften anzuzeigen:

Führen Sie die folgenden Schritte aus, um die Azure CLI zum Anzeigen der Eigenschaften eines Images zu verwenden:

  1. Führen Sie PowerShell als Administrator aus.

  2. Legen Sie die folgenden Parameter fest.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Sie können Bildeigenschaften auf zwei verschiedene Arten anzeigen: Id angeben oder Name und Ressourcengruppe angeben. Führen Sie die folgenden Schritte aus, wenn Sie die Marketplace-Image-ID angeben:

    1. Legen Sie den folgenden Parameter fest.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
      
    2. Führen Sie den folgenden Befehl aus, um die Eigenschaften anzuzeigen.

      az stack-hci-vm image show --ids $mktplaceImageID

      Hier sehen Sie eine Beispielausgabe für diesen Befehl:

      PS C:\Users\azcli> az stack-hci-vm image show --ids $mktplaceImageID
      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/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage",
        "location": "eastus",
        "name": "myhci-marketplaceimage",
        "properties": {
          "containerName": null,
          "hyperVGeneration": null,
          "identifier": null,
          "imagePath": null,
          "osType": "Windows",
          "provisioningState": "Succeeded",
          "status": null,
          "version": null
        },
        "resourceGroup": "myhci-rg",
        "systemData": {
          "createdAt": "2022-08-05T20:52:38.579764+00:00",
          "createdBy": "guspinto@microsoft.com",
          "createdByType": "User",
          "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00",
          "lastModifiedBy": "guspinto@microsoft.com",
          "lastModifiedByType": "User"
        },
        "tags": null,
        "type": "microsoft.azurestackhci/galleryimages"
      }
      PS C:\Users\azcli> 
      

Vm-Image löschen

Sie können ein VM-Image löschen, wenn der Download aus irgendeinem Grund fehlschlägt oder das Image nicht mehr benötigt wird. Führen Sie die folgenden Schritte aus, um die VM-Images zu löschen.

  1. Führen Sie PowerShell als Administrator aus.

  2. Legen Sie die folgenden Parameter fest.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery image name>"    
    
  3. Entfernen Sie ein vorhandenes VM-Image. Führen Sie den folgenden Befehl aus:

    az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
    

Sie können das Image auf zwei Arten löschen:

  • Geben Sie Den Namen und die Ressourcengruppe an.
  • Geben Sie die ID an.

Nachdem Sie ein Image gelöscht haben, können Sie überprüfen, ob das Bild entfernt wurde. Hier sehen Sie eine Beispielausgabe, wenn das Image durch Angabe des Namens und der Ressourcengruppe gelöscht wurde.

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "myhci-rg"
PS C:\Users\azcli> $mktplaceImage = "myhci-marketplaceimage"
PS C:\Users\azcli> az stack-hci-vm image delete --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Are you sure you want to perform this operation? (y/n): y
PS C:\Users\azcli> az stack-hci-vm image show --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ResourceNotFound: The Resource 'Microsoft.AzureStackHCI/marketplacegalleryimages/myhci-marketplaceimage' under resource group 'myhci-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>

Nächste Schritte