Eseguire la migrazione di una macchina virtuale regionale a una zona di disponibilità (versione di anteprima)

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows

Annotazioni

I passaggi di migrazione indicati in questo articolo non si applicano alle macchine virtuali in un set di disponibilità. Se è necessario spostare le macchine virtuali in un set di disponibilità, vedere Eseguire la migrazione dei set di disponibilità a set di scalabilità di macchine virtuali

Questo articolo descrive come eseguire la migrazione di una macchina virtuale (VM) Azure da una distribuzione regionale (non di zona) a una zona di disponibilità specifica all'interno della stessa area mantenendo al tempo stesso il nome della macchina virtuale, i dischi dati e altre proprietà con stato.

Per eseguire la migrazione della macchina virtuale a un'area diversa, usare Spostamento risorse di Azure.

Importante

La migrazione da area a zona della macchina virtuale è attualmente disponibile in anteprima pubblica. Le anteprime vengono rese disponibili per l'utente a condizione che si accettino le condizioni d'uso aggiuntive. Alcuni aspetti di questa funzionalità potrebbero subire modifiche prima della disponibilità a livello generale.

Questa funzionalità di migrazione non è ancora disponibile nel portale di Azure.

Prerequisiti

Prima di iniziare, accertati di avere quanto segue:

  • Sottoscrizione di Azure con la funzionalità di anteprima della migrazione registrata
  • Ruolo collaboratore o superiore nel gruppo di risorse contenente la macchina virtuale
  • interfaccia della riga di comando di Azure 2.72.0 o versione successiva o Azure PowerShell modulo Az installato
  • Una macchina virtuale locale (non di zona) esistente di cui si vuole eseguire la migrazione
  • La zona di disponibilità di destinazione deve supportare le dimensioni correnti della macchina virtuale nella destinazione

Registrare la funzionalità di anteprima

La funzionalità di migrazione richiede la registrazione. Registra la funzionalità anteprima per la RegionalToZonalVMMigrationForDeallocatedVM sottoscrizione:

# 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

Annotazioni

Il completamento della registrazione delle funzionalità può richiedere alcuni minuti. Attendere finché lo stato non è visualizzato come Registrato prima di procedere.

Panoramica della migrazione

Il processo di migrazione è costituito dai passaggi seguenti:

  1. Deallocare la macchina virtuale : arrestare e deallocare la macchina virtuale a livello di area
  2. Aggiornare l'assegnazione di zona : assegnare la macchina virtuale a una zona di disponibilità specifica
  3. Avviare la macchina virtuale - Accendere la macchina virtuale nella nuova zona
  4. (Facoltativo) Collegarsi a un set di scalabilità di macchine virtuali - Aggiungere la macchina virtuale a livello di zona a un set di scalabilità con orchestrazione flessibile

Importante

  • La macchina virtuale deve essere deallocata prima dell'assegnazione della zona. Pianificare il tempo di inattività di conseguenza.
  • Le macchine virtuali possono essere avviate immediatamente dopo il completamento dell'assegnazione della zona.
  • La migrazione è un'operazione unidirezionale. Non è possibile eseguire di nuovo la migrazione di una macchina virtuale a livello di zona a una distribuzione a livello di area.

Configurazioni supportate

Percorsi di migrazione

Source Target Descrzione
Macchina virtuale regionale Macchina virtuale a livello di zona Macchina virtuale inserita in una zona di disponibilità specifica (1, 2 o 3)
Macchina virtuale regionale Zona VM in un set di scalabilità di scalabilità di macchine virtuali Macchina virtuale posizionata in una zona e collegata a un set di scalabilità flessibile
VM regionale in un gruppo di posizionamento di prossimità Macchina virtuale a livello di zona VM spostata in una zona con gruppo di posizionamento di prossimità rimosso

Limiti

Le configurazioni seguenti non sono supportate per la migrazione:

  • Macchine virtuali con indirizzi IP pubblici basic - Eseguire l'aggiornamento allo SKU Standard prima della migrazione
  • Macchine virtuali dietro un Basic Load Balancer - Eseguire l'aggiornamento a Load Balancer Standard prima della migrazione
  • Macchine virtuali con dischi non gestiti - Eseguire la conversione in dischi gestiti prima della migrazione

Passaggio 1: Deallocare la macchina virtuale

Prima di aggiornare l'assegnazione della zona, la macchina virtuale deve essere completamente deallocata:

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

Verificare che la macchina virtuale sia nello stato Arrestato (deallocato) prima di procedere.

Passaggio 2: Aggiornare l'assegnazione della zona

Assegnare la macchina virtuale a una zona di disponibilità specifica. Scegliere l'opzione appropriata in base alla configurazione della macchina virtuale.

Assegnazione di zona standard

Per le macchine virtuali che non si trovano in un gruppo di posizionamento di prossimità:

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

Assegnazione di zona con rimozione del gruppo di posizionamento di prossimità

Se la macchina virtuale è attualmente in un gruppo di posizionamento di prossimità, è necessario rimuovere l'associazione del gruppo di posizionamento di prossimità durante l'assegnazione della zona:

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

Un'assegnazione di zona riuscita restituisce il codice di stato HTTP 200.

Tip

La disponibilità della zona varia in base all'area. Per verificare quali zone sono disponibili per le dimensioni della macchina virtuale in un'area specifica, eseguire:

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

Passaggio 3: Avviare la macchina virtuale

Dopo l'assegnazione della zona, la macchina virtuale si trova in uno stato Arrestato (deallocato). Avviare la macchina virtuale:

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

Annotazioni

È possibile avviare la macchina virtuale subito dopo il completamento dell'assegnazione della zona. La migrazione dei dati continua in modo trasparente in background.

Passaggio 4 (facoltativo): Collegare la macchina virtuale a un set di scalabilità di macchine virtuali

Dopo la migrazione della macchina virtuale a una zona di disponibilità, è possibile collegarla facoltativamente a un set di scalabilità di macchine virtuali con orchestrazione flessibile per funzionalità di gestione avanzate, ad esempio la scalabilità automatica e gli aggiornamenti in sequenza.

Prerequisiti per l'allegato del set di scalabilità

  • Il set di scalabilità deve usare la modalità di orchestrazione Flessibile
  • Il set di scalabilità deve trovarsi nella stessa area della macchina virtuale
  • La configurazione della zona del set di scalabilità deve includere la zona assegnata dalla macchina virtuale
  • Per i set di scalabilità con numero di domini di errore pari a 1, singlePlacementGroup deve essere impostato su false

Una VM regionale non dispone di una proprietà virtualMachineScaleSet per esplorare direttamente, quindi usare az resource update per eseguire un'operazione PATCH alla proprietà come oggetto JSON nella risorsa VM sottostante.

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

Verificare la migrazione

Dopo la migrazione, verificare che la macchina virtuale sia in esecuzione nella zona di disponibilità corretta:

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

Troubleshooting

Dimensione della VM non disponibile nella zona

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

Soluzione: Controllare le dimensioni delle macchine virtuali disponibili nella zona di destinazione:

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

Valutare la possibilità di modificare le dimensioni della macchina virtuale prima della migrazione se le dimensioni correnti non sono disponibili nella zona di destinazione.

Conflitto del gruppo di posizionamento di prossimità

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

Soluzione: Usare l'assegnazione di zona con l'opzione di rimozione del gruppo di collocazione di prossimità descritta nel passaggio 2. In questo modo viene rimossa l'associazione Proximity Placement Group e viene assegnata la zona in un'unica operazione.

Autorizzazioni insufficienti

Errore:The client does not have authorization to perform action

Soluzione: Assicurarsi di disporre del ruolo Collaboratore o superiore nel gruppo di risorse.

L'allegato del set di scalabilità ha esito negativo dopo l'assegnazione della zona

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

Soluzione: Verificare quanto segue:

  • Il set di scalabilità utilizza la modalità di orchestrazione flessibile.
  • La configurazione della zona del set di scalabilità include la zona della macchina virtuale
  • Per i set di scalabilità con numero di domini di errore pari a 1, singlePlacementGroup è impostato su false
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"

Passaggi successivi