Erstellen eines lokalen Azure-VM-Images mithilfe des Images im Azure Storage-Konto

Gilt für: Hyperconverged-Bereitstellungen von Azure Local

In diesem Artikel wird beschrieben, wie Sie Azure Local-VMs mit Azure Arc-Unterstützung unter Verwendung von Quellimages aus einem Azure Storage-Konto erstellen. Sie können VM-Images mithilfe des Azure-Portals oder der Azure CLI erstellen. Verwenden Sie dann diese VM-Images, um Azure Local virtuellen Computer zu erstellen.

Voraussetzungen

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

  • Überprüfen Sie die Voraussetzungen und stellen Sie sicher, dass Sie sie erfüllen.

  • Für benutzerdefinierte Images im Azure Storage-Konto müssen Sie die folgenden zusätzlichen Voraussetzungen erfüllen:

    • Ihr Image verwendet ein Betriebssystem, das der mit Azure Arc verbundene Computer-Agent unterstützt.

      Hinweis

      Nicht alle Betriebssysteme, die auf der Seite der von Azure Arc-fähigen Servern unterstützten Betriebssysteme gelistet sind, werden für Arc-Enablement (Gastverwaltung) auf Azure Local unterstützt. Die Gastverwaltung erfordert Hyper-V Socketunterstützung (HV-Socket), wodurch der unterstützte Betriebssystemsatz weiter begrenzt wird.

    • Sie sollten eine VHD in Ihrem Azure Storage-Konto geladen haben. Sehen Sie hier, wie Sie ein VHD-Image in Ihr Azure Storage Konto hochladen.
    • Stellen Sie sicher, dass Sie Ihre VHD- oder VHDX-Datei als Seitenblobimage in das Speicherkonto hochladen. Nur Seitenblobimages werden unterstützt, um VM-Images über das Speicherkonto zu erstellen.
    • Wenn Sie eine VHDX verwenden:
      • Das VHDX-Image muss vom Typ Gen 2 sein und sicheres Booten ermöglichen.
      • Das VHDX-Image muss mithilfe von sysprep /generalize /shutdown /oobe vorbereitet werden. Weitere Informationen finden Sie unter Sysprep Befehlszeilenoptionen. Dies gilt sowohl für Windows- als auch für Linux-VM-Images.

VM-Image vom Azure Storage-Konto hinzufügen

Sie erstellen ein VM-Image ab einem Image in einem Azure Storage Konto. Verwenden Sie dann dieses Image, um virtuelle Computer auf Ihrem lokalen Azure-Computer bereitzustellen.

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

Anmelden und Festlegen eines Abonnements

  1. Stellen Sie eine Verbindung mit einem Computer in Ihrer lokalen Azure-Instanz her.

  2. Melden Sie sich an, und geben Sie den folgenden Befehl ein:

    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 Bildpfad und den Betriebssystemtyp für das Image fest. Ersetzen Sie die Parameter < > durch Ihre Werte.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Local>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = '"<Blob SAS URL path to the source image in the storage account>"'

Hinweis

Versehen Sie die Zeichenfolge für $imageSourcePath mit doppelten Anführungszeichen als Escapezeichen, und schließen Sie sie dann wie folgt in einfache Anführungszeichen ein: '""'.

Die Parameter werden in der folgenden Tabelle beschrieben:

Parameter Beschreibung
subscription Abonnement für Azure Local, das Sie dem VM-Image des Speicherkontos zuordnen.
resource_group Ressourcengruppe für Azure Local, die Sie dem VM-Image des Speicherkontos zuordnen.
location Speicherort für Ihre Azure Local-Instanz. Beispiel: eastus.
imageName Der Name des erstellten VM-Images beginnt mit dem Image in Ihrer lokalen Freigabe.
Hinweis: Azure lehnt alle Namen ab, die das Schlüsselwort Windows enthalten.
imageSourcePath Blob-SAS-URL-Pfad zum Quellimage im Speicherkonto. Anweisungen finden Sie unter Generieren von SAS-Token.
Hinweis: Versehen Sie die Pfadzeichenfolge mit doppelten Anführungszeichen als Escapezeichen, und schließen Sie sie dann wie folgt in einfache Anführungszeichen ein: '""'.
os-type Betriebssystem, das mit dem Quell-Image verbunden ist. Beispielsweise Windows oder Linux.

Hier ist eine Beispielausgabe:

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-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"'

VM-Image aus Image im Azure Storage-Konto hinzufügen

  1. Wählen Sie einen benutzerdefinierten Ort für die Bereitstellung Ihres VM-Images. Der benutzerdefinierte Speicherort sollte dem benutzerdefinierten Speicherort für Ihr Azure Local entsprechen. Rufen Sie die ID des benutzerdefinierten Standorts für Ihre Azure Local-Instanz ab. Führen Sie den folgenden Befehl aus:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
    
  2. Erstellen Sie das VM-Image beginnend mit einem angegebenen Image aus dem Azure Storage-Konto. Stellen Sie sicher, dass Sie das Angebot, den Herausgeber, die SKU und die Version für das Bild 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 geben Sie den Speicherpfad mithilfe des --storage-path-id Flags an. Mit diesem Kennzeichen wird sichergestellt, dass die Workloaddaten (einschließlich vm, VM-Image und Datenträger ohne Betriebssystem) an den angegebenen Speicherpfad gehen.

Wenn Sie das Flag nicht angeben, werden die Workloaddaten automatisch in einem Speicherpfad mit hoher Verfügbarkeit gespeichert.

Die Bereitstellung des Images dauert einige Minuten. Die Zeit, die für den Download des Bildes benötigt wird, hängt von der Größe des Bildes im Azure Storage-Konto und der für den Download verfügbaren Netzwerkbandbreite ab.

Hier ist eine Beispielausgabe:

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

{
  "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-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/mylocal-rg/providers/Microsoft.AzureStackHCI/storagecontainers/mylocal-storagepath",
    "version": null
  },
  "resourceGroup": "mylocal-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"
}

Nächste Schritte