Azure Local: migrazione di VM da VMware tramite Azure Migrate
Negli ultimi mesi il panorama della virtualizzazione ha subito importanti cambiamenti: l’aumento significativo dei costi delle licenze VMware e la situazione di incertezza generata dall’acquisizione di quest’ultima da parte di Broadcom stanno spingendo molte aziende a valutare soluzioni alternative.
A queste considerazioni economiche e strategiche si aggiunge la necessità, sempre più diffusa, di modernizzare l’infrastruttura IT e ridurre la complessità gestionale.
In questo contesto, Azure Local rappresenta una risposta concreta: l’evoluzione dei servizi Azure distribuiti direttamente nei data center del cliente, che consente di beneficiare delle stesse funzionalità e degli stessi strumenti del cloud pubblico, mantenendo però i dati e i carichi di lavoro in sede. Questo approccio è ideale in scenari dove la bassa latenza, la sovranità dei dati o la conformità normativa sono requisiti fondamentali.
Uno degli scenari più comuni, in un percorso di adozione di Azure Local, è la migrazione di macchine virtuali esistenti da ambienti VMware. Grazie ad Azure Migrate, il processo di discovery, assessment e migrazione può essere eseguito in modo strutturato e sicuro, minimizzando i tempi di fermo e semplificando le operazioni.
In questa guida, vedremo passo-passo come:
- Creare un progetto di migrazione.
- Connettere l’infrastruttura VMware locale al servizio di migrazione.
- Configurare Azure Migrate per un ambiente Azure Local.
- Eseguire la migrazione vera e propria con un approccio graduale e controllato.
Prima di iniziare, consiglio la lettura di queste guide scritte in precedenza, necessarie a chiarire alcuni aspetti tecnici della soluzione:
- Azure Local: Configurazione di un cluster a due nodi in un ambiente virtuale di test
- Azure Local: Gestione delle Azure Arc virtual machine
- Azure Local: Creazione e gestione di Virtual Machine con Windows Admin Center
Il primo passaggio necessario è quello di creare la Azure Migrate Appliance, di fatto una macchina virtuale Windows all’interno dell’infrastruttura VMware che dovrà occuparsi del processo di Discovery dei workload presenti.
Procederemo, quindi, selezionando il servizio Azure Migrate dall’Azure Portal.
E’ importante che per l’appliance siano disponibili: 8 Core, 32GB di Ram e 80GB di disk storage, il sistema operativo sarà Windows Server 2022.

Figura 1: Selezione del servizio Azure Migrate
A seguire dovremo creare un nuovo Progetto di Migrazione, selezionando la voce Servers, databases and web apps. In questo modo otterremo una lista dei workload migrabili nella nuova infrastruttura.

Figura 2: Creazione Progetto di Migrazione
Inseriremo tutti i parametri necessari (Subscription, Resource group, nome del Progetto, area geografica) per poi procedere a tutte le attività necessarie al processo di Discovery.

Figura 3: Parametri necessari al Progetto di Migrazione

Figura 4: Preparazione processo di Discovery
Una volta definito il progetto e avviata la configurazione delle procedure di Discover, dovremo indicare verso quale piattaforma migrare (Azure o Azure Local) e da quale sorgente (VMware, Hyper-V).

Figura 5: Selezione tipologia di migrazione

Figura 6: Indicazione della piattaforma sorgente
Per eseguire l’analisi dell’ambiente on-premises, è necessario distribuire l’appliance di Azure Migrate. Questa componente funge da ponte tra l’infrastruttura locale e Azure, consentendo di raccogliere informazioni sulle macchine virtuali e prepararle per la valutazione e la migrazione.
Il processo richiede un account di vCenter Server con permessi di sola lettura sulle VM che si desidera individuare. È possibile limitare l’ambito della scoperta assegnando all’account accesso soltanto ai server di interesse.
Durante la fase di discovery, l’appliance raccoglie anche contatori di prestazioni, utili per effettuare valutazioni basate sulle performance reali delle macchine virtuali, in modo da dimensionare correttamente le risorse nella destinazione Azure.
Per cominciare sceglieremo il nome della nostra appliance e creeremo la chiave che ci servirà successivamente per validare la vm.

Figura 7: Generazione chiave di validazione
Dopo aver generato la chiave del progetto, è possibile scegliere tra due modalità di distribuzione dell’appliance di Azure Migrate:
- Scaricare l’immagine della macchina virtuale (.OVA) per effettuare il deploy diretto su un host VMware.
- Scaricare il file compresso (.zip) contenente lo script PowerShell per installare l’appliance su una vm già esistente (o creata ad hoc).
Al momento utilizzeremo l’OVA, andando avanti sarà necessario (spoiler) creare una seconda appliance, allora vedremo anche l’altra modalità.

Figura 8: Scelta modalità di deploy dell’appliance
Accediamo ora al vCenter dell’infrastruttura da migrare e procediamo al deploy della VM partendo dal template appena scaricato.
Dopo aver caricato il file, indicheremo il nome che la macchina avrà e procederemo alla creazione vera e propria.
In questa fase potremo anche apportare delle modifiche spuntando la voce “Customize this virtual machine’s hardware“, personalmente, avendo risorse limitate, ho scelto di far creare il disco in modalità Thin.

Figura 9: Deploy VM da OVA

Figura 10: Upload del file OVA

Figura 11: Scelta del nome dell’appliance

Figura 12: Finalizzazione processo creazione VM da Template
Terminato il processo di creazione della macchina potremo andare a configurare l’appliance, potremo accedere dalle console di VMware oppure direttamente tramite Remote Desktop. Consiglio quest’ultimo per la comodità di poter copiare e incollare testo all’interno della sessione.

Figura 13: Acesso alla console della VM

Figura 14: Accettazione termini di Licenza

Figura 15: Impostazione password Administrator
Non appena fatto il primo accesso partirà una procedura automatica di configurazione durante la quale dovremo inserire la chiave generata in precedenza e verificarla, in questa fase verranno anche installati in background gli aggiornamenti necessari.
Verificata la chiave e terminato il processo di update, eseguiremo il comando “Rerun Prerequisites” per confermare che tutto sia andato a buon fine.

Figura 16: Inserimento chiave di validazione

Figura 17: Processo di aggiornamento dell’appliance

Figura 18: Verifica dei prerequisite
Se tutto risulterà corretto, eseguiremo il login con l’account Entra, così da registrare l’appliance nel progetto di migrazione.
La registrazione potrebbe impiegare fino a 10 minuti per essere completata.

Figura 19: Login con Entra Account

Figura 20: Copia del Device Code

Figura 21: Inserimento del Device Code

Figura 22: Completamento processo di Login

Figura 23: Avvio del processo di registrazione dell’applicance
Per poter eseguire le attività di migrazione nella appliance dovrà essere installato il “VMware Virtual Disk Development Kit“, scaricabile dal sito Broadcom (necessario un account Broadcom).
L’installazione è estremamente semplice: eseguito il download del file .zip, sarà sufficiente copiarne il contenuto nel path indicato (“C:\Program Files\VMware\VMware Virtual Disk Development Kit“).

Figura 24: Download del VMware VDDK

Figura 25: Accesso portale Broadcom

Figura 26: Installazione VMware VDDK

Figura 27: Verifica installazione VMware VDDK
L’appliance creata dovrà poter accedere al vCenter e, eventualmente, alle macchine virtuali presenti. Questo secondo punto non è obbligatorio ma è utile per ottenere una analisi più completa di quanto installato nei sistemi presenti nella infrastruttura sorgente.
Inseriremo, quindi, le credenziali richieste.

Figura 28: Inserimento credenziali vCenter

Figura 29: Inserimento credenziali vCenter

Figura 30: Selezione vCenter di origine

Figura 31: Inserimento credenziali sistemi guest

Figura 32: Inserimento credenziali di dominio
Inserite e validate le credenziali possiamo procedere al processo di Discovery, che ci permetterà di verificare quali workload potremo migrare in Azure Local.
Nel frattempo inseriremo anche l’utenza amministrativa della nostra infrastruttura di destinazione.

Figura 33: Avvio del processo di Discovery

Figura 34: Credenziali Azure Local

Figura 35: Inserimento parametri accesso Azure Local
Possiamo ora tornare nel portale Azure, nella sezione “Migration and Modernization” di Azure Migrate, dove vedremo i “Discovered Servers“, nel mio caso 3. Cliccando proprio su questo numero accederemo all’area preposta alla gestione dei workload rilevati.
Sono presenti diverse opzioni, in questa guida proseguiremo direttamente con la replica e la successiva migrazione.
Importante notare che il server chiamato AZLB-DC01 mostra 12 applicazioni nel Software Inventory, questo perché in precedenza abbiamo inserito le credenziali di dominio che hanno permesso all’appliance di fare discover anche all’interno del sistema guest.

Figura 36: Esito discovery dei server

Figura 37: Inizio del processo di replica
Dovremo nuovamente inserire un “Intent” che definisca gli oggetti che siamo intenzionati a migrare, verso quale piattaforma, partendo da che Hypervisor fino a scegliere l’appliance da utilizzare.
Definiti questi aspetti sceglieremo il sistema target che sarà il nostro Azure Local.

Figura 38: Parametrizzazione e selezione Appliance

Figura 39: Selezione sistema target (Azure Local)
Come anticipato, sarà necessaria una seconda appliance, questa volta nel sistema di destinazione.
Il procedimento è simile al precedente, con l’unica differenza che potremo scaricare una immagine in formato VHD (proprietario Hyper-V) oppure un file .zip contenente tutti i file necessari alla preparazione della macchina virtuale.
In questo caso seguiremo il secondo approccio, la VM dovrà essere un Windows Server 2022 con 16 GB di memoria, 8 vCPU e 80 GB di disco.

Figura 40: Creazione chiave Appliance

Figura 41: Creazione chiave e download file di configurazione
Al termine del Download, dopo aver decompresso il file, procederemo all’installazione del software necessario all’appliance, seguendo gli step nelle immagini sotto:

Figura 42: Contenuto file AzureMigrateInstaller.zip

Figura 43: Avvio script di installazione

Figura 44: Selezione della tipologia di target

Figura 45: Conferma dei parametri inseriti

Figura 46: Installazione completata
Come visto già in precedenza per l’appliance configurata in VMware, sarà necessario procedere alla verifica tramite la project key e al login con un l’Azure account preposto alla migrazione.
Recuperiamo la chiave dal portale Azure e procediamo, in questa fase verranno eseguiti anche gli aggiornamenti agli appliance services.

Figura 47: Inserimento chiave, verifica e aggiornamento Servizi

Figura 48: Copia del codice e Login

Figura 49: Processo di validazione e Login completato
A questo punto non ci resta che inserire le credenziali della nostra infrastruttura Azure Local e la configurazione della appliance Azure Migrate target sarà completa, potremo, quindi, tornare nell’Azure Portal per iniziare il processo di replica e, eventualmente, avviare la migrazione.
Dico eventualmente poiché, creato il job di replica, quest’ultimo sarà continuo fino a quando non decideremo di concludere il progetto di migrazione. Solo in quel momento la copia verrà interrotta per passare alla creazione della macchina virtuale nei sistemi di destinazione.

Figura 50: Inserimento credenziali Azure Local

Figura 51: Configurazione del progetto Azure Migrate
Ripartendo da dove avevamo lasciato nel portale Azure selezioniamo la target appliance appena configurata, successivamente le VM da migrare e inseriamo dati relativi a Subscription, Resource Group, Logical Interface e Storage Path di Azure Local.
Saremo ora in grado di definire anche le caratteristiche della nuova virtual machine in termini di vCPU, memoria e tipologia disco. Il servizio suggerisce, comunque, un dimensionamento in linea con la sorgente.
All’interno del progetto di migrazione avremo a disposizione il monitoraggio dello stato di replica, quando vedremo la dicitura Delta sync saremo pronti a spostare le istanze virtuali.

Figura 52: Selezione appliance target

Figura 53: Selezione virtual machine da migrare

Figura 54: Inserimento parametri destinazione

Figura 55: Modifica parametri della VM target

Figura 56: Indicazione tipologia disco

Figura 57: Avvio del processo di replica

Figura 58: Monitoraggio processo di replica
Siamo, finalmente, arrivati al momento clou dell’attività: stiamo iniziando a spostare le nostre istanze da VMware a Azure Local!
Come dicevamo, il processo di replica è continuo, nel momento in cui avvieremo la migrazione Azure Migrate eseguirà un ultimo sync, spegnerà la macchina di origine (volendo è possibile mantenerla accesa) e procederà all’attivazione nella nuova infrastruttura.
Anche in questo caso sarà possibile monitorare il job e, non appena terminato, vedremo come per magia comparire la macchina virtuale tra le Virtual Machines del nostro cluster.

Figura 59: Preparazione alla migrazione

Figura 60: Inizio processo di migrazione

Figura 61: Monitoraggio job di migrazione

Figura 62: Dettaglio job di migrazione

Figura 63: Processo di migrazione completato

Figura 64: VM creata come Azure Arc VM
Conclusioni
La migrazione di macchine virtuali da VMware verso Azure Local tramite Azure Migrate si rivela un processo strutturato, sicuro e con tempi di fermo ridotti al minimo. Oltre alla possibilità di mantenere i workload all’interno del proprio datacenter, si ottiene un’integrazione nativa con i servizi Azure (le vm vengono importate come Azure Arc VM), beneficiando di strumenti come Update Manager, l’automazione o la possibilità di sfruttare il programma ESU (Extended Security Updates) nel caso di sistemi più datati.
Questo approccio permette alle aziende di ridurre la complessità gestionale, ottimizzare i costi e abbracciare un modello cloud ibrido che coniuga innovazione e continuità operativa. La transizione a Azure Local, supportata da Azure Migrate, non rappresenta solo una migrazione tecnica, ma un passo concreto verso un’infrastruttura IT più resiliente e moderna.