Migrar conjuntos de disponibilidade para Conjuntos de Dimensionamento de Máquinas Virtuais (pré-visualização)

Este artigo descreve como migrar as suas Máquinas Virtuais do Azure (VMs) de conjuntos de disponibilidade para Conjuntos de Dimensionamento de Máquinas Virtuais com modo de orquestração flexível.

Importante

A funcionalidade de migração de conjuntos de disponibilidade para Conjuntos de Dimensionamento de Máquinas Virtuais está atualmente em pré-visualização. As pré-visualizações são disponibilizadas a si na condição de concordar com os termos suplementares de utilização. Alguns aspetos desta funcionalidade podem alterar-se após a disponibilidade geral (GA).

Porque migrar para Conjuntos de Dimensionamento de Máquinas Virtuais?

Conjuntos de Dimensionamento de Máquinas Virtuais com orquestração flexível oferecem várias vantagens em relação aos conjuntos de alta disponibilidade:

Feature Conjuntos de Escala de Máquinas Virtuais (Flexível) Conjuntos de disponibilidade
Instâncias máximas Até 1.000 VMs Até 200 VMs
Suporte a Zonas de Disponibilidade Sim No
Dimensionamento automático Sim No
Atualizações contínuas Sim No
Proteção de instância Sim No
SLA de disponibilidade 99,95% (domínios de falha) ou 99,99% (zonas de disponibilidade) 99.95%
Tamanhos mistos de VMs Sim Sim
suporte do Azure Backup Sim Sim

Para uma comparação completa, veja Modos de orquestração para Conjuntos de Dimensionamento de Máquinas Virtuais.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Subscrição Azure com a funcionalidade de pré-visualização da migração registada.
  • CLI do Azure 2.72.0 ou posterior, ou Azure PowerShell módulo Az instalado.
  • Um conjunto de disponibilidade já existente com VMs que queres migrar.

Registe-se na funcionalidade de pré-visualização

Registe a MigrateToVmssFlex funcionalidade de pré-visualização para a tua subscrição:

# Set your subscription context
az account set --subscription "<subscriptionId>"

# Register the migration feature
az feature register --namespace Microsoft.Compute --name MigrateToVmssFlex

# Check registration status
az feature show --namespace Microsoft.Compute --name MigrateToVmssFlex --query properties.state -o tsv

Caminhos de Migração Suportados

Source Target Descrição
Conjunto de disponibilidade Conjunto de Escala Regional de Máquinas Virtuais Máquinas Virtuais (VMs) distribuídas por domínios de falha na região
Conjunto de disponibilidade Conjunto de Escala de Máquinas Virtuais Zonais VMs colocadas em zonas de disponibilidade específicas (1, 2 ou 3)

Limitations

As seguintes configurações não são suportadas para migração:

  • VMs com endereços IP públicos básicos - Atualizar para o SKU Standard antes da migração.
  • VMs atrás de um Carregador de Balanço Básico - Atualizar para o Carregador de Balanço Standard antes da migração.
  • VMs com discos não geridos - Converter para discos geridos antes da migração.

Visão geral da migração

Importante

  • As VMs são paradas e desalocadas durante a migração. Programe a migração durante uma janela de manutenção onde o tempo de inatividade seja aceitável.
  • Assim que a migração começa, o conjunto de disponibilidade fica bloqueado. Não podem ser feitas outras alterações até que a migração seja concluída ou cancelada.
  • A migração é uma operação unidirecional. Não podes migrar de volta para os conjuntos de disponibilidade após a conclusão.

O portal Azure proporciona uma experiência orientada que trata da validação, seleção (ou criação de conjuntos de escala), atribuição de zonas e migração num fluxo simplificado. Ao migrar usando o portal Azure, só pode migrar todas as máquinas virtuais ao mesmo tempo. Se precisar de migrar uma única máquina virtual de cada vez para garantir a disponibilidade da aplicação, utilize métodos alternativos de migração como CLI, PowerShell ou REST.

Para API CLI do Azure, Azure PowerShell ou REST, o processo de migração consiste nas seguintes fases:

  1. Criar Conjunto de Escalas de Máquinas Virtuais Destino - Crie um novo conjunto de máquinas virtuais com modo de orquestração flexível (caso não possua).
  2. Validar a migração - Verificar se o conjunto de disponibilidade pode ser migrado.
  3. Iniciar migração - Colocar o conjunto de disponibilidade em modo de migração.
  4. Migrar VMs - Mover cada VM individualmente para o conjunto de escala.
  5. Iniciar VMs - Ligue as VMs migradas.
  6. Limpar - Apagar o conjunto de disponibilidade vazio.

Migrar usando o portal do Azure

Note

O portal migra todas as VMs do conjunto de disponibilidade de uma só vez. Se precisares de migrar VMs uma de cada vez para manter o uptime da aplicação durante a migração, usa a API CLI do Azure, Azure PowerShell ou REST em vez disso.

Passo 1: Iniciar o processo de migração

  1. Navegue no portal Azure até ao conjunto de disponibilidade que pretende migrar.

  2. Na página de Visão Geral do conjunto de disponibilidade, selecione a opção Migrar na barra de ferramentas.

    Captura de ecrã que mostra a página de visão geral do conjunto de disponibilidade com o botão Migrar na barra de ferramentas e um banner a promover a migração.

Passo 2: Selecionar o conjunto de escalas alvo

A primeira página lista todas as máquinas virtuais no conjunto de disponibilidade, juntamente com o seu estado e tamanho atual.

Use um conjunto de escalas já existente

  1. Em Selecionar o conjunto de escalas alvo, escolha um conjunto de escalas existente da lista pendente. Apenas são exibidas configurações de conjunto de escalas compatíveis.

    Captura de ecrã que mostra o passo 1 do processo de migração com a lista de VMs, o menu suspenso 'Selecionar um conjunto de escala', definido para 'myScaleSet', e a região apresentada como 'Sul do Reino Unido'.

Rápido, cria um novo conjunto de escalas

Se não tiver um conjunto de escalas existente, pode criar um diretamente a partir da experiência de migração:

  1. Selecione Criar rapidamente um novo conjunto de escalas abaixo do menu suspenso.
  2. No painel de criação rápida do conjunto de escalas , fornece um nome para o conjunto de escalas e completa as definições da conta de administrador. A subscrição, o grupo de recursos, a localização e o tamanho da VM são pré-preenchidos a partir da configuração do seu conjunto de disponibilidade.
  3. Selecione Criar um conjunto de escalas para criar o conjunto de escalas e continue com a migração.

Passo 3: Atribuir zonas de disponibilidade (apenas migração zonal)

Se selecionar um conjunto de escala zonal (um configurado com zonas de disponibilidade), aparece uma secção adicional de alocação de VM . Utilize o menu pendente de cada VM para a atribuir a uma zona de disponibilidade específica.

Sugestão

Distribua as VMs por todas as zonas disponíveis para máxima resiliência. Por exemplo, atribui VM1 à Zona 1, VM2 à Zona 2 e VM3 à Zona 3.

Captura de ecrã mostrando a secção de alocação de VMs para um conjunto de escalas zonal com dropdowns de zonas de disponibilidade para cada VM, mostrando as atribuições da Zona 1, Zona 2 e Zona 3.

Passo 4: Revisar e migrar

  1. A página de revisão mostra os detalhes do conjunto de escala alvo e lista cada VM com o seu estado de migração.

    Captura de ecrã a mostrar a página de revisão para uma migração zonal com três VMs a mostrar as suas atribuições de zona e o estado Não iniciado.

  2. Revise a lista de VMs e as atribuições de zonas (se aplicável), depois selecione Migrar.

  3. O estado de cada VM muda para Migração em curso.

    Captura de ecrã mostrando três VMs com o estado de Migração em curso durante uma migração zonal.

  4. Quando todas as VMs terminam de migrar, o estado muda para Migração concluída.

    Captura de ecrã mostrando três VMs com o estado de migração concluída e marcas verdes.

Passo 5: Iniciar VMs e limpar

  1. Selecione Iniciar VMs para iniciar todas as VMs migradas, ou selecione Ir para instâncias do conjunto escalável para as iniciar individualmente a partir do conjunto de escala.

    Importante

    Depois de migrar as suas VMs no portal do Azure e navegar para o separador de instâncias do conjunto de escala, poderá notar que algumas VMs estão ausentes na lista. Isto é apenas um atraso do visualizador do portal. As VMs foram migradas. Se necessário, também pode visualizar as VMs migradas no blade de visão geral da Máquina Virtual e iniciá-las a partir daí.

    Captura de ecrã a mostrar a secção dos próximos passos com Reiniciar as suas VMs e Apagar os seus cartões de disponibilidade.

  2. Depois de todas as VMs serem migradas e verificadas, o conjunto de disponibilidade fica vazio e pode ser eliminado em segurança

    Captura de ecrã mostrando o conjunto de disponibilidade vazio com 0 máquinas virtuais e o botão Migrate to scale set Flex esmaecido.

  3. Selecione Eliminar para remover o conjunto de disponibilidade vazio.

Migrar usando CLI do Azure, Azure PowerShell ou REST API

Passo 1: Criar um Conjunto de Escala de Máquina Virtual alvo

Note

A migração através dos SDKs disponíveis proporciona controlo adicional sobre as etapas da migração, como migrar VMs individuais de cada vez ou cancelar a migração. Se não te importares de migrar todas as VMs de uma vez, podes optar por usar o portal do Azure em vez disso. Caso contrário, se precisar de mais controlo sobre os passos individuais de migração, continue com os passos abaixo.

Se não tiver um conjunto de escalas existente, crie um como alvo de migração. O conjunto de escalas deve usar o modo de orquestração flexível.

Para instruções detalhadas sobre como criar um conjunto de escalas, veja Criar máquinas virtuais num conjunto de escalas usando Azure portal.

Ao criar o conjunto de escalas para migração:

  • Selecione o modo de orquestração flexível.
  • Para a implantação zonal (recomendada para maior disponibilidade), selecione uma ou mais zonas de disponibilidade (1, 2, 3).
  • Para implantação regional, não selecione nenhuma zona de disponibilidade.
  • Defina a contagem de instâncias para 0 para criar um conjunto de escalas vazio para migração.

Passo 2: Validar a migração

Antes de iniciar a migração, valide que o seu conjunto de disponibilidade pode ser migrado para o conjunto de escalas alvo.

az vm availability-set validate-migration-to-vmss \
  --resource-group "<resource-group-name>" \
  --name "<availability-set-name>" \
  --vmss-flexible-id "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scale-set-name>"

Uma validação bem-sucedida devolve o código de estado HTTP 200. Se a validação falhar, reveja a mensagem de erro para as ações necessárias.

Passo 3: Iniciar a migração

Após validação bem-sucedida, inicie o processo de migração. Esta ação coloca o conjunto de disponibilidade em modo de migração.

Atenção

Após iniciar a migração, o conjunto de disponibilidade fica bloqueado. Só podes migrar VMs, completar a migração ou cancelar a migração até o processo terminar.

az vm availability-set start-migration-to-vmss \
  --resource-group "<resource-group-name>" \
  --name "<availability-set-name>" \
  --vmss-flexible-id "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scale-set-name>"

Passo 4: Migrar VMs individuais

Migre cada VM do conjunto de disponibilidade para o conjunto de escala.

Migração regional

Para migração regional, as VMs são distribuídas automaticamente por domínios de falha:

az vm migrate-to-vmss \
  --resource-group "<resource-group-name>" \
  --vm-name "<vm-name>"

Migração zonal

Para migração zonal, especifique a zona de disponibilidade alvo para cada máquina virtual:

az vm migrate-to-vmss \
  --resource-group "<resource-group-name>" \
  --vm-name "<vm-name>" \
  --target-zone "1"

Opcional: Alterar o tamanho da VM durante a migração

Pode, opcionalmente, alterar o tamanho da VM durante a migração zonal:

Sugestão

Para distribuir as VMs entre zonas de disponibilidade para máxima resiliência, atribui diferentes zonas a diferentes VMs. Por exemplo, migre o VM1 para a Zona 1, o VM2 para a Zona 2 e o VM3 para a Zona 3.

{
  "targetZone": "1",
  "targetVMSize": "Standard_D4s_v5"
}

Passo 5: Iniciar VMs migradas

Após a migração, as VMs ficam num estado Parado (desalocado). Não arrancam automaticamente. Pode iniciar VMs imediatamente depois de atingirem o estado Parados (desalocados).

az vm start --resource-group "<resource-group-name>" --name "<vm-name>"

Passo 6: Limpar o conjunto de disponibilidade vazio

Depois de todas as VMs serem migradas e verificadas, apague o conjunto de disponibilidade vazio:

az vm availability-set delete \
  --resource-group "<resource-group-name>" \
  --name "<availability-set-name>"

Cancelar migração

Se precisar de cancelar uma migração em curso antes de todas as VMs serem migradas:

Advertência

As VMs que já foram migradas mantêm-se no conjunto de escala. Só as VMs que ainda não foram migradas permanecem no conjunto de disponibilidade.

az vm availability-set cancel-migration-to-vmss \
  --resource-group "<resource-group-name>" \
  --name "<availability-set-name>"

Troubleshooting

Funcionalidade não registada

Erro:The subscription is not registered to use feature 'MigrateToVmssFlex'

Solução: Registe-se na funcionalidade de pré-visualização e aguarde que o registo seja concluído. Veja Registar a funcionalidade de pré-visualização.

Tamanho da VM não disponível na zona

Erro:The requested VM size is not available in the specified location/zone

Solução: Verifique os tamanhos das VMs disponíveis na zona alvo:

az vm list-skus --location "<region>" --zone "<zone>" --resource-type virtualMachines --output table

Conjunto de disponibilidade já está em migração

Erro:The availability set is already in migration mode

Solução: Continue com os passos de migração da VM, ou cancele a migração se precisar de fazer alterações.

Permissões insuficientes

Erro:The client does not have authorization to perform action

Solução: Certifica-te de que tens um papel de Contribuinte ou superior no grupo de recursos.

Endereço IP público básico ou "Balanceador de Carga"

Erro:VMs with Basic public IP addresses or Basic Load Balancers are not supported

Solução: Atualize para os recursos do SKU Standard antes da migração:

Passos seguintes