Freigeben über


Erstellen eines Azure Stack HCI-VM-Images mithilfe von Images in einer lokalen Freigabe

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

In diesem Artikel wird beschrieben, wie Sie Vm-Images für Ihren Azure Stack HCI mithilfe von Quellimages aus einer lokalen Freigabe auf Ihrem Cluster erstellen. Sie können VM-Images mithilfe der Azure-Portal oder Azure CLI erstellen und dann diese VM-Images verwenden, um Arc-VMs auf Ihrem Azure Stack HCI zu erstellen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen abgeschlossen sind.

  • Überprüfen und abschließen Sie die Voraussetzungen.

  • Für benutzerdefinierte Bilder in einer lokalen Freigabe auf Ihrem Azure Stack HCI haben Sie die folgenden zusätzlichen Voraussetzungen:

    • Sie sollten eine VHD/VHDX in eine lokale Freigabe auf Ihrem Azure Stack HCI-Cluster hochgeladen haben.
    • Das VHDX-Image muss vom Typ "Gen 2" sein und "Sicherer Start" aktiviert sein.
    • Das VHDX-Image muss mithilfe von sysprep /generalize /shutdown /oobe. Weitere Informationen finden Sie unter Sysprep-Befehlszeilenoptionen.
    • Das Image sollte sich auf einem freigegebenen Clustervolume befinden, das für alle Server im Cluster verfügbar ist. Sowohl die Betriebssysteme Windows als auch Linux werden unterstützt.

Hinzufügen eines VM-Images aus dem Image in der lokalen Freigabe

Sie erstellen ein VM-Image beginnend mit einem Image in einer lokalen Freigabe Ihres Clusters und verwenden dann dieses Image, um VMs auf Ihrem Azure Stack HCI-Cluster bereitzustellen.

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

Anmelden und Festlegen des Abonnements

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

  2. Anmelden. 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, die Ressourcengruppe, den Standort, den Betriebssystemtyp für das Image fest. Ersetzen Sie die Parameter < > durch die entsprechenden Werte.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $location = "<Location for your Azure Stack HCI cluster>"
    $imageName = <VM image name>
    $imageSourcePath = <path to the source image>
    $osType = "<OS of source image>"
    

    Die Parameter werden in der folgenden Tabelle beschrieben:

    Parameter Beschreibung
    subscription Ressourcengruppe für Azure Stack HCI-Cluster, den Sie diesem Image zuordnen.
    resource_group Ressourcengruppe für Azure Stack HCI-Cluster, den Sie diesem Image zuordnen.
    location Speicherort für Ihren Azure Stack HCI-Cluster. Das kann beispielsweise eastus sein.
    image-path Name des vm-Images, das erstellt wurde, beginnend mit dem Image in Ihrer lokalen Freigabe.
    Hinweis: Azure lehnt alle Namen ab, die das Schlüsselwort Windows enthalten.
    name Pfad zum Quellkatalogbild (nur VHDX) in Ihrem Cluster. Beispiel : C:\OSImages\winos.vhdx. Sehen Sie sich die Voraussetzungen des Quellimages an.
    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:\ClusterStorage\Volume1> $imageName = "myhci-localimage"
    PS C:\ClusterStorage\Volume1> $imageSourcePath = "C:\ClusterStorage\Volume1\Windows_K8s_17763.2928.220505-1621_202205101158.vhdx"
    

Erstellen eines VM-Images aus dem Image in der lokalen Freigabe

  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 Image in einer lokalen Freigabe auf Ihrem Azure Stack HCI-Cluster.

    az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
    
    

    Ein Bereitstellungsauftrag wird für das VM-Image 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 einem Speicherpfad mit hoher Verfügbarkeit platziert.

Die Imagebereitstellung dauert einige Minuten, bis sie abgeschlossen sind. Die Zeit zum Herunterladen des Bilds hängt von der Größe des Bilds in der lokalen Freigabe und der für den Download verfügbaren Netzwerkbandbreite ab.

Hier ist eine Beispielausgabe:

PS C:\Users\azcli> $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 --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
type="CustomLocation" --location $Location --name $mktplaceImage --os-type $osType --image-path $mktImageSourcePath
Command group 'azurestackhci' 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-localimage",
  "location": "eastus",
  "name": "myhci-localimage",
  "properties": {
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {},
      "progressPercentage": 100,
      "provisioningStatus": {
        "operationId": "82f58893-b252-43db-97a9-258f6f7831d9*43114797B86E6D2B28C4B52B02302C81C889DABDD9D890F993665E223A5947C3",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": {
      "name": null,
      "properties": {
        "storageProfile": {
          "osDiskImage": {}
        }
      }
    }
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-11-02T06:15:10.450908+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-02T06:15:56.689323+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 verwaltenes Image auszuwählen.

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

  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. Auflisten aller VM-Images, 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 werden eine entsprechende Gruppe von Bildern aufgeführt, die dem Azure Stack HCI-Cluster zugeordnet sind.

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

    Zu diesen Images gehören:

    • VM-Images aus Marketplace-Images.
    • Benutzerdefinierte Bilder, die sich in Ihrem Azure Storage-Konto befinden oder sich in einer lokalen Freigabe auf Ihrem Cluster oder einem client befinden, der mit dem Cluster verbunden ist.

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>

Weitere Informationen zu diesem CLI-Befehl finden Sie in der Imageliste "az stack-hci-vm".

Anzeigen von VM-Imageeigenschaften

Möglicherweise möchten Sie die Eigenschaften von VM-Images anzeigen, bevor Sie das Image verwenden, um einen virtuellen Computer zu erstellen. Führen Sie die folgenden Schritte aus, um die Bildeigenschaften anzuzeigen:

Führen Sie die folgenden Schritte aus, um die Eigenschaften eines Bilds mithilfe der Azure CLI anzuzeigen:

  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 Namen 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 ist 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

Möglicherweise möchten Sie ein VM-Image löschen, wenn der Download aus irgendeinem Grund fehlschlägt oder wenn 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>"
    $mktplaceImage = "<Markeplace 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 Bild auf zwei Arten löschen:

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

Nachdem Sie ein Bild gelöscht haben, können Sie überprüfen, ob das Bild entfernt wurde. Hier sehen Sie eine Beispielausgabe, als das Bild gelöscht wurde, indem Sie den Namen und die Ressourcengruppe angeben.

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