Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✔️ Linux VMs ✔️ Windows VMs
Note
As etapas de migração mencionadas neste artigo não se aplicam a máquinas virtuais em um conjunto de disponibilidade. Se você precisar mover máquinas virtuais em um conjunto de disponibilidade, consulte Migrar conjuntos de disponibilidade para Conjuntos de Dimensionamento de Máquinas Virtuais
Este artigo descreve como migrar uma VM (máquina virtual) Azure de uma implantaçã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 VM regional para zonal está atualmente em Versão Prévia Pública. As versões prévias são disponibilizadas com a condição de que você concorde com os termos de uso complementares. Alguns aspectos desse recurso podem alterar antes da GA (disponibilidade geral).
Essa funcionalidade de migração ainda não está disponível no portal do Azure.
Pré-requisitos
Antes de começar, verifique se você tem o seguinte:
- Assinatura do Azure com a versão de prévia do recurso de migração registrada
- Função de colaborador ou superior no grupo de recursos que contém a VM
- CLI do Azure 2.72.0 ou posterior ou Azure PowerShell módulo Az instalado
- Uma VM regional (não zonal) existente que você deseja migrar
- A zona de disponibilidade de destino deve dar suporte ao tamanho atual da VM no destino
Registrar o recurso de visualização
O recurso de migração requer registro. Registre o RegionalToZonalVMMigrationForDeallocatedVM recurso de visualização para sua assinatura:
# 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
Note
O registro de recursos pode levar vários minutos para ser concluído. Aguarde até que o status mostre Registrado antes de continuar.
Visão geral da migração
O processo de migração consiste nas seguintes etapas:
- Desalocar a VM – Parar e desalocar a VM regional
- Atualizar a atribuição de zona – Atribuir a VM a uma zona de disponibilidade específica
- Iniciar a VM – Ligar a VM em sua nova zona
- (Opcional) Anexar a um Conjunto de Dimensionamento de Máquinas Virtuais — Adicionar a VM zonal a um conjunto de dimensionamento com orquestração Flexível
Importante
- A VM deve ser desalocada antes da atribuição da zona. Planeje o tempo de inatividade adequadamente.
- As VMs podem ser iniciadas imediatamente após a conclusão da atribuição de zona.
- A migração é uma operação unidirecional. Você não pode migrar uma VM zonal de volta para uma implantação regional.
Configurações suportadas
Caminhos de migração
| Source | Target | Description |
|---|---|---|
| Máquina Virtual Regional | VM Zonal | VM colocada em uma zona de disponibilidade específica (1, 2 ou 3) |
| Máquina Virtual Regional | VM zonal em um Conjunto de Dimensionamento de Máquinas Virtuais | VM colocada em uma zona e anexada a um conjunto de dimensionamento Flexível |
| Máquina Virtual Regional em um Grupo de Posicionamento por Proximidade | VM Zonal | VM movida para uma zona com o Proximity Placement Group removido |
Limitations
Não há suporte para as seguintes configurações para migração:
- VMs com endereços IP públicos básicos – Atualizar para o SKU Standard antes da migração
- As VMs por trás de um Basic Load Balancer – Atualize para Standard Load Balancer antes da migração
- VMs com discos não gerenciados – Converter em discos gerenciados antes da migração
Etapa 1: Desalocar a VM
Antes de atualizar a atribuição de zona, a VM deve ser totalmente desalocada:
az vm deallocate --resource-group "<resource-group-name>" --name "<vm-name>"
Verifique se a VM está no estado Parado (desalocado) antes de continuar.
Etapa 2: Atualizar a atribuição de zona
Atribua a VM a uma zona de disponibilidade específica. Escolha a opção apropriada com base na configuração da VM.
Atribuição de zona padrão
Para VMs que não estão em um Grupo de Posicionamento por Proximidade:
az vm update \
--resource-group "<resource-group-name>" \
--name "<vm-name>" \
--set zones='["<target-zone>"]'
Atribuição de zona com remoção do Grupo de Posicionamento por Proximidade
Se sua VM estiver atualmente em um Grupo de Posicionamento por Proximidade, você deverá remover a associação grupo de posicionamento por proximidade durante a atribuição de zona:
az vm update \
--resource-group "<resource-group-name>" \
--name "<vm-name>" \
--set zones='["<target-zone>"]' \
--ppg ""
Uma atribuição de zona bem-sucedida retorna o código de status HTTP 200.
Dica
A disponibilidade da zona varia de acordo com a região. Para verificar quais zonas estão disponíveis para o tamanho da VM em uma região específica, execute:
az vm list-skus --location "<region>" --zone --resource-type virtualMachines --output table
Etapa 3: Iniciar a VM
Após a atribuição de zona, a VM está em um estado Parado (desalocado ). Inicie a VM:
az vm start --resource-group "<resource-group-name>" --name "<vm-name>"
Note
Você pode iniciar a VM imediatamente após a conclusão da atribuição de zona. A migração de dados continua de forma transparente em segundo plano.
Etapa 4 (opcional): anexar a VM a um conjunto de dimensionamento de máquinas virtuais
Depois de migrar a VM para uma zona de disponibilidade, você pode anexá-la opcionalmente a um Conjunto de Dimensionamento de Máquinas Virtuais com orquestração flexível para recursos de gerenciamento aprimorados, como dimensionamento automático e atualizações sem interrupção.
Pré-requisitos para anexação ao conjunto de dimensionamento
- Pré-requisitos para anexação ao conjunto de dimensionamento Flexível
- O conjunto de dimensionamento deve estar na mesma região que a VM
- A configuração da zona do conjunto de dimensionamento deve incluir a zona atribuída à VM
- Para conjuntos de escalonamento com contagem de domínio de falha de 1,
singlePlacementGroupdeve ser definido comofalse
Uma VM regional não tem uma propriedade virtualMachineScaleSet para inserir, portanto, use az resource update para atualizar a propriedade como um objeto JSON no recurso da VM subjacente:
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 se a VM está em execução 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
Solução de problemas
Tamanho de máquina virtual não disponível na zona
Erro: The requested VM size is not available in the specified location/zone
Solução: Verifique os tamanhos de VM disponíveis na zona de destino:
az vm list-skus --location "<region>" --zone "<zone>" --resource-type virtualMachines --output table
Considere alterar o tamanho da VM antes da migração se o tamanho atual não estiver disponível na zona de destino.
Conflito do Grupo de Posicionamento por Proximidade
Erro: Cannot assign zone to a VM in a Proximity Placement Group
Solução: Use a atribuição de zona com a opção de remoção de Grupo de Posicionamento por Proximidade descrita na Etapa 2. Isso remove a associação com o Grupo de Posicionamento por Proximidade e atribui a zona em uma única operação.
Permissões insuficientes
Erro: The client does not have authorization to perform action
Solução: Verifique se você tem a função colaborador ou superior no grupo de recursos.
A anexação ao conjunto de dimensionamento falha após a atribuição da zona
Erro: Cannot attach VM to the specified Virtual Machine Scale Set
Solução: Verifique o seguinte:
- O conjunto de escalas usa o modo de orquestração Flexível
- A configuração da zona do conjunto de dimensionamento inclui a zona da VM
- Para conjuntos de dimensionamento com número de domínios de falha igual a 1, o
singlePlacementGroupé definido comofalse
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"