Condividi tramite


Ridimensionare la migrazione di macchine virtuali VMware

Questo articolo illustra come usare gli script per eseguire la migrazione di un numero elevato di macchine virtuali VMware usando il metodo senza agente. Per ridimensionare le migrazioni, usare il modulo PowerShell di Azure Migrate.

Gli script di automazione della migrazione VMware di Azure Migrate sono disponibili per il download nel repository degli esempi di Azure PowerShell in GitHub. Gli script possono essere usati per eseguire la migrazione di macchine virtuali VMware in Azure usando il metodo di migrazione senza agente. I comandi di PowerShell di Azure Migrate usati in questi script sono documentati qui.

Limitazioni correnti

  • Questi script supportano la migrazione di macchine virtuali VMware con tutti i relativi dischi. È possibile aggiornare gli script se si vuole replicare in modo selettivo i dischi collegati a una macchina virtuale VMware.
  • Gli script supportano l'uso delle raccomandazioni di valutazione. Se le raccomandazioni di valutazione non vengono usate, tutti i dischi collegati alla macchina virtuale VMware vengono migrati allo stesso tipo di disco gestito (Standard o Premium). È possibile aggiornare gli script se si vogliono usare più tipi di dischi gestiti con la stessa macchina virtuale.

Prerequisiti

Installare il modulo Azure Migrate di PowerShell

Il modulo PowerShell di Azure Migrate è disponibile in anteprima. È necessario installare il modulo di PowerShell usando il comando seguente.

Install-Module -Name Az.Migrate 

File di input CSV

Dopo aver completato tutti i prerequisiti, è necessario creare un file CSV con dati di ogni macchina virtuale di origine di cui si vuole eseguire la migrazione. Tutti gli script sono progettati per funzionare nello stesso file CSV. Un modello CSV di esempio è disponibile nella cartella degli script come riferimento. Il file CSV è configurabile in modo da poter usare le raccomandazioni di valutazione e anche specificare se determinate operazioni non devono essere attivate per una determinata macchina virtuale.

Annotazioni

Lo stesso file CSV può essere usato per eseguire la migrazione di macchine virtuali in più progetti di Azure Migrate.

Schema di file CSV

Intestazione colonna Descrizione
AZMIGRATEPROJECT_SUBSCRIPTION_ID Specificare l'ID sottoscrizione del progetto di Azure Migrate.
AZMIGRATEPROJECT_RESOURCE_GROUP_NAME Specificare il nome del gruppo di risorse di Azure Migrate.
AZMIGRATEPROJECT_NAME Specificare il nome del progetto di Azure Migrate in cui si vuole eseguire la migrazione dei server.
SOURCE_MACHINE_NAME Specificare un nome descrittivo (nome visualizzato) per la macchina virtuale individuata nel progetto Azure Migrate.
AZMIGRATEASSESSMENT_NAME Specificare il nome della valutazione che deve essere sfruttata per la migrazione.
AZMIGRATEGROUP_NAME Specificare il nome del gruppo usato per la valutazione di Azure Migrate.
TARGET_RESOURCE_GROUP_NAME Specificare il nome del gruppo di risorse di Azure a cui deve essere eseguita la migrazione della macchina virtuale.
TARGET_VNET_NAME Specificare il nome del Rete virtuale di Azure da usare per la macchina virtuale migrata.
TARGET_SUBNET_NAME Specificare il nome della subnet nella rete virtuale di destinazione che deve essere usata dalla macchina virtuale migrata. Se lasciato vuoto, verrà usata la subnet "default".
TARGET_MACHINE_NAME Specificare il nome che la macchina virtuale migrata deve usare in Azure. Se lasciato vuoto, verrà usato il nome del computer di origine.
DIMENSIONE_MACCHINA_DI_DESTINAZIONE Specificare l'unità di mantenimento delle scorte (SKU) che la macchina virtuale deve usare in Azure. Per eseguire la migrazione di una macchina virtuale a D2_v2 macchina virtuale in Azure, specificare il valore in questo campo come "Standard_D2_v2". Se si usa una valutazione, questo valore verrà derivato in base alla raccomandazione di valutazione.
TIPO_DI_LICENZA Specificare se si vuole usare Vantaggio Azure Hybrid per le macchine virtuali Windows Server. Usare il valore "WindowsServer" per sfruttare Vantaggio Azure Hybrid. In caso contrario, lasciare vuoto o usare "NoLicenseType".
OS_DISK_ID Specificare l'ID disco del sistema operativo per la macchina virtuale di cui eseguire la migrazione. L'ID disco da usare è la proprietà UUID (Unique Identifier) per il disco recuperato usando il cmdlet Get-AzMigrateServer. Lo script userà il primo disco della macchina virtuale come disco del sistema operativo nel caso in cui non venga fornito alcun valore.
TARGET_DISKTYPE Specificare il tipo di disco da usare per tutti i dischi della macchina virtuale in Azure. Usare "Premium_LRS" per i dischi gestiti Premium, "StandardSSD_LRS" per i dischi SSD standard e "Standard_LRS" per usare dischi HDD standard. Se si sceglie di usare una valutazione, lo script assegna la priorità usando i tipi di disco consigliati per ogni disco della macchina virtuale. Se non si usa la valutazione o si specifica alcun valore, lo script userà dischi HDD standard per impostazione predefinita.
AVAILABILITYZONE_NUMBER Specificare il numero di zona di disponibilità da usare per la macchina virtuale migrata. È possibile lasciare vuoto questo campo se non si vogliono usare le zone di disponibilità.
AVAILABILITYSET_NAME Specificare il nome del set di disponibilità da usare per la macchina virtuale migrata. È possibile lasciare vuoto questo campo se non si vuole usare il set di disponibilità.
TURNOFF_SOURCESERVER Specificare "Y" se si vuole disattivare la macchina virtuale di origine al momento della migrazione. In caso contrario, usare 'N'. Se lasciato vuoto, lo script presuppone che il valore sia "N".
TESTMIGRATE_VNET_NAME Specificare il nome della rete virtuale da usare per la migrazione di test.
NOME_GRUPPO_RISORSE_DI_DESTINAZIONE_AGGIORNATO Se si vuole aggiornare il gruppo di risorse da usare dalla macchina virtuale migrata in Azure, specificare il nome del gruppo di risorse di Azure, altrimenti lasciare vuoto.
NOME_VNET_DI_DESTINAZIONE_AGGIORNATO Se si vuole aggiornare il Rete virtuale da usare dalla macchina virtuale migrata in Azure, specificare il nome del Rete virtuale di Azure, altrimenti lasciarlo vuoto.
UPDATED_TARGET_MACHINE_NAME Se si vuole aggiornare il nome da usare dalla macchina virtuale migrata in Azure, specificare il nuovo nome da usare, altrimenti lasciare vuoto.
TAGLIA_MACCHINA_BERSAGLIO_AGGIORNATA Se si vuole aggiornare lo SKU da usare per la macchina virtuale migrata in Azure, specificare il nuovo SKU da usare, altrimenti lasciare vuoto.
NUMERO_DEL_ZONE_DI_DISPONIBILITÀ_AGGIORNATO Se si vuole aggiornare la zona di disponibilità da usare per la macchina virtuale migrata in Azure, specificare la nuova zona di disponibilità da usare, altrimenti lasciare vuoto.
NOME_SETDISPONIBILITÀ_AGGIORNATO Se si vuole aggiornare il set di disponibilità da usare dalla macchina virtuale migrata in Azure, specificare il nuovo set di disponibilità da usare, altrimenti lasciare vuoto.
UPDATE_NIC1_ID Specificare l'ID della scheda di interfaccia di rete da aggiornare. Se lasciato vuoto, lo script presuppone che il valore sia la prima scheda di interfaccia di rete della macchina virtuale individuata. Se non si vuole aggiornare la scheda di interfaccia di rete della macchina virtuale, lasciare vuoti tutti i campi contenenti il nome della scheda di interfaccia di rete.
SELEZIONE_TIPO_INTERFACCIA_OBIETTIVO_AGGIORNATA Specificare il valore da utilizzare per questa scheda di interfaccia di rete. Usare "Primary","Secondary" o "DoNotCreate" per specificare se la scheda di interfaccia di rete deve essere primaria, secondaria o non deve essere creata nella macchina virtuale migrata. Per la VM è possibile specificare un'unica scheda di interfaccia di rete come primaria. Lasciare vuoto se non si vuole eseguire l'aggiornamento.
UPDATED_TARGET_NIC1_SUBNET_NAME Specificare il nome della subnet da usare per la scheda di interfaccia di rete nella macchina virtuale migrata. Lasciare vuoto se non si vuole eseguire l'aggiornamento.
UPDATED_TARGET_NIC1_IP Specificare l'indirizzo IPv4 da usare dalla scheda di interfaccia di rete nella macchina virtuale migrata se si vuole usare l'indirizzo IP statico. Usare "auto" se si vuole assegnare automaticamente l'INDIRIZZO IP. Lasciare vuoto se non si vuole eseguire l'aggiornamento.
UPDATE_NIC2_ID Specificare l'ID della scheda di interfaccia di rete da aggiornare. Se lasciato vuoto, lo script presuppone che il valore sia la seconda scheda di interfaccia di rete della macchina virtuale individuata. Se non si vuole aggiornare la scheda di interfaccia di rete della macchina virtuale, lasciare vuoti tutti i campi contenenti il nome della scheda di interfaccia di rete.
OPZIONI_SELEZIONE_NIC2_OBIETTIVO_AGGIORNATO Specificare il valore da utilizzare per questa scheda di interfaccia di rete. Usare "Primary","Secondary" o "DoNotCreate" per specificare se questa scheda di interfaccia di rete deve essere primaria, secondaria o non deve essere creata nella macchina virtuale migrata. Per la VM è possibile specificare un'unica scheda di interfaccia di rete come primaria. Lasciare vuoto se non si vuole eseguire l'aggiornamento.
NOME_SOTTORETE_NIC2_OBIETTIVO_AGGIORNATO Specificare il nome della subnet da usare per la scheda di interfaccia di rete nella macchina virtuale migrata. Lasciare vuoto se non si vuole eseguire l'aggiornamento.
UPDATED_TARGET_NIC2_IP Specificare l'indirizzo IPv4 da usare dalla scheda di interfaccia di rete nella macchina virtuale migrata se si vuole usare l'indirizzo IP statico. Usare "auto" se si vuole assegnare automaticamente l'INDIRIZZO IP. Lasciare vuoto se non si vuole eseguire l'aggiornamento.
PRONTO_PER_AGGIORNARE Usare "Y" per indicare se le proprietà della macchina virtuale devono essere aggiornate quando si esegue lo script AzMigrate_UpdateMachineProperties. Usare "N" o lasciare vuoto in caso contrario.
OK_TO_MIGRATE Usare "Y" per indicare se è necessario eseguire la migrazione della macchina virtuale quando si esegue lo script di AzMigrate_StartMigration. Usare "N" o lasciare vuoto se non si vuole eseguire la migrazione della macchina virtuale.
VALUTAZIONE_OK_PER_USO Usare "Y" per indicare se la macchina virtuale deve avviare la replica usando raccomandazioni di valutazione quando si esegue lo script AzMigrate_StartReplication. Verrà eseguito l'override dei valori TARGET_MACHINE_SIZE e TARGET_DISKTYPE nel file CSV. Usare "N" o lasciare vuoto se non si vogliono usare le raccomandazioni di valutazione.
OK_TO_TESTMIGRATE Usare "Y" per indicare se la macchina virtuale deve essere sottoposta a test durante l'esecuzione dello script AzMigrate_StartTestMigration. Usare "N" o lasciare vuoto se non si vuole testare la migrazione della macchina virtuale.
OK_PER_RECUPERARE_STATO_REPLICAZIONE Usare "Y" per indicare se lo stato di replica della macchina virtuale deve essere aggiornato quando si esegue lo script AzMigrate_ReplicationStatus. Usare "N" o lasciare vuoto se non si vuole aggiornare lo stato della replica.
OK_PER_PULIRE Usare "Y" per indicare se la replica per la macchina virtuale deve essere pulita quando si esegue lo script AzMigrate_StopReplication. Usare "N" o lasciare vuoto in caso contrario.
OK_DA_TESTAREMIGRARE_PULIZIA Usare "Y" per indicare se la migrazione di test per la macchina virtuale deve essere pulita quando si esegue lo script AzMigrate_CleanUpTestMigration. Usare "N" o lasciare vuoto in caso contrario.

Esecuzione degli script

Quando il volume condiviso cluster è pronto, è possibile eseguire la procedura seguente per eseguire la migrazione delle macchine virtuali VMware locali.

Passo # Nome dello script Descrizione
1 AzMigrate_StartReplication.ps1 Abilitare la replica per tutte le macchine virtuali elencate nel file csv, lo script crea un output CSV e un file di log per la risoluzione dei problemi.
2 AzMigrate_ReplicationStatus.ps1 Controllare lo stato della replica, lo script crea un output CSV con lo stato per ogni macchina virtuale e un file di log per la risoluzione dei problemi.
3 AzMigrate_UpdateMachineProperties.ps1 Dopo aver completato la replica iniziale delle macchine virtuali, usare questo script per aggiornare le proprietà di destinazione della macchina virtuale (proprietà di calcolo e di rete). Lo script crea un output CSV con i dettagli del processo per ogni macchina virtuale.
4 AzMigrate_StartTestMigration.ps1 Avviare il failover di test per tutte le macchine virtuali elencate nel file CSV configurato per la migrazione di test. Lo script crea un output CSV con i dettagli del processo per ogni macchina virtuale.
5 AzMigrate_CleanUpTestMigration.ps1 Dopo aver convalidato manualmente le macchine virtuali di cui è stato eseguito il test di cui è stato eseguito il failover, usare questo script per pulire le macchine virtuali di failover di test per tutte le macchine virtuali elencate nel file CSV configurato per la pulizia della migrazione dei test. Lo script crea un output CSV con i dettagli del processo per ogni macchina virtuale.
6 AzMigrate_StartMigration.ps1 Avviare la migrazione per tutte le macchine virtuali elencate nel file CSV configurato per la migrazione. Lo script crea un output CSV con i dettagli del processo per ogni macchina virtuale.
7 AzMigrate_StopReplication.ps1 Arresta la replica per la macchina virtuale dopo che è stata eseguita la migrazione o se si vuole annullare la replica a causa di altri motivi. Lo script crea un output CSV con i dettagli del processo per ogni macchina virtuale.

Gli script seguenti vengono richiamati da altri script per tutte le operazioni di Azure Migrate, ad esempio l'abilitazione della replica, l'avvio della migrazione dei test, l'aggiornamento delle proprietà della macchina virtuale e così via. Verificare che tutti gli script siano presenti nella stessa cartella/percorso.

Passo # Nome dello script Descrizione
1 AzMigrate_Shared.ps1 Script comune contenente funzioni per il recupero delle proprietà di valutazione (tramite l'API), le macchine virtuali individuate e la replica delle macchine virtuali.
2 AzMigrate_CSV_Processor.ps1 Script comune contenente funzioni usate per le operazioni di file CSV, tra cui caricamento, lettura e stampa per i log.
3 AzMigrate_Logger.ps1 Script comune richiamato per generare il file di log per le operazioni di automazione di Azure Migrate. Il file di log sarà del log di formato. Scriptname.Datetime.txt.

Oltre a quanto sopra, la cartella contiene anche AzMigrate_Template.ps1 che contiene lo scheletro del framework per la compilazione di script personalizzati per diverse operazioni di Azure Migrate.

Sintassi di esecuzione script

Dopo aver scaricato gli script, gli script possono essere eseguiti come indicato di seguito.

Se si vuole eseguire lo script per avviare la replica per le macchine virtuali usando il file Input.csv, usare la sintassi seguente.

".\AzMigrate_StartReplication.ps1" .\Input.csv 

Per altre informazioni sull'uso di Azure PowerShell per la migrazione di macchine virtuali VMware con Azure Migrate, seguire l'esercitazione.