Criar imagem de VM do Azure Stack HCI usando imagens do Azure Marketplace

Aplica-se a: Azure Stack HCI, versão 23H2

Este artigo descreve como criar imagens de VM (máquina virtual) para o Azure Stack HCI usando imagens de origem do Azure Marketplace. Você pode criar imagens de VM usando o portal do Azure ou a CLI do Azure e, em seguida, usar essas imagens de VM para criar VMs do Arc em seu Azure Stack HCI.

Pré-requisitos

Antes de começar, certifique-se de que os seguintes pré-requisitos foram concluídos.

Adicionar imagem de VM do Azure Marketplace

Você cria uma imagem de VM a partir de uma imagem do Azure Marketplace e, em seguida, usa essa imagem para implantar VMs no cluster do Azure Stack HCI.

Siga estas etapas para criar uma imagem de VM usando a CLI do Azure.

Entrar e definir assinatura

  1. Conecte-se a um servidor em seu sistema Azure Stack HCI.

  2. Entrar. Tipo:

    az login --use-device-code
    
  3. Defina sua assinatura.

    az account set --subscription <Subscription ID>
    

Defina alguns parâmetros

  1. Defina parâmetros para sua assinatura, grupo de recursos, local, tipo de sistema operacional para a imagem. Substitua os parâmetros pelos < > valores apropriados.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $mktplaceImage = "<Marketplace image name>"
    $customLocationName = "<Custom location name>"
    $customLocationID = (az customlocation show --resource-group $resource_group --name "<custom_location_name_for_Azure_Stack_HCI_cluster>" --query id -o tsv)
    $location = "<Location for your Azure Stack HCI cluster>"
    $osType = "<OS of source image>"
    

    Os parâmetros estão descritos na tabela a seguir:

    Parâmetro Descrição
    subscription Assinatura associada ao cluster do Azure Stack HCI.
    resource-group Grupo de recursos para o cluster do Azure Stack HCI que você associa a essa imagem.
    name Nome da imagem do marketplace para o cluster do Azure Stack HCI.
    customLocation ID do recurso do local personalizado para o cluster do Azure Stack HCI.
    location Local do cluster do Azure Stack HCI. Por exemplo, poderia ser eastus.
    os-type Sistema operacional associado à imagem de origem. Pode ser Windows ou Linux.

    Aqui está um exemplo de saída:

    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> $customLocationName = "myhci-cl"
    PS C:\Users\azcli> $customerLocationID /subscriptions$subscription/resourcegroups/$resource_group/providers/microsoft.extendedlocation/customlocations/$customLocationName
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $ostype = "Windows"
    

Criar imagem de VM a partir da imagem do marketplace

  1. Defina parâmetros adicionais que especifiquem a imagem de VM pretendida que você gostaria de criar. Você precisará incluir a oferta, o editor, o SKU e a versão da imagem do marketplace. Substitua os parâmetros pelos <> valores apropriados:

    $publisher = "<Publisher name>"
    $offer = "<OS offer>"
    $sku = "<Image SKU>"
    

    Use a tabela a seguir para encontrar as imagens do marketplace disponíveis e seus valores de atributo:

    Nome Publicador Oferta SKU
    Windows 11 Enterprise multissessão + Microsoft 365 MicrosoftWindowsDesktop escritório-365 win11-21h2-avd-m365
    win11-23h2-avd-m365
    Windows 10 Enterprise multissessão + Microsoft 365 MicrosoftWindowsDesktop escritório-365 win10-21h2-avd-m365
    win10-22h2-avd-m365
    Windows 11 Pro MicrosoftWindowsDesktop janelas-11 win11-21h2-pro
    win11-22h2-pro
    win11-23h2-pro
    Windows 11 Enterprise MicrosoftWindowsDesktop janelas-11 win11-21h2-ent
    win11-22h2-ent
    win11-23h2-ent
    Windows 11 Enterprise de várias sessões MicrosoftWindowsDesktop janelas-11 win11-21h2-avd
    win11-22h2-avd
    win11-23h2-avd
    Windows 10 Pro MicrosoftWindowsDesktop janelas-10 win10-22h2-pro-g2
    Windows 10 Enterprise MicrosoftWindowsDesktop janelas-10 win10-22h2-ent-g2
    Windows 10 Enterprise com várias sessões MicrosoftWindowsDesktop janelas-10 win10-22h2-avd
    Windows Server 2022 Datacenter: Azure Edition microsoftwindowsserver windowsserver 2022-datacenter-azure-edition-hotpatch
    2022-datacenter-azure-edition-core
    2022-datacenter-azure-edition
    Windows Server 2019 microsoftwindowsserver windowsserver 2019-datacenter-gensecond
    2019-datacenter-core-g2
    SQL Server 2022 Enterprise no Windows Server 2022 microsoftsqlserver sql2022-ws2022 empresa-gen2
    standard-gen2

    Se você quisesse criar uma imagem do Windows Server 2019 Datacenter, teria os seguintes parâmetros:

    $publisher = "microsoftwindowsserver" 
    $offer = "windowsserver" 
    $sku = "2019-datacenter-gensecond"
    
  2. Crie a imagem da VM começando com uma imagem do marketplace especificada:

    az stack-hci-vm image create --resource-group $resource_group --custom-location $customLocationID --name $mktplaceImage --os-type $ostype --offer $offer --publisher $publisher --sku $sku 
    

Aqui está um exemplo de saída:

PS C:\Users\azcli> az stack-hci-vm image create --custom-location $cl --name $mktplaceImage --os-type $ostype --resource-group $rg --publisher $publisher --offer $offer --sku $sku 
{ 
  "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": { 
    "cloudInitDataSource": null, 
    "containerId": null, 
    "hyperVGeneration": null, 
    "identifier": { 
      "offer": "windowsserver", 
      "publisher": "microsoftwindowsserver", 
      "sku": "2019-datacenter-gensecond" 
    }, 
    "osType": "Windows", 
    "provisioningState": "Succeeded", 
    "status": { 
      "downloadStatus": { 
        "downloadSizeInMb": 10832 
      }, 
      "errorCode": "", 
      "errorMessage": "", 
      "progressPercentage": 100, 
      "provisioningStatus": { 
        "operationId": "13efc468-7473-429f-911b-858c1e6fc1d5*B11A62EE76B08EF194F8293CDD40F7BC71BFB93255D5A99DD11B4167690752D9", 
        "status": "Succeeded" 
      } 
    }, 
    "version": { 
      "name": "17763.6293.240905", 
      "properties": { 
        "storageProfile": { 
          "osDiskImage": { 
            "sizeInMb": 130050 
          } 
        } 
      } 

    } 
  }, 
  "resourceGroup": "myhci-rg", 
  "systemData": { 
    "createdAt": "2024-09-23T18:53:13.734389+00:00", 
    "createdBy": "guspinto@contoso.com", 
    "createdByType": "User", 
    "lastModifiedAt": "2024-09-23T19:06:07.532276+00:00", 
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05", 
    "lastModifiedByType": "Application" 
  }, 

  "tags": null, 
  "type": "microsoft.azurestackhci/marketplacegalleryimages" 
} 

Para obter mais informações sobre esse comando da CLI, consulte az stack-hci-vm image.

Listar imagens de VM

Você precisa exibir a lista de imagens de VM para escolher uma imagem para gerenciar.

Siga estas etapas para listar a imagem da VM usando a CLI do Azure.

  1. Execute o PowerShell como administrador.

  2. Defina alguns parâmetros.

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. Liste todas as imagens de VM associadas ao cluster. Execute o comando a seguir:

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

    Dependendo do comando usado, um conjunto correspondente de imagens associadas ao cluster do Azure Stack HCI é listado.

    • Se você especificar apenas a assinatura, o comando listará todas as imagens na assinatura.
    • Se você especificar a assinatura e o grupo de recursos, o comando listará todas as imagens no grupo de recursos.

    Essas imagens incluem:

    • Imagens de VM de imagens do marketplace.
    • Imagens personalizadas que residem em sua conta de Armazenamento do Azure ou estão em um compartilhamento local em seu cluster ou em um cliente conectado ao cluster.

Aqui está um exemplo de saída.

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>

Para obter mais informações sobre esse comando da CLI, consulte az stack-hci-vm image list.

Exibir propriedades de imagem de VM

Talvez você queira exibir as propriedades das imagens de VM antes de usar a imagem para criar uma VM. Siga estas etapas para exibir as propriedades da imagem:

Siga estas etapas para usar a CLI do Azure para exibir as propriedades de uma imagem:

  1. Execute o PowerShell como administrador.

  2. Defina os seguintes parâmetros.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Você pode exibir as propriedades da imagem de duas maneiras diferentes: especificar ID ou especificar nome e grupo de recursos. Execute as seguintes etapas ao especificar a ID da imagem do Marketplace:

    1. Defina o seguinte parâmetro.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
      
    2. Execute o comando a seguir para exibir as propriedades.

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

      Aqui está um exemplo de saída para este 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> 
      

Atualizar imagem da VM

Quando uma nova imagem atualizada está disponível no Azure Marketplace, as imagens de VM no cluster do Azure Stack HCI ficam obsoletas e devem ser atualizadas. A operação de atualização não é uma atualização in-loco da imagem. Em vez disso, você pode ver para quais imagens de VM uma imagem atualizada está disponível e selecionar imagens para atualizar. Depois de atualizar, a operação de criação de imagem de VM usa a nova imagem atualizada.

Para atualizar uma imagem de VM, use as etapas a seguir no portal do Azure.

  1. Para ver se uma atualização está disponível, selecione uma imagem de VM na exibição de lista.

    Captura de tela mostrando que uma atualização de imagem de VM está disponível para download.

    Na folha Visão geral, você verá uma faixa que mostra a nova imagem de VM disponível para download, se houver uma disponível. Para atualizar para a nova imagem, selecione o ícone de seta.

    Captura de tela mostrando uma nova imagem de VM disponível para download em Detalhes da imagem de VM.

  2. Examine os detalhes da imagem e selecione Examinar e criar. Por padrão, a nova imagem usa o mesmo grupo de recursos e detalhes de instância que a imagem anterior.

    O nome da nova imagem é incrementado com base no nome da imagem anterior. Por exemplo, uma imagem existente chamada winServer2022-01 terá uma imagem atualizada chamada winServer2022-02.

    Captura de tela mostrando a caixa de diálogo Revisar e criar para uma nova imagem de VM.

  3. Para concluir a operação, selecione Criar.

    Captura de tela mostrando a caixa de diálogo Criar imagem para uma nova imagem de VM.

    Depois que a nova imagem de VM for criada, crie uma VM usando a nova imagem e verifique se a VM funciona corretamente. Após a verificação, você pode excluir a imagem da VM antiga.

    Observação

    Nesta versão, você não poderá excluir uma imagem de VM se a VM associada a essa imagem estiver em execução. Pare a VM e exclua a imagem da VM.

Excluir imagem da VM

Talvez você queira excluir uma imagem de VM se o download falhar por algum motivo ou se a imagem não for mais necessária. Siga estas etapas para excluir as imagens da VM.

  1. Execute o PowerShell como administrador.

  2. Defina os seguintes parâmetros:

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Markeplace image name>"    
    
  3. Remova uma imagem de VM existente. Execute o comando a seguir:

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

Você pode excluir a imagem de duas maneiras:

  • Especifique o nome e o grupo de recursos.
  • Especifique o ID.

Depois de excluir uma imagem, você pode verificar se a imagem foi removida. Aqui está um exemplo de saída quando a imagem foi excluída especificando o nome e o grupo de recursos.

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>

Próximas etapas