Criar imagem de VM do Azure Stack HCI usando imagens 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 de 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 no Azure Stack HCI.

Pré-requisitos

Antes de começar, verifique se os pré-requisitos a seguir foram concluídos.

  • Examine e Conclua os pré-requisitos.

  • Você tem acesso a um sistema do Azure Stack HCI implantado, tem uma Ponte de Recursos do Arc e um local personalizado.

    • Acesse a página Servidor de Visão Geral > no recurso do sistema do Azure Stack HCI. Verifique se o Azure Arc é mostrado como Conectado. Você também deve ver um local personalizado e uma Ponte de Recursos do Arc para seu cluster.

      Captura de tela da página Visão geral no recurso de cluster do Azure Stack HCI mostrando o Azure Arc como conectado.

Adicionar imagem de VM do Azure Marketplace

Você cria uma imagem de VM a partir de uma imagem 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 no sistema do 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 em < > pelos valores apropriados.

    $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>"
    

    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 associado a essa imagem.
    location Local do cluster do Azure Stack HCI. Por exemplo, isso pode 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> $customLocationName = "myhci-cl"
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $ostype = "Windows"
    

Criar imagem de VM com base na imagem do marketplace

  1. Selecione um local personalizado para implantar sua imagem de VM. O local personalizado deve corresponder ao local personalizado do cluster do Azure Stack HCI. Obtenha a ID de local personalizada para o cluster do Azure Stack HCI. Execute o comando a seguir:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for Azure Stack HCI cluster>" --query id -o tsv)
    
  2. Crie a imagem da VM começando com uma imagem do marketplace especificada. Especifique a oferta, o publicador, o SKU e a versão para a imagem do marketplace. Use a tabela a seguir para localizar as imagens disponíveis do marketplace e seus valores de atributo:

    Nome Publicador Oferta SKU Número de versão
    Windows 11 Enterprise várias sessões + Microsoft 365 Apps, versão 21H2 - Gen2 microsoftwindowsdesktop office-365 win10-21h2-avd-m365-g2 19044.3570.231010
    Windows 10 Enterprise várias sessões, versão 21H2 + Microsoft 365 Apps- Gen2 microsoftwindowsdesktop office-365 win11-21h2-avd-m365 22000.2538.231010
    Windows 10 Enterprise várias sessões, versão 21H2 - Gen2 microsoftwindowsdesktop windows-10 win10-21h2-avd-g2 19044.3570.231001
    Windows 11 Enterprise várias sessões, versão 21H2 - Gen2 microsoftwindowsdesktop windows-11 win11-21h2-avd 22000.2538.231001
    Windows 11 Enterprise várias sessões, versão 22H2 – Gen2 microsoftwindowsdesktop windows-11 win11-22h2-avd 22621.2428.231001
    Windows 11, versão 22H2 Enterprise multissessão + Microsoft 365 Apps (versão prévia) – 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: Azure Edition Hotpatch – 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
    

    Um trabalho de implantação é iniciado para a imagem da VM.

    Neste exemplo, o caminho de armazenamento foi especificado usando o --storage-path-id sinalizador e que garantiu que os dados da carga de trabalho (incluindo a VM, a imagem da VM, o disco de dados não sos) sejam colocados no caminho de armazenamento especificado.

    Se o sinalizador não for especificado, os dados da carga de trabalho serão colocados automaticamente em um caminho de armazenamento de alta disponibilidade.

A implantação da imagem leva alguns minutos para ser concluída. O tempo necessário para baixar a imagem depende do tamanho da imagem do Marketplace e da largura de banda de rede disponível para o download.

Aqui está um exemplo de saída:

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>

Listar imagens de VM

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

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 no 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>

Exibir propriedades de imagem da 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 parâmetros a seguir.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Você pode exibir propriedades de 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 parâmetro a seguir.

      $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á uma saída de exemplo 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 de 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 criar 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 nos detalhes da imagem da VM.

  2. Examine os detalhes da imagem e selecione Revisar e criar. Por padrão, a nova imagem usa os mesmos detalhes do grupo de recursos e da 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 Examinar 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 antiga da VM.

    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. Interrompa a VM e exclua a imagem da VM.

Excluir imagem de 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 parâmetros a seguir.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery 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 a ID.

Depois de excluir uma imagem, você pode marcar que a imagem seja removida. Aqui está uma saída de exemplo 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