Erstellen eines Azure Stack HCI-VM-Images mithilfe des Images im Azure Storage-Konto
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 dem Azure Storage-Konto 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 Images im Azure Storage-Konto haben Sie die folgenden zusätzlichen Voraussetzungen:
- Sie sollten eine VHD in Ihrem Azure Storage-Konto geladen haben. Erfahren Sie, wie Sie ein VHD-Image in Ihrem Azure Storage-Konto hochladen.
- Bei Verwendung eines VHDX:
- 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.
Wenn Sie einen Client verwenden, um eine Verbindung mit Ihrem Azure Stack HCI-Cluster herzustellen, lesen Sie " Herstellen einer Verbindung mit Azure Stack HCI" über den Azure CLI-Client.
Stellen Sie sicher, dass Sie über die Rolle "Mitwirkender von Storage Blob Data" für das Speicherkonto verfügen, das Sie für das Image verwenden. Weitere Informationen finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.
Stellen Sie sicher, dass Sie Ihre VHD oder VHDX als Seiten-BLOB-Bild in das Speicherkonto hochladen. Nur Seiten-BLOB-Images werden unterstützt, um VM-Images über das Speicherkonto zu erstellen.
Hinzufügen eines VM-Images aus dem Azure Storage-Konto
Sie erstellen ein VM-Image beginnend mit einem Image im Azure Storage-Konto 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
Stellen Sie eine Verbindung mit einem Server auf Ihrem Azure Stack HCI-System her.
Anmelden. Typ:
az login --use-device-code
Legen Sie Ihr Abonnement fest.
az account set --subscription <Subscription ID>
Festlegen einiger Parameter
- Legen Sie Ihr Abonnement, die Ressourcengruppe, den Standort, den Pfad zum Image in der lokalen Freigabe und 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>"
$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, 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. |
imageName |
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. |
imageSourcePath |
Pfad zur BLOB SAS-URL des Bilds im Speicherkonto. Weitere Informationen finden Sie in den Anweisungen zum Abrufen einer BLOB-SAS-URL des Bilds im Speicherkonto. Hinweis: Stellen Sie sicher, dass alle Kaufmännischen Und-Zeichen im Pfad mit doppelten Anführungszeichen escapet werden 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 dem Image im Azure Storage-Konto
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)
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 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 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 verwaltenes Image auszuwählen.
Führen Sie die folgenden Schritte aus, um das VM-Image mithilfe der Azure CLI auflisten.
Führen Sie PowerShell als Administrator aus.
Legen Sie einige Parameter fest.
$subscription = "<Subscription ID associated with your cluster>" $resource_group = "<Resource group name for your cluster>"
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:
Führen Sie PowerShell als Administrator aus.
Legen Sie die folgenden Parameter fest.
$subscription = "<Subscription ID>" $resource_group = "<Cluster resource group>" $mktplaceImage = "<Marketplace image name>"
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:
Legen Sie den folgenden Parameter fest.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
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.
Führen Sie PowerShell als Administrator aus.
Legen Sie die folgenden Parameter fest:
$subscription = "<Subscription ID>" $resource_group = "<Cluster resource group>" $mktplaceImage = "<Markeplace image name>"
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>