Migración de una máquina virtual regional a una zona de disponibilidad (versión preliminar)

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows

Nota:

Los pasos de migración mencionados en este artículo no se aplican a las máquinas virtuales de un conjunto de disponibilidad. Si necesita mover máquinas virtuales en un conjunto de disponibilidad, consulte Migrar conjuntos de disponibilidad a conjuntos de escalado de máquinas virtuales

En este artículo se describe cómo migrar una máquina virtual (VM) de Azure desde una implementación regional (no zonal) a una zona de disponibilidad específica dentro de la misma región, a la vez que se conserva el nombre de la máquina virtual, los discos de datos y otras propiedades con estado.

Para migrar la máquina virtual a otra región, use Azure Resource Mover.

Importante

La migración regional a zona de máquinas virtuales está actualmente en versión preliminar pública. Las versiones preliminares están a su disposición con la condición de que acepte los términos de uso adicionales. Es posible que algunos de los aspectos de esta característica cambien antes de ofrecer disponibilidad general.

Esta funcionalidad de migración aún no está disponible en el portal de Azure.

Prerrequisitos

Antes de comenzar, asegúrese de que dispone de lo siguiente:

  • Suscripción de Azure con la función de vista previa de migración registrada
  • Rol de colaborador o superior en el grupo de recursos que contiene la máquina virtual
  • CLI de Azure 2.72.0 o posterior, o módulo Az de Azure PowerShell instalado
  • Una máquina virtual regional (no zonal) existente que quiera migrar
  • La zona de disponibilidad de destino debe admitir el tamaño actual de la máquina virtual en el destino.

Registro de la característica de vista previa

La característica de migración requiere registro. Registra la RegionalToZonalVMMigrationForDeallocatedVM característica de versión preliminar para tu suscripción.

# 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

Nota:

El registro de características puede tardar varios minutos en completarse. Espere hasta que el estado indique Registrado para continuar.

Información general sobre la migración

El proceso de migración consta de los pasos siguientes:

  1. Desasignar la máquina virtual : detenga y desasigne la máquina virtual regional.
  2. Actualización de la asignación de zona: asignación de la máquina virtual a una zona de disponibilidad específica
  3. Inicio de la máquina virtual : encendido de la máquina virtual en su nueva zona
  4. (Opcional) Conexión a un conjunto de escalado de máquinas virtuales : adición de la máquina virtual zonal a un conjunto de escalado con orquestación flexible

Importante

  • La máquina virtual debe desasignarse antes de la asignación de zona. Planee el tiempo de inactividad en consecuencia.
  • Las máquinas virtuales se pueden iniciar inmediatamente después de que se complete la asignación de zona.
  • La migración es una operación unidireccional. No se puede volver a migrar una máquina virtual zonal a una implementación regional.

Configuraciones compatibles

Rutas de migración:

Source Target Description
Máquina virtual regional Máquina virtual zonal Máquina virtual colocada en una zona de disponibilidad específica (1, 2 o 3)
Máquina virtual regional Máquina virtual zonal en un Virtual Machine Scale Set Máquina virtual colocada en una zona y conectada a un conjunto de escalado flexible
Máquina virtual regional en un grupo de ubicación de proximidad Máquina virtual zonal Máquina virtual desplazada a una zona con el grupo de selección de ubicación de proximidad quitado

Limitaciones

No se admiten las siguientes configuraciones para la migración:

  • Máquinas virtuales con direcciones IP públicas básicas : actualización a la SKU estándar antes de la migración
  • Máquinas virtuales detrás de un Basic Load Balancer: actualice a Standard Load Balancer antes de la migración
  • Máquinas virtuales con discos no administrados : Conversión en discos administrados antes de la migración

Paso 1: Desasignar la máquina virtual

Antes de actualizar la asignación de zona, la máquina virtual debe desasignarse completamente:

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

Compruebe que la máquina virtual está en estado Detenido (desasignado) antes de continuar.

Paso 2: Actualización de la asignación de zona

Asigne la máquina virtual a una zona de disponibilidad específica. Elija la opción adecuada en función de la configuración de la máquina virtual.

Asignación de zona estándar

Para las máquinas virtuales que no están en un grupo de selección de ubicación por proximidad:

az vm update \
  --resource-group "<resource-group-name>" \
  --name "<vm-name>" \
  --set zones='["<target-zone>"]'

Asignación de zona con eliminación del grupo de colocación de proximidad

Si la máquina virtual se encuentra actualmente en un grupo de ubicación por proximidad, debe quitar la asociación del grupo de selección de ubicación de proximidad durante la asignación de zona:

az vm update \
  --resource-group "<resource-group-name>" \
  --name "<vm-name>" \
  --set zones='["<target-zone>"]' \
  --ppg ""

Una asignación de zona correcta devuelve el código de estado HTTP 200.

Sugerencia

La disponibilidad de zona varía según la región. Para comprobar qué zonas están disponibles para el tamaño de la máquina virtual en una región específica, ejecute:

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

Paso 3: Iniciar la máquina virtual

Después de la asignación de zona, la máquina virtual está en estado Detenido (desasignado). Inicie la máquina virtual:

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

Nota:

Puede iniciar la máquina virtual inmediatamente después de que se complete la asignación de zona. La migración de datos continúa de forma transparente en segundo plano.

Paso 4 (opcional): Asociación de la máquina virtual a un conjunto de escalado de máquinas virtuales

Después de migrar la máquina virtual a una zona de disponibilidad, opcionalmente puede asociarla a un conjunto de escalado de máquinas virtuales con orquestación flexible para funcionalidades de administración mejoradas, como el escalado automático y las actualizaciones graduales.

Requisitos previos para los datos adjuntos del conjunto de escala

  • El conjunto de escalado debe utilizar el modo de orquestación Flexible.
  • El conjunto de escalado debe estar en la misma región que la máquina virtual.
  • La configuración de zona del conjunto de escala debe incluir la zona asignada de la máquina virtual
  • Para los conjuntos de escalado con un recuento de dominios de error de 1, singlePlacementGroup debe establecerse en false.

Una máquina virtual regional no tiene una propiedad virtualMachineScaleSet para puntear, por lo que se usa az resource update para APLICAR la propiedad como un objeto JSON en el recurso de máquina virtual subyacente:

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>"}'

Comprobación de la migración

Después de la migración, confirme que la máquina virtual se está ejecutando en la zona de disponibilidad correcta:

az vm show --resource-group "<resource-group-name>" --name "<vm-name>" --query "{Name:name, Zone:zones[0], Location:location}" --output table

Solución de problemas

Tamaño de máquina virtual no disponible en la zona

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

Solución: Compruebe los tamaños de máquina virtual disponibles en la zona de destino:

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

Considere la posibilidad de cambiar el tamaño de la máquina virtual antes de la migración si el tamaño actual no está disponible en la zona de destino.

Conflicto del grupo de ubicación de proximidad

Error: Cannot assign zone to a VM in a Proximity Placement Group

Solución: use la asignación de zonas con la opción de eliminación de grupos de ubicación de proximidad descrita en Paso 2. Esto elimina la asociación del Grupo de ubicación de proximidad y asigna la zona en una sola operación.

Permisos insuficientes

Error: The client does not have authorization to perform action

Solución: Asegúrese de que tiene el rol Colaborador o superior en el grupo de recursos.

Se produce un error en los datos adjuntos del conjunto de escala después de la asignación de zona

Error: Cannot attach VM to the specified Virtual Machine Scale Set

Solución: Compruebe lo siguiente:

  • El conjunto de escalado usa el modo de orquestación flexible
  • La configuración de zona del conjunto de escalado incluye la zona de la máquina virtual.
  • Para conjuntos de escalado con un único dominio de error, singlePlacementGroup se establece en false
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"

Pasos siguientes