Erstellen eines azure local VM-Images mithilfe von Images in einer lokalen Freigabe
Gilt für: Azure Local, Version 23H2
In diesem Artikel wird beschrieben, wie Sie Vm-Images für Azure Local mithilfe von Quellimages aus einer lokalen Freigabe erstellen. Sie können VM-Images mithilfe des Azure-Portal oder der Azure CLI erstellen und dann diese VM-Images verwenden, um Arc-VMs auf Azure Local 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 in Azure Local haben Sie die folgenden zusätzlichen Voraussetzungen:
- Sie sollten eine VHD/VHDX in eine lokale Freigabe auf Ihrem System 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 Computer in der Instanz verfügbar ist. Sowohl die Betriebssysteme Windows als auch Linux werden unterstützt.
- Wenn Sie einen Client verwenden, um eine Verbindung mit Ihrer lokalen Azure-Instanz herzustellen, lesen Sie " Herstellen einer Verbindung mit Azure Local" über den Azure CLI-Client.
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 Systems und verwenden dann dieses Image, um VMs auf Ihrem lokalen Azure 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 Computer auf Ihrem lokalen Azure-Computer 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 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 Local>" $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
Abonnementgruppe für Azure Local, die Sie diesem Image zuordnen. resource_group
Ressourcengruppe für Azure Local, die Sie diesem Image zuordnen. location
Speicherort für Ihr Azure Local. 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) auf Ihrem System. 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 = "mylocalrg" PS C:\Users\azcli> $location = "eastus" PS C:\Users\azcli> $osType = "Windows" PS C:\ClusterStorage\Volume1> $imageName = "mylocal-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
Wählen Sie einen benutzerdefinierten Speicherort aus, um Ihr VM-Image bereitzustellen. Der benutzerdefinierte Speicherort sollte dem benutzerdefinierten Speicherort für Ihr Azure Local entsprechen. Rufen Sie die benutzerdefinierte Standort-ID für Ihr Lokales Azure ab. Führen Sie den folgenden Befehl aus:
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for system>" --query id -o tsv)
Erstellen Sie das VM-Image beginnend mit einem angegebenen Image in einer lokalen Freigabe in Ihrem lokalen Azure Local.
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/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-localimage",
"location": "eastus",
"name": "mylocal-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.
Führen Sie PowerShell als Administrator aus.
Legen Sie einige Parameter fest.
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
Auflisten aller VM-Images, die Ihrem lokalen Azure 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 Ihrem lokalen Azure 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 System oder einem Client befinden, der mit Ihrem System 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": "mylocal-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 = "<Azure Local 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/mylocal-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/mylocal-cl", "type": "CustomLocation" }, "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage", "location": "eastus", "name": "mylocal-marketplaceimage", "properties": { "containerName": null, "hyperVGeneration": null, "identifier": null, "imagePath": null, "osType": "Windows", "provisioningState": "Succeeded", "status": null, "version": null }, "resourceGroup": "mylocal-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 = "<Azure Local 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 = "mylocal-rg"
PS C:\Users\azcli> $mktplaceImage = "mymylocal-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 'mylocal-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>