Eseguire la migrazione dei set di disponibilità in set di scalabilità di macchine virtuali (anteprima)

Questo articolo descrive come eseguire la migrazione dei Macchine virtuali di Azure (VM) da set di disponibilità a set di scalabilità di macchine virtuali con modalità di orchestrazione flessibile.

Importante

La funzionalità di migrazione dei set di disponibilità nei set di scalabilità di macchine virtuali è attualmente in anteprima. 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.

Perché eseguire la migrazione a set di scalabilità di macchine virtuali?

set di scalabilità di macchine virtuali con orchestrazione flessibile offrono diversi vantaggi rispetto ai set di disponibilità:

Feature Set di scalabilità di macchine virtuali (Flessibili) Set di disponibilità
Numero massimo di istanze Fino a 1.000 macchine virtuali Fino a 200 macchine virtuali
Supporto delle zone di disponibilità No
Scalabilità automatica No
Aggiornamenti in sequenza No
Protezione dell'istanza No
Contratto di servizio per la disponibilità 99.95% (domini di errore) o 99,99% (zone di disponibilità) 99.95%
Dimensioni delle macchine virtuali miste
Supporto Backup di Azure

Per un confronto completo, vedere Modi di orchestrazione per gli insiemi di scalabilità delle macchine virtuali.

Prerequisiti

Prima di iniziare, accertati di avere quanto segue:

  • Sottoscrizione di Azure con la funzionalità di anteprima della migrazione registrata.
  • interfaccia della riga di comando di Azure 2.72.0 o versione successiva o Azure PowerShell modulo Az installato.
  • Un set di disponibilità esistente con le macchine virtuali di cui si vuole eseguire la migrazione.

Registrare la funzionalità di anteprima

Registra la funzionalità anteprima per la MigrateToVmssFlex sottoscrizione:

# 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

Percorsi di migrazione supportati

Source Obiettivo Description
Set di disponibilità Set di scalabilità di macchine virtuali a livello di area Macchine virtuali distribuite tra domini di guasto nella regione
Set di disponibilità Set di scalabilità zonale delle macchine virtuali Macchine virtuali inserite in zone di disponibilità specifiche (1, 2 o 3)

Limitations

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.

Panoramica della migrazione

Importante

  • Le macchine virtuali vengono arrestate e deallocate durante la migrazione. Pianificare la migrazione durante una finestra di manutenzione in cui il tempo di inattività è accettabile.
  • Dopo l'avvio della migrazione, il set di disponibilità è bloccato. Non è possibile apportare altre modifiche fino al completamento o all'annullamento della migrazione.
  • La migrazione è un'operazione unidirezionale. Non è possibile eseguire di nuovo la migrazione ai set di disponibilità dopo il completamento.

Il portale Azure offre un'esperienza guidata che gestisce la convalida, la selezione dei set di scalabilità (o la creazione), l'assegnazione della zona e la migrazione in un flusso semplificato. Quando si esegue la migrazione tramite il portale di Azure, è possibile eseguire la migrazione di tutte le macchine virtuali contemporaneamente. Se è necessario eseguire la migrazione di una singola macchina virtuale alla volta per garantire la disponibilità dell'applicazione, usare metodi di migrazione alternativi, ad esempio l'interfaccia della riga di comando, PowerShell o REST.

Per interfaccia della riga di comando di Azure, Azure PowerShell o API REST, il processo di migrazione è costituito dalle fasi seguenti:

  1. Creare un set di scalabilità di macchine virtuali - Creare un set di scalabilità con modalità di orchestrazione Flessibile (se non se ne ha uno).
  2. Convalidare la migrazione : verificare che sia possibile eseguire la migrazione del set di disponibilità.
  3. Avviare la migrazione : impostare il set di disponibilità in modalità di migrazione.
  4. Eseguire la migrazione delle macchine virtuali - trasferire singolarmente ogni macchina virtuale nel set di scalabilità.
  5. Avviare le macchine virtuali : accendere le macchine virtuali di cui è stata eseguita la migrazione.
  6. Pulizia : eliminare il set di disponibilità vuoto.

Eseguire la migrazione con il portale di Azure

Note

Il portale esegue la migrazione di tutte le macchine virtuali nel set di disponibilità contemporaneamente. Se è necessario eseguire la migrazione di macchine virtuali una alla volta per mantenere il tempo di attività dell'applicazione durante la migrazione, usare invece interfaccia della riga di comando di Azure, Azure PowerShell o API REST.

Passaggio 1: Avviare il processo di migrazione

  1. Nel portale di Azure, passare al set di disponibilità di cui si vuole eseguire la migrazione.

  2. Nella pagina Panoramica del set di disponibilità selezionare l'opzione Esegui migrazione dalla barra degli strumenti.

    Screenshot che mostra la pagina di panoramica del set di disponibilità con il pulsante Esegui migrazione sulla barra degli strumenti e un banner che promuove la migrazione.

Passaggio 2: Selezionare il set di scalabilità di destinazione

La prima pagina elenca tutte le macchine virtuali nel set di disponibilità insieme allo stato e alle dimensioni correnti.

Usare un set di scalabilità esistente

  1. In Seleziona set di scalabilità di destinazione, deve scegliere un set di scalabilità esistente dall'elenco a discesa. Vengono visualizzate solo le configurazioni dei set di scalabilità compatibili.

    Screenshot che mostra il passaggio 1 dell'esperienza di migrazione con l'elenco di macchine virtuali, l'elenco a discesa Selezionare un set di scalabilità impostato su myScaleSet e l'area visualizzata come Regno Unito meridionale.

Creazione rapida di un nuovo set di scalabilità

Se non si dispone di un set di scalabilità esistente, è possibile crearne uno direttamente dall'esperienza di migrazione:

  1. Selezionare Crea rapidamente un nuovo set di scalabilità sotto l'elenco a discesa.
  2. Nel riquadro creazione rapida del set di scalabilità specifica un nome per il set di scalabilità e completa le impostazioni dell'account amministratore. La sottoscrizione, il gruppo di risorse, la posizione e le dimensioni della macchina virtuale vengono precompilate dalla configurazione del set di disponibilità.
  3. Selezionare Crea un set di scalabilità per creare il set di scalabilità e continuare con la migrazione.

Passaggio 3: Assegnare le zone di disponibilità (solo migrazione a livello di zona)

Se si seleziona un set di scalabilità di zona (un set di scalabilità configurato con zone di disponibilità), viene visualizzata una sezione aggiuntiva di allocazione delle macchine virtuali . Usare l'elenco a discesa per ogni macchina virtuale per assegnarlo a una zona di disponibilità specifica.

Tip

Distribuire le macchine virtuali in tutte le zone disponibili per ottenere la massima resilienza. Ad esempio, assegnare VM1 alla zona 1, vm2 alla zona 2 e vm3 alla zona 3.

Screenshot che mostra la sezione allocazione delle macchine virtuali per un set di scalabilità di zona con elenchi a discesa della zona di disponibilità per ogni macchina virtuale, che mostra le assegnazioni Zona 1, Zona 2 e Zona 3.

Passaggio 4: Esaminare ed eseguire la migrazione

  1. La pagina di revisione visualizza i dettagli del set di scalabilità di destinazione ed elenca ogni macchina virtuale con il relativo stato di migrazione.

    Screenshot che mostra la pagina di revisione per una migrazione a livello di zona con tre macchine virtuali che mostrano le assegnazioni di zona e lo stato Non avviato.

  2. Esaminare l'elenco delle macchine virtuali e le assegnazioni di zona (se applicabile), quindi selezionare Migrate (Esegui migrazione).

  3. Lo stato di ogni macchina virtuale cambia in Migrazione in corso.

    Screenshot che mostra tre macchine virtuali con stato di migrazione in corso durante una migrazione a livello di zona.

  4. Al termine della migrazione di tutte le macchine virtuali, lo stato cambia in Migrazione completata.

    Screenshot che mostra tre macchine virtuali con lo stato completato della migrazione e i segni di spunta verdi.

Passaggio 5: Avviare le macchine virtuali e pulire

  1. Selezionare Avvia macchine virtuali per avviare tutte le macchine virtuali migrate oppure selezionare Vai alle istanze del set di scalabilità per avviarle singolarmente dal set di scalabilità.

    Importante

    Dopo la migrazione delle macchine virtuali nel portale di Azure e navigando alla scheda delle istanze del set di scalabilità, potresti notare che alcune macchine virtuali non sono presenti nell'elenco. Si tratta solo di un ritardo del visualizzatore del portale. È stata eseguita la migrazione delle macchine virtuali. Se necessario, è anche possibile visualizzare le macchine virtuali di cui è stata eseguita la migrazione nel pannello Panoramica della macchina virtuale e avviarle da questa posizione.

    Screenshot che mostra la sezione passaggi successivi con Riavvia le macchine virtuali ed Elimina le schede del set di disponibilità.

  2. Dopo la migrazione e la verifica di tutte le macchine virtuali, il set di disponibilità è vuoto e può essere eliminato in modo sicuro

    Screenshot che mostra il set di disponibilità vuoto con 0 macchine virtuali e il pulsante Esegui migrazione al set di scalabilità Flessibile disattivato.

  3. Selezionare Elimina per rimuovere il set di disponibilità vuoto.

Eseguire la migrazione con interfaccia della riga di comando di Azure, Azure PowerShell o API REST

Passaggio 1: Creare un set di scalabilità di macchine virtuali di destinazione

Note

La migrazione tramite gli SDK disponibili offre un controllo aggiuntivo sui passaggi di migrazione, ad esempio la migrazione di singole macchine virtuali alla volta o l'annullamento della migrazione. Se si sta eseguendo la migrazione di tutte le macchine virtuali contemporaneamente, è possibile scegliere di usare invece il portale di Azure. In caso contrario, se è necessario un maggiore controllo sui singoli passaggi di migrazione, continuare con i passaggi seguenti.

Se non si dispone di un set di scalabilità esistente, crearne uno come destinazione della migrazione. Il set di scalabilità deve usare la modalità di orchestrazione Flessibile.

Per istruzioni dettagliate sulla creazione di un set di scalabilità, vedere Creare macchine virtuali in un set di scalabilità usando Azure portale.

Quando si crea il set di scalabilità per la migrazione:

  • Selezionare Modalità di orchestrazione flessibile .
  • Per la distribuzione a livello di zona (scelta consigliata per la disponibilità più elevata), selezionare una o più zone di disponibilità (1, 2, 3).
  • Per l'implementazione regionale, non selezionare zone di disponibilità.
  • Impostare Numero di istanze su 0 per creare un set di scalabilità vuoto per la migrazione.

Passaggio 2: Convalidare la migrazione

Prima di iniziare la migrazione, verificare che il set di disponibilità sia migrabile al set di scalabilità di destinazione.

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

Una convalida con esito positivo restituisce il codice di stato HTTP 200. Se la convalida non riesce, esaminare il messaggio di errore per le azioni necessarie.

Passaggio 3: Avviare la migrazione

Dopo aver completato la convalida, avviare il processo di migrazione. Questa azione inserisce il set di disponibilità in modalità di migrazione.

Caution

Dopo aver avviato la migrazione, il set di disponibilità è bloccato. È possibile eseguire la migrazione solo di macchine virtuali, completare la migrazione o annullare la migrazione fino al termine del processo.

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

Passaggio 4: Eseguire la migrazione di singole macchine virtuali

Eseguire la migrazione di ogni macchina virtuale dal set di disponibilità al set di scalabilità.

Migrazione a livello di area

Per la migrazione a livello di area, le macchine virtuali vengono distribuite automaticamente tra domini di errore:

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

Migrazione a livello zonale

Per la migrazione a livello di zona, specificare la zona di disponibilità di destinazione per ogni macchina virtuale:

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

Facoltativo: modificare le dimensioni della macchina virtuale durante la migrazione

Facoltativamente, è possibile modificare le dimensioni della macchina virtuale durante la migrazione a livello di zona:

Tip

Per distribuire le macchine virtuali tra zone di disponibilità per la massima resilienza, assegnare zone diverse a macchine virtuali diverse. Ad esempio, eseguire la migrazione di VM1 alla zona 1, vm2 alla zona 2 e vm3 alla zona 3.

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

Passaggio 5: Avviare la migrazione delle macchine virtuali

Dopo la migrazione, le macchine virtuali sono in stato Arrestato (deallocato). Non vengono avviati automaticamente. È possibile avviare le macchine virtuali immediatamente dopo che raggiungono lo stato Arrestato (deallocato).

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

Passaggio 6: Pulire il set di disponibilità vuoto

Dopo la migrazione e la verifica di tutte le macchine virtuali, eliminare il set di disponibilità vuoto:

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

Annullare la migrazione

Se è necessario annullare una migrazione in corso prima di eseguire la migrazione di tutte le macchine virtuali:

Avvertimento

Le macchine virtuali di cui è già stata eseguita la migrazione rimangono nel set di scalabilità. Solo le macchine virtuali di cui non è stata ancora eseguita la migrazione rimangono nel set di disponibilità.

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

Risoluzione dei problemi

Funzionalità non registrata

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

Soluzione: Registrare la funzionalità di anteprima e attendere il completamento della registrazione. Vedere Registrare la funzionalità di anteprima.

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

Set di disponibilità già in fase di migrazione

Errore:The availability set is already in migration mode

Soluzione: Continuare con i passaggi di migrazione delle macchine virtuali o annullare la migrazione se è necessario apportare modifiche.

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.

IP pubblico di base o Bilanciatore di carico

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

Soluzione: Eseguire l'aggiornamento alle risorse SKU Standard prima della migrazione:

Passaggi successivi