Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: ✔️ Linux VMs ✔️ Windows VMs
Observação
Os passos de migração mencionados neste artigo não se aplicam a máquinas virtuais num conjunto de disponibilidade. Se precisar de mover máquinas virtuais num grupo de disponibilidade, consulte Migrar grupos de disponibilidade para Conjuntos de Dimensionamento de Máquinas Virtuais
Este artigo descreve como migrar uma Máquina Virtual Azure (VM) de uma implementação regional (não zonal) para uma zona de disponibilidade específica, preservando o nome da VM, os discos de dados e outras propriedades com estado.
Importante
A migração de regional para VM zonal está atualmente em Prévia Pública. 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).
Esta funcionalidade de migração ainda não está disponível no portal Azure.
Pré-requisitos
Antes de começar, certifique-se de ter o seguinte:
- Subscrição do Azure com a funcionalidade de pré-visualização de migração registada
- Papel de colaborador ou superior no grupo de recursos que contém a máquina virtual
- CLI do Azure 2.72.0 ou posterior, ou Azure PowerShell módulo Az instalado
- Uma VM regional (não zonal) existente que deseja migrar
- A zona de disponibilidade alvo deve suportar o tamanho atual da VM no alvo
Registe-se na funcionalidade de pré-visualização
A funcionalidade de migração requer registo. Registe a RegionalToZonalVMMigrationForDeallocatedVM funcionalidade de pré-visualização para a tua subscrição:
# Set your subscription context
az account set --subscription "<subscription-name-or-id>"
# Register the migration feature
az feature register --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM
# Check registration status (wait for "Registered" state)
az feature show --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM --query properties.state -o tsv
Observação
O registo de funcionalidades pode demorar vários minutos a concluir. Espere até que o estado indique Registado antes de avançar.
Visão geral da migração
O processo de migração consiste nos seguintes passos:
- Desalocar a VM - Parar e desalocar a VM regional
- Atualizar a atribuição de zonas - Atribuir a VM a uma zona de disponibilidade específica
- Iniciar a VM - Ligar a VM na nova zona
- (Opcional) Anexar a um Conjunto de Escala de Máquina Virtual - Adicionar a VM zonal a um conjunto de escalas com Orquestração Flexível
Importante
- A VM deve ser desalocada antes da atribuição de zona. Planeje o tempo de inatividade de acordo.
- As VMs podem ser iniciadas imediatamente após a conclusão da atribuição de zonas.
- A migração é uma operação unidirecional. Não podes migrar uma VM zonal de volta para uma implementação regional.
Configurações suportadas
Rotas migratórias
| Source | Target | Description |
|---|---|---|
| Máquina Virtual Regional | Zonal VM | VM colocada numa zona de disponibilidade específica (1, 2 ou 3) |
| Máquina Virtual Regional | VM zonal num conjunto de escalas de máquinas virtuais | VM colocada numa zona e ligada a um conjunto de escala flexível |
| VM Regional num Grupo de Colocação de Proximidade | Zonal VM | A VM foi transferida para uma zona onde o Grupo de Colocação de Proximidade foi removido. |
Limitações
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
- As VMs atrás de um Balanceador de Carga Basic - Faça a atualização para um Balanceador de Carga Standard antes da migração
- VMs com discos não geridos - Converter para discos geridos antes da migração
Passo 1: Desalocar a VM
Antes de atualizar a atribuição de zonas, a VM deve estar totalmente desalocada:
az vm deallocate --resource-group "<resource-group-name>" --name "<vm-name>"
Verifica se a VM está no estado de Parada (desalocada) antes de prosseguir.
Passo 2: Atualizar a atribuição de zonas
Atribui a VM a uma zona de disponibilidade específica. Escolha a opção apropriada com base na configuração da sua VM.
Atribuição padrão de zonas
Para VMs (máquinas virtuais) que não estão num Grupo de Colocação de Proximidade:
az vm update \
--resource-group "<resource-group-name>" \
--name "<vm-name>" \
--set zones='["<target-zone>"]'
Atribuição de zonas com remoção do Grupo de Posicionamento de Proximidade
Se a sua VM estiver atualmente num Grupo de Colocação de Proximidade, deve remover a associação do Grupo de Colocação de Proximidade durante a atribuição de zonas:
az vm update \
--resource-group "<resource-group-name>" \
--name "<vm-name>" \
--set zones='["<target-zone>"]' \
--ppg ""
Uma atribuição de zona bem-sucedida devolve o código de estado HTTP 200.
Dica
A disponibilidade das zonas varia consoante a região. Para verificar quais as zonas disponíveis para o tamanho da sua VM numa região específica, execute:
az vm list-skus --location "<region>" --zone --resource-type virtualMachines --output table
Passo 3: Iniciar a VM
Após a atribuição da zona, a VM fica num estado de Parada (desalocada ). Inicie a VM:
az vm start --resource-group "<resource-group-name>" --name "<vm-name>"
Observação
Podes iniciar a VM imediatamente após a atribuição da zona terminar. A migração de dados continua de forma transparente em segundo plano.
Passo 4 (Opcional): Anexar a VM a um conjunto de escalas de máquina virtual
Depois de migrar a VM para uma zona de disponibilidade, pode opcionalmente ligá-la a um Conjunto de Escala de Máquina Virtual com orquestração flexível para capacidades de gestão melhoradas, como autoescalabilidade e atualizações contínuas.
Pré-requisitos para ligações a conjuntos de escalas
- O conjunto de escalas deve usar o modo de orquestração flexível
- O conjunto de escalas deve estar na mesma região da VM
- A configuração de zona de escala deve incluir a zona atribuída à VM
- Para conjuntos de escala com contagem de domínio de falha igual a 1,
singlePlacementGroupdeve ser definido parafalse
Uma VM regional não tem uma propriedade acessível diretamente, por isso use PATCH para atualizar a propriedade como um objeto JSON no recurso subjacente da VM.
az resource update \
--ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>" \
--set 'properties.virtualMachineScaleSet={"id":"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scale-set-name>"}'
Verificar a migração
Após a migração, confirme que a VM está a correr na zona de disponibilidade correta:
az vm show --resource-group "<resource-group-name>" --name "<vm-name>" --query "{Name:name, Zone:zones[0], Location:location}" --output table
Troubleshooting
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
Considera alterar o tamanho da VM antes da migração se o tamanho atual não estiver disponível na zona de destino.
Conflito entre Grupos de Colocação de Proximidade
Erro:Cannot assign zone to a VM in a Proximity Placement Group
Solução: Use a atribuição de zonas com a opção de remoção do Grupo de Colocação de Proximidade descrita no Passo 2. Isto remove a associação do Grupo de Colocação de Proximidade e atribui a zona numa única operação.
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.
Falha na ligação do conjunto de escalas após atribuição de zona
Erro:Cannot attach VM to the specified Virtual Machine Scale Set
Solução: Verifique o seguinte:
- O conjunto de escalas utiliza o modo de orquestração flexível
- A configuração de zona do conjunto de escalas inclui a zona da VM
- Para conjuntos de escala com contagem de domínio de falha 1,
singlePlacementGroupé definido comofalse
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"