Condividi tramite


Creare un'immagine di macchina virtuale azure Stack HCI usando immagini Azure Marketplace

Si applica a: Azure Stack HCI, versione 23H2

Questo articolo descrive come creare immagini di macchine virtuali per Azure Stack HCI usando immagini di origine da Azure Marketplace. È possibile creare immagini di macchine virtuali usando il portale di Azure o l'interfaccia della riga di comando di Azure e quindi usare queste immagini di macchina virtuale per creare macchine virtuali Arc in Azure Stack HCI.

Prerequisiti

Prima di iniziare, assicurarsi che siano stati completati i prerequisiti seguenti.

  • Assicurarsi di esaminare e completare i prerequisiti.

  • Si ha accesso a un sistema Azure Stack HCI distribuito, ha un Arc Resource Bridge e una posizione personalizzata.

    • Passare alla pagina Panoramica > server nella risorsa di sistema Azure Stack HCI. Verificare che Azure Arc sia visualizzato come Connesso. Dovrebbe essere visualizzata anche una posizione personalizzata e un Arc Resource Bridge per il cluster.

      Screenshot della pagina Panoramica nella risorsa cluster Azure Stack HCI che mostra Azure Arc come connesso.

Aggiungere un'immagine vm da Azure Marketplace

Si crea un'immagine di macchina virtuale a partire da un'immagine Azure Marketplace e quindi si usa questa immagine per distribuire le macchine virtuali nel cluster Azure Stack HCI.

Seguire questa procedura per creare un'immagine di macchina virtuale usando l'interfaccia della riga di comando di Azure.

Accedere e impostare la sottoscrizione

  1. Connettersi a un server nel sistema Azure Stack HCI.

  2. Accedere. Digitare:

    az login --use-device-code
    
  3. Impostare la sottoscrizione.

    az account set --subscription <Subscription ID>
    

Impostare alcuni parametri

  1. Impostare i parametri per la sottoscrizione, il gruppo di risorse, il percorso, il tipo di sistema operativo per l'immagine. Sostituire i parametri in < > con i valori appropriati.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $customLocationName = "<Custom location name>"
    $customLocationID
    /subscriptions/<Subscription ID>/resourcegroups/$resource_group/providers/microsoft.extendedlocation/customlocations/$customLocationName
    $location = "<Location for your Azure Stack HCI cluster>"
    $osType = "<OS of source image>"
    

    I parametri vengono descritti nella tabella seguente:

    Parametro Descrizione
    subscription Sottoscrizione associata al cluster Azure Stack HCI.
    resource-group Gruppo di risorse per il cluster Azure Stack HCI associato a questa immagine.
    location Percorso del cluster Azure Stack HCI. Ad esempio, potrebbe trattarsi di eastus.
    os-type Sistema operativo associato all'immagine di origine. Può trattarsi di Windows o Linux.

    Di seguito è riportato un output di esempio:

    PS C:\Users\azcli> $subscription = "<Subscription ID>"
    PS C:\Users\azcli> $resource_group = "myhci-rg"
    PS C:\Users\azcli> $customLocationName = "myhci-cl"
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $ostype = "Windows"
    

Creare un'immagine di macchina virtuale dall'immagine del marketplace

  1. Selezionare un percorso personalizzato per distribuire l'immagine della macchina virtuale. Il percorso personalizzato deve corrispondere alla posizione personalizzata per il cluster Azure Stack HCI. Ottenere l'ID percorso personalizzato per il cluster Azure Stack HCI. Eseguire il comando seguente:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for Azure Stack HCI cluster>" --query id -o tsv)
    
  2. Creare l'immagine della macchina virtuale a partire da un'immagine del marketplace specificata. Assicurarsi di specificare l'offerta, l'editore, lo SKU e la versione per l'immagine del marketplace. Usare la tabella seguente per trovare le immagini del Marketplace disponibili e i relativi valori di attributo:

    Nome Editore Offerta SKU Numero di versione
    Windows 11 Enterprise multisessione + Microsoft 365 Apps versione 21H2- Gen2 microsoftwindowsdesktop office-365 win10-21h2-avd-m365-g2 19044.3570.231010
    Windows 10 Enterprise multisessione, versione 21H2 + Microsoft 365 Apps- Gen2 microsoftwindowsdesktop office-365 win11-21h2-avd-m365 22000.2538.231010
    Windows 10 Enterprise multisessione, versione 21H2- Gen2 microsoftwindowsdesktop windows-10 win10-21h2-avd-g2 19044.3570.231001
    Windows 11 Enterprise multisessione, versione 21H2- Gen2 microsoftwindowsdesktop windows-11 win11-21h2-avd 22000.2538.231001
    Windows 11 Enterprise multisessione, versione 22H2 - Gen2 microsoftwindowsdesktop windows-11 win11-22h2-avd 22621.2428.231001
    Windows 11 versione 22H2 Enterprise multisessione + Microsoft 365 Apps (anteprima) - Gen2 microsoftwindowsdesktop windows11preview win11-22h2-avd-m365 22621.382.220810
    Windows Server 2022 Datacenter: Azure Edition - Gen2 microsoftwindowsserver windowsserver 2022-datacenter-azure-edition 20348.2031.231006
    Windows Server 2022 Datacenter: Azure Edition Core - Gen2 microsoftwindowsserver windowsserver 2022-datacenter-azure-edition-core 20348.2031.231006
    Windows Server 2022 Datacenter: Hotpatch edizione di Azure - Gen2 microsoftwindowsserver windowsserver 2022-datacenter-azure-edition-hotpatch 20348.2031.231006
    az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --name "<VM image name>" --os-type $ostype --offer "windowsserver" --publisher "<Publisher name>" --sku "<SKU>" --version "<Version number>" --storage-path-id $storagepathid
    

    Viene avviato un processo di distribuzione per l'immagine della macchina virtuale.

    In questo esempio, il percorso di archiviazione è stato specificato usando il --storage-path-id flag e che ha garantito che i dati del carico di lavoro (inclusa la macchina virtuale, l'immagine della macchina virtuale, il disco dati non del sistema operativo) vengano inseriti nel percorso di archiviazione specificato.

    Se il flag non viene specificato, i dati del carico di lavoro vengono inseriti automaticamente in un percorso di archiviazione a disponibilità elevata.

Il completamento della distribuzione delle immagini richiede alcuni minuti. Il tempo impiegato per scaricare l'immagine dipende dalle dimensioni dell'immagine del Marketplace e dalla larghezza di banda di rete disponibile per il download.

Di seguito è riportato un output di esempio:

PS C:\Users\azcli> $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> $customLocationID
/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --name "myhci-marketplaceimage" --os-type $ostype --offer "windowsserver" --publisher "microsoftwindowsserver" --sku "2022-datacenter-azure-edition-core" --version "20348.2031.231006" --storage-path-id $storagepathid
{
  "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/myhci-marketplaceimage",
  "location": "eastus",
  "name": "myhci-marketplaceimage",
  "properties": {
    "identifier": {
      "offer": "windowsserver",
      "publisher": "microsoftwindowsserver",
      "sku": "2022-datacenter-azure-edition-core"
    },
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {
        "downloadSizeInMB": 6750
      },
      "progressPercentage": 98,
      "provisioningStatus": {
        "operationId": "13be90e0-a780-45bf-a84a-ae91b6e5e468*A380D53083FF6B0A3A157ED7DFD00D33F6B3D40D5559D11AEAED6AD68F7F1A4A",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": {
      "name": "20348.2031.231006",
      "properties": {
        "storageProfile": {
          "osDiskImage": {
            "sizeInMB": 130050
          }
        }
      }
    }
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-10-27T21:43:15.920502+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-10-27T22:06:15.092321+00:00",
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/marketplacegalleryimages"
}

PS C:\Users\azcli>

Elencare le immagini delle macchine virtuali

È necessario visualizzare l'elenco delle immagini delle macchine virtuali per scegliere un'immagine da gestire.

Seguire questa procedura per elencare l'immagine della macchina virtuale usando l'interfaccia della riga di comando di Azure.

  1. Eseguire PowerShell come amministratore.

  2. Impostare alcuni parametri.

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. Elencare tutte le immagini di macchina virtuale associate al cluster. Eseguire il comando seguente:

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

    A seconda del comando usato, viene elencato un set corrispondente di immagini associate al cluster Azure Stack HCI.

    • Se si specifica solo la sottoscrizione, il comando elenca tutte le immagini nella sottoscrizione.
    • Se si specificano sia la sottoscrizione che il gruppo di risorse, il comando elenca tutte le immagini nel gruppo di risorse.

    Queste immagini includono:

    • Immagini di macchine virtuali dalle immagini del marketplace.
    • Immagini personalizzate che risiedono nell'account di archiviazione di Azure o che si trovano in una condivisione locale nel cluster o in un client connesso al cluster.

Ecco un output di esempio.

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>

Visualizzare le proprietà dell'immagine della macchina virtuale

È consigliabile visualizzare le proprietà delle immagini di macchina virtuale prima di usare l'immagine per creare una macchina virtuale. Seguire questa procedura per visualizzare le proprietà dell'immagine:

Seguire questa procedura per usare l'interfaccia della riga di comando di Azure per visualizzare le proprietà di un'immagine:

  1. Eseguire PowerShell come amministratore.

  2. Impostare i parametri seguenti.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. È possibile visualizzare le proprietà delle immagini in due modi diversi: specificare l'ID o specificare il nome e il gruppo di risorse. Per specificare l'ID immagine del Marketplace, seguire questa procedura:

    1. Impostare il parametro seguente.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
      
    2. Eseguire il comando seguente per visualizzare le proprietà.

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

      Ecco un output di esempio per questo comando:

      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> 
      

Aggiornare l'immagine della macchina virtuale

Quando una nuova immagine aggiornata è disponibile in Azure Marketplace, le immagini di macchina virtuale nel cluster Azure Stack HCI diventano non aggiornate e devono essere aggiornate. L'operazione di aggiornamento non è un aggiornamento sul posto dell'immagine. È invece possibile visualizzare le immagini delle macchine virtuali disponibili per un'immagine aggiornata e selezionare le immagini da aggiornare. Dopo l'aggiornamento, l'operazione di creazione dell'immagine della macchina virtuale usa la nuova immagine aggiornata.

Per aggiornare un'immagine di macchina virtuale, seguire questa procedura in portale di Azure.

  1. Per verificare se è disponibile un aggiornamento, selezionare un'immagine di macchina virtuale nella visualizzazione elenco.

    Screenshot che mostra che è disponibile un aggiornamento dell'immagine della macchina virtuale per il download.

    Nel pannello Panoramica viene visualizzato un banner che mostra la nuova immagine di macchina virtuale disponibile per il download, se disponibile. Per aggiornare la nuova immagine, selezionare l'icona della freccia.

    Screenshot che mostra una nuova immagine della macchina virtuale disponibile per il download nei dettagli dell'immagine della macchina virtuale.

  2. Esaminare i dettagli dell'immagine e quindi selezionare Rivedi e crea. Per impostazione predefinita, la nuova immagine usa lo stesso gruppo di risorse e i dettagli dell'istanza dell'immagine precedente.

    Il nome della nuova immagine viene incrementato in base al nome dell'immagine precedente. Ad esempio, un'immagine esistente denominata winServer2022-01 avrà un'immagine aggiornata denominata winServer2022-02.

    Screenshot che mostra la finestra di dialogo Rivedi e crea per una nuova immagine della macchina virtuale.

  3. Per completare l'operazione, selezionare Crea.

    Screenshot che mostra la finestra di dialogo Crea immagine per una nuova immagine della macchina virtuale.

    Dopo aver creato la nuova immagine della macchina virtuale, creare una macchina virtuale usando la nuova immagine e verificare che la macchina virtuale funzioni correttamente. Dopo la verifica, è possibile eliminare l'immagine della macchina virtuale precedente.

    Nota

    In questa versione non è possibile eliminare un'immagine della macchina virtuale se la macchina virtuale associata a tale immagine è in esecuzione. Arrestare la macchina virtuale e quindi eliminare l'immagine della macchina virtuale.

Eliminare l'immagine della macchina virtuale

È possibile eliminare un'immagine della macchina virtuale se il download ha esito negativo per qualche motivo o se l'immagine non è più necessaria. Seguire questa procedura per eliminare le immagini della macchina virtuale.

  1. Eseguire PowerShell come amministratore.

  2. Impostare i parametri seguenti.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery image name>"    
    
  3. Rimuovere un'immagine di macchina virtuale esistente. Eseguire il comando seguente:

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

È possibile eliminare l'immagine in due modi:

  • Specificare il nome e il gruppo di risorse.
  • Specificare l'ID.

Dopo aver eliminato un'immagine, è possibile verificare che l'immagine venga rimossa. Ecco un output di esempio quando l'immagine è stata eliminata specificando il nome e il gruppo di risorse.

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>

Passaggi successivi