Criar uma imagem de VM do Azure Stack HCI com a imagem na conta de Armazenamento do Azure

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

Este artigo descreve como criar imagens de máquina virtual (VM) para o Azure Stack HCI com imagens de origem da conta de Armazenamento do Azure. Pode criar imagens de VM com o portal do Azure ou a CLI do Azure e, em seguida, utilizar estas imagens de VM para criar VMs do Arc no Azure Stack HCI.

Pré-requisitos

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

  • Certifique-se de que revê e Conclui os pré-requisitos.

  • Tem acesso a um sistema do Azure Stack HCI implementado, tem uma Ponte de Recursos do Arc e uma localização personalizada.

    • Aceda à página Servidor de Descrição Geral > no recurso do sistema do Azure Stack HCI. Verifique se o Azure Arc é apresentado como Ligado. Também deverá ver uma localização personalizada e uma Ponte de Recursos do Arc para o cluster.

      Captura de ecrã da página Descrição geral no recurso do cluster do Azure Stack HCI que mostra o Azure Arc como ligado.

  • Para imagens personalizadas na conta de Armazenamento do Azure, tem os seguintes pré-requisitos adicionais:

Adicionar imagem de VM a partir da conta de Armazenamento do Azure

Pode criar uma imagem de VM a partir de uma imagem na conta de Armazenamento do Azure e, em seguida, utilizar esta imagem para implementar VMs no cluster do Azure Stack HCI.

Siga estes passos para criar uma imagem de VM com a CLI do Azure.

Iniciar sessão e definir a subscrição

  1. Ligue-se a um servidor no seu sistema Azure Stack HCI.

  2. Inicie sessão. Escreva:

    az login --use-device-code
    
  3. Defina a sua subscrição.

    az account set --subscription <Subscription ID>
    

Definir alguns parâmetros

  1. Defina a sua subscrição, grupo de recursos, localização, caminho para a imagem na partilha local e tipo de SO para a imagem. Substitua os parâmetros em < > pelos valores adequados.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Stack HCI cluster>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"

Os parâmetros estão descritos na seguinte tabela:

Parâmetro Description
subscription Grupo de recursos do cluster do Azure Stack HCI que associa a esta imagem.
resource_group Grupo de recursos do cluster do Azure Stack HCI que associa a esta imagem.
location Localização do cluster do Azure Stack HCI. Por exemplo, pode ser eastus.
imageName Nome da imagem da VM criada a partir da imagem na sua partilha local.
Nota: o Azure rejeita todos os nomes que contêm a palavra-chave Windows.
imageSourcePath Caminho para o URL de SAS de Blobs da imagem na conta de Armazenamento. Para obter mais informações, veja instruções sobre como Obter um URL de SAS de blobs da imagem na conta de Armazenamento.
Nota: certifique-se de que todos os endossos no caminho são escapados com aspas duplas e que toda a cadeia de caminho está encapsulada dentro de plicas.
os-type Sistema operativo associado à imagem de origem. Isto pode ser Windows ou Linux.

Veja a seguir uma saída de exemplo:

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

Criar imagem de VM a partir da imagem na conta de Armazenamento do Azure

  1. Selecione uma localização personalizada para implementar a sua imagem de VM. A localização personalizada deve corresponder à localização personalizada do cluster do Azure Stack HCI. Obtenha o ID de localização personalizada para o cluster do Azure Stack HCI. Execute o seguinte comando:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
    
  2. Crie a imagem da VM a partir de uma imagem de marketplace especificada. Certifique-se de que especifica a oferta, o publicador, o sku e a versão da imagem do marketplace.

    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
    

    É iniciada uma tarefa de implementação para a imagem da VM.

    Neste exemplo, o caminho de armazenamento foi especificado com 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 SO) são colocados no caminho de armazenamento especificado.

    Se o sinalizador não for especificado, os dados da carga de trabalho são colocados automaticamente num caminho de armazenamento de elevada disponibilidade.

A implementação da imagem demora alguns minutos a concluir. O tempo necessário para transferir a imagem depende do tamanho da imagem na conta de Armazenamento do Azure e da largura de banda de rede disponível para a transferência.

Veja a seguir uma saída de exemplo:

PS > $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 --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
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-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/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": null
  },
  "resourceGroup": "myhci-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"
}
PS C:\Users\azcli>

Listar imagens de VM

Tem de ver a lista de imagens de VM para escolher uma imagem para gerir.

Siga estes passos para listar a imagem da VM com a CLI do Azure.

  1. Execute o PowerShell como um 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 seguinte comando:

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

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

    • Se especificar apenas a subscrição, o comando lista todas as imagens na subscrição.
    • Se especificar a subscrição e o grupo de recursos, o comando lista todas as imagens no grupo de recursos.

    Estas imagens incluem:

    • Imagens de VM a partir de imagens do marketplace.
    • Imagens personalizadas que residem na sua conta de Armazenamento do Azure ou estão numa partilha local no cluster ou num cliente ligado ao cluster.

Eis um resultado de exemplo.

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>

Ver propriedades da imagem da VM

Poderá querer ver as propriedades das imagens da VM antes de utilizar a imagem para criar uma VM. Siga estes passos para ver as propriedades da imagem:

Siga estes passos para utilizar a CLI do Azure para ver as propriedades de uma imagem:

  1. Execute o PowerShell como um administrador.

  2. Defina os seguintes parâmetros.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Pode ver as propriedades da imagem de duas formas diferentes: especificar o ID ou especificar o nome e o grupo de recursos. Siga os seguintes passos ao especificar o ID de imagem do Marketplace:

    1. Defina o parâmetro seguinte.

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

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

      Eis um resultado 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> 
      

Eliminar imagem de VM

Poderá querer eliminar uma imagem de VM se a transferência falhar por algum motivo ou se a imagem já não for necessária. Siga estes passos para eliminar as imagens da VM.

  1. Execute o PowerShell como um administrador.

  2. Defina os seguintes parâmetros.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery image name>"    
    
  3. Remover uma imagem de VM existente. Execute o seguinte comando:

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

Pode eliminar a imagem de duas formas:

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

Depois de eliminar uma imagem, pode verificar se a imagem foi removida. Eis um resultado de exemplo quando a imagem foi eliminada ao especificar 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>

Passos seguintes