6 modi per spostare una macchina virtuale VMware da un host EXSi a un altro
Quando nell’ambiente è presente più di un host ESXi, potrebbe essere necessario migrare le VM da un host a un altro. Il motivo può essere un uso razionale delle risorse oppure la disponibilità insufficiente di risorse di calcolo su uno degli host. Scopri i metodi disponibili per migrare le VM in VMware vSphere con e senza vCenter.
Utilizziamo il ambiente configurato nel laboratorio domestico VMware implementato nel post precedente del blog per spiegare il flusso di lavoro della migrazione delle VM:
ESXi01 - 192.168.101.101 (datastore10a, datastore40)ESXi02 - 192.168.101.102 (datastore40-2)vCenter8 - 192.168.101.103
Migrazione delle VM VMware tra host con vMotion
Il metodo più pratico ed efficace per migrare le macchine virtuali su un altro host ESXi consiste nell’utilizzare vCenter e la funzione vMotion. Verifica che entrambi gli host ESXi che eseguono le VM e una VM vCenter siano operativi. Apri VMware vSphere Client nel browser Web per accedere al tuo vCenter Server.
VMware offre la funzione vMotion per eseguire la migrazione delle VM tra host e archivi dati. Storage vMotion viene utilizzato quando una VM viene migrata da uno storage a un altro. vMotion consente di migrare le VM anche quando sono in esecuzione. Puoi provare questa eccezionale funzione di livello aziendale nel tuo laboratorio domestico ESXi. Prova a eseguire il ping della tua VM Linux nidificata durante la migrazione per verificare che non ci siano tempi di inattività.
Fai clic con il pulsante destro del mouse sulla VM in esecuzione sul primo host ESXi (ESXi01 – 192.168.101.101) e fai clic su Migra nel menu Azioni .

Si apre la procedura guidata Migra :
- Seleziona un tipo di migrazione . In questo passaggio puoi selezionare una delle tre opzioni:
- Modifica solo la risorsa di calcolo . Seleziona questa opzione se una VM si trova su un archivio dati condiviso connesso a più host ESXi.
- Modifica solo lo storage . Seleziona questa opzione se vuoi spostare la VM da un archivio dati collegato direttamente a un altro. In questo caso, entrambi gli archivi dati collegati direttamente sono connessi allo stesso host ESXi.
- Modifica sia la risorsa di calcolo che lo storage . Seleziona questa opzione se vuoi migrare una VM da un host a un altro. Pertanto, i due host possono utilizzare archivi dati diversi.
- Esportazione cross-vCenter Server . Usala per migrare le VM a un vCenter Server appartenente a un altro dominio SSO.
La terza opzione è adatta allo scenario riprodotto nell’attuale laboratorio domestico VMware. Entrambi gli host ESXi dispongono di archivi dati da 40 GB. La VM in esecuzione verrà migrata da un host a un altro (
ESXi01>ESXi02) e da un archivio dati da 40 GB a un altro (datastore40>datastore40-2).
- Seleziona una risorsa di calcolo . Questa opzione consente di definire un host ESXi e le risorse di CPU e memoria da utilizzare per eseguire una VM. Seleziona
vCenter8 > Datacenter01 > 192.168.101.102(l’indirizzo IP diESXi02, ovvero il secondo host in questo ambiente di test VMware).
- Seleziona lo storage . In questa fase, seleziona lo storage di destinazione per la migrazione della macchina virtuale. Seleziona il formato del disco virtuale: uguale a quello dell’origine (in questo caso, thin provisioning). Selezionare l’archivio dati (
datastore40-2nel nostro esempio). - Selezionare le reti . Selezionare le reti di destinazione per la migrazione della VM. La Rete VM è selezionata a questo scopo nel nostro esempio.
- Selezionare la priorità di vMotion . È possibile impostare vMotion su priorità alta (consigliata) o normale. Impostare la priorità alta.
- Pronto per completare . Controllare i parametri di migrazione della VM e fare clic su Termina per avviare la migrazione.
Attendere il completamento del processo di migrazione della VM. È possibile aprire la barra Attività recenti nella parte inferiore dell’interfaccia Web di VMware vSphere Client per controllare l’avanzamento dell’attività. Una volta completata correttamente l’attività di migrazione della VM, la VM inizierà a essere eseguita sul secondo host ESXi (vedere la schermata seguente).

È possibile visualizzare un’anteprima del desktop della VM Lubuntu, la cui console è stata aperta per verificare la rete e installare VMware Tools prima della migrazione. Lo stato di esecuzione della VM viene mantenuto.
Come spostare una VM su un altro host senza vMotion?
Esistono situazioni in cui non è possibile utilizzare vMotion e Storage vMotion perché vCenter non è installato o la licenza VMware vSphere Essentials non consente di utilizzare Storage vMotion. In questo caso, è possibile procedere con la migrazione a freddo delle VM VMware senza vCenter.
Eseguiamo la migrazione di una VM Windows dal primo host ESXi (ESXi01) al secondo (ESXi02) senza utilizzare un archivio dati condiviso. Per copiare una VM da un host ESXi a un altro senza vCenter Server, procedere come segue:
- Accedere a VMware Host Client da un browser Web sull’host ESXi di origine in cui è archiviata la VM di origine (
ESXi01). - Fare clic su Storage nel riquadro Navigatore , fare clic su un archivio dati in cui sono archiviati i file della VM e fare clic sul pulsante Browser archivio dati .
- Sfogliare la directory della VM da migrare su un altro host ESXi (
Windows-VMsudatastore10ain questo esempio). - Scaricare su ESXi01 i file .
vmdk, –flat.vmdke .vmxdella VM di origine. Selezionare un file .vmdkdella VM nel browser dell’archivio dati e fare clic su Scarica . Salvare i file .vmdke –flat.vmdk(il descrittore del disco virtuale e il file dei dati grezzi del disco virtuale) sul computer. Ripetere questa operazione per gli altri dischi virtuali, se la VM ne contiene più di uno. Scaricare allo stesso modo il file di configurazione .vmxdella VM.NOTA: Sia i file
.vmdkche –flat.vmdkvengono visualizzati come un unico file .vmdknel browser dell’archivio dati. In alternativa, puoi usare un client SSH per visualizzare i file e un client SFTP, come WinSCP, per scaricare i file della VM da un archivio dati ESXi. Il file –flat.vmdkscaricato è un file con provisioning thick. Assicurati di avere spazio su disco sufficiente per salvare i file del disco virtuale.
- Accedi a VMware Host Client sul secondo host ESXi (di destinazione), ovvero l’host sul quale vuoi migrare la macchina virtuale (
ESXi02in questo esempio). - Fai clic su Storage nel riquadro Navigatore , seleziona l’archivio dati in cui vuoi collocare la VM dopo la migrazione (
datastore40b) e apri il browser dell’archivio dati. - Fai clic su Crea directory nella finestra del browser dell’archivio dati, inserisci il nome della directory della VM, ad esempio
Windows-VM-copy, e fai clic su Crea directory nella finestra corrispondente.
- Una volta creata la directory, fai clic su Carica e seleziona i file .
vmdk, –flat.vmdke .vmxdella VM che hai scaricato in precedenza daESXi01. Attendi che i file vengano caricati nell’archivio dati diESXi02.
- In questo caso, i dischi virtuali caricati vengono salvati in formato di disco virtuale thick. Segui i passaggi successivi per convertire un disco virtuale nel formato con provisioning thin e risparmiare spazio di storage.
- Connettiti all’host ESXi di destinazione (
ESXi02) usando un client SSH. In Windows puoi usare PuTTY e accedere comeroot. L’accesso SSH deve essere abilitato su un host ESXi. - Vai alla directory della VM che hai creato nell’archivio dati ESXi02 come directory di destinazione per la migrazione della VM.
cd /vmfs/volumes/datastore40b/Windows-VM-copy/ - Esegui il comando per convertire un disco virtuale con provisioning thick in un disco virtuale con provisioning thin:
vmkfstools -i sourcename.vmdk -d thin targetname.vmdkNel nostro caso, il comando esatto è:
vmkfstools -i Windows-VM.vmdk -d thin Windows-VM-thin.vmdk - Rinomina il disco virtuale thick originale (in seguito, puoi eliminare questo disco dopo aver verificato che tutto funzioni correttamente dopo la conversione) con il comando:
vmkfstools -E targetname.vmdk sourcename.vmdkIn questo esempio, il comando è:
vmkfstools -E Windows-VM.vmdk Windows-VM-thick.vmdkNOTA: Questo comando rinomina sia il file descrittore del disco virtuale sia il file dei dati del disco virtuale (.
vmdke –flat.vmdk). - Rinomina il nuovo disco virtuale con provisioning thin creato dopo la conversione in modo che corrisponda al nome del disco virtuale originale:
vmkfstools -E Windows-VM-thin.vmdk Windows-VM.vmdk
- Nel browser dell’archivio dati di
ESXi02, accedi alla directory della VM copiata (Windows-VM-copy) e seleziona il file di configurazione della VM .vmx. - Fai clic con il pulsante destro del mouse sul file .
vmxe seleziona Registra VM nel menu contestuale per registrare la VM clonata sull’host ESXi di destinazione (ESXi02).
- Avvia la VM creata dopo la migrazione.
- Se tutto funziona correttamente, elimina i file dei dischi virtuali con provisioning thick conservati dopo la conversione di un disco virtuale dal formato thick a thin (
Windows-VM-thick-flat.vmdke il file .vmdkcorrispondente).
Se le dimensioni del disco non sono state ridotte dopo la conversione, puoi recuperare spazio libero quando utilizzando dischi virtuali con allocazione dinamica.
Migrazione VMware mediante storage condiviso
Lo storage condiviso deve essere connesso a tutti gli host ESXi che partecipano alla migrazione della VM con questo metodo.
Esistono due scenari per la migrazione VMware: copiare (clonare) una VM o spostare una VM.
- Per copiare una VM:
- Crea una nuova cartella della VM in un archivio dati condiviso.
- Copia i file della VM di origine nella cartella appena creata.
- Registra una copia della VM sull’host ESXi di destinazione connesso all’archivio dati condiviso.
- Per spostare una VM:
- Annulla la registrazione della VM sull’host ESXi di origine (primo).
- Registra la VM sull’host ESXi di destinazione (secondo).
Come spostare una VM esportando/importando manualmente un modello di VM
Puoi esportare le VM in modelli e importarli per creare una VM su un altro host ESXi, così da migrare o clonare le macchine virtuali. Questo metodo consente di eseguire la migrazione a VM spenta (per le VM che sono spente). Puoi copiare o spostare una VM VMware su un altro host senza vCenter e con vCenter utilizzando i modelli.
Migrazione della VM mediante modelli senza vCenter
Per migrare una VM su un altro host senza vCenter, esegui i passaggi seguenti:
- Nell’ Esploratore di VMware Host Client sull’host ESXi di origine (), vai a Macchine virtuali
ESXi01. - Fai clic con il pulsante destro del mouse sulla VM e seleziona Esporta nel menu contestuale.
- Seleziona i file desiderati (puoi mantenere la selezione predefinita senza .
nvram) e fai clic su Esporta .
- Attendi il completamento del download dei file nel browser web. In questo esempio, abbiamo scaricato tre file della VM esportata:
Windows-VM.mfWindows-VM.ovfWindows-VM-1.vmdk
- Nel VMware Host Client dell’host ESXi di destinazione (
ESXi02), vai a VM in Navigator e fai clic su Crea/Registra VM .
- Seleziona Implementa una macchina virtuale da un file OVF o OVA nel primo passaggio della procedura guidata Nuova macchina virtuale . Fai clic su Avanti a ogni passaggio della procedura guidata per continuare.
- Inserisci un nome univoco per la VM sull’host ESXi di destinazione, ad esempio
Windows-VM-clone, e seleziona i file .ovf(o .ova) e .vmdkprecedentemente esportati come modello OVF.
- Seleziona lo storage . Seleziona un archivio dati sull’host ESXi di destinazione in cui archiviare la VM da migrare.
- Definisci le opzioni di implementazione . Seleziona una rete a cui connettere la VM, il provisioning thin o thick dei dischi virtuali e se accendere automaticamente la VM dopo l’implementazione.
- Pronto per completare . Verifica le impostazioni e fai clic su Termina .
- Attendi che la VM venga importata dal modello . Dovresti visualizzare il messaggio:
VM_name successfully imported.
Se viene visualizzato un errore, ad esempio Manca un’immagine del disco obbligatoria , e l’importazione non riesce, verifica di aver selezionato entrambi i file .ovf e .vmdk. Se selezionare tutti i file necessari non è sufficiente, prova le seguenti operazioni:
- Copia i file .
vmdkesportati con un modello .ovfnell’archivio dati dellaESXi hostdi destinazione. - Crea una nuova VM con la stessa configurazione della VM di origine e seleziona l’opzione per usare un disco virtuale esistente nella procedura guidata di creazione della VM.
- Seleziona i dischi virtuali esportati e copiati nell’archivio dati di destinazione al passaggio 1.
Migrazione delle VM mediante modelli in vCenter
Allo stesso modo, puoi esportare le VM come modelli OVF e importare questi modelli come nuove VM in vCenter con VMware vSphere Client.
- Fai clic con il pulsante destro del mouse su una VM e seleziona Modello > Esporta modello OVF nel menu contestuale.
- Inserisci il nome del modello e seleziona le opzioni necessarie nella finestra visualizzata. Fai clic su OK .
- Scarica i file del modello.

Quindi, implementa un modello OVF in una VM per migrare la macchina virtuale.
- Fai clic con il pulsante destro del mouse sull’host ESXi di destinazione nella vista Host e cluster del client vSphere e seleziona Implementa modello OVF .
- Completa la procedura guidata per terminare la migrazione della VM.

L’alternativa a un modello OVF in vSphere consiste nel convertire una VM in un modello di VM VMware. Scopri di più su come usare Modelli di macchine virtuali VMware.
Come migrare una VM in un altro host con VMware PowerCLI?
In PowerCLI puoi usare il cmdlet Move-VM per migrare le VM da un host ESXi a un altro. Ecco i passaggi da seguire:
- Avvia la console PowerCLI o PowerShell con il modulo VMware PowerCLI caricato.
- Connettiti al server vCenter o direttamente all’host ESXi di origine usando il cmdlet
Connect-VIServer. SostituiscivCenter_or_ESXi_Hostcon l’indirizzo del server appropriato:Connect-VIServer -Server <vCenter_or_ESXi_Host> -User <Username> -Password <Password> - Recupera le informazioni sulla VM che vuoi migrare usando il cmdlet Get-VM:
$vm = Get-VM -Name "VM_Name" - Seleziona l’host ESXi di destinazione. Individua l’host ESXi di destinazione in cui vuoi spostare la VM.
$destinationHost = Get-VMHost -Name "Destination_ESXi_Host" - Sposta la VM. Usa il cmdlet
Move-VMper avviare la migrazione. Specifica la VM ($vm) e l’host di destinazione ($destinationHost).Move-VM -VM $vm -Destination $destinationHost - Monitora l’avanzamento della migrazione controllando lo stato dell’attività con il cmdlet
Get-Task.Get-Task | Where-Object {$_.Entity -eq $vm} | Sort-Object StartTime -Descending | Select-Object -First 1 - Se non sono necessarie altre attività, puoi disconnetterti dal server vCenter o dall’host ESXi.
Disconnect-VIServer -Server * -Confirm:$false
Esempio
Di seguito è riportato un esempio completo utilizzabile come script PowerShell per migrare le VM tra host ESXi:
# Connettersi al server vCenter o all’host ESXi di origine
Connect-VIServer -Server 192.168.101.103 -User administrator@vsphere.local -Password Your_Password111
# Recuperare le informazioni sulla VM
$vm = Get-VM -Name "Windows-VM"
# Individuare l’host ESXi di destinazione
$destinationHost = Get-VMHost -Name "192.168.101.102"
# Spostare la VM nell’host di destinazione
Move-VM -VM $vm -Destination $destinationHost
# Monitorare l’avanzamento della migrazione
Get-Task | Where-Object {$_.Entity -eq $vm} | Sort-Object StartTime -Descending | Select-Object -First 1
# Disconnettersi dal server vCenter o dall’host ESXi di origine
Disconnect-VIServer -Server * -Confirm:$false
Assicurati di disporre delle autorizzazioni necessarie per eseguire la migrazione e sostituisci nei comandi precedenti i segnaposto come Source_vCenter_or_ESXi_Host, Username, Password, VM_Name e Destination_ESXi_Host con i valori effettivi. Adatta lo script al tuo ambiente e ai tuoi requisiti.
Come migrare una VM a un altro host con VMware Converter
VMware vCenter Converter Standalone è uno strumento che consente di convertire macchine fisiche, VM di altri hypervisor e VM di versioni precedenti di VMware vSphere in macchine virtuali da utilizzare negli ambienti vSphere. Sebbene questo strumento non sia progettato specificamente per le migrazioni live, è possibile utilizzare Converter per eseguire la migrazione a freddo di una VM tra host ESXi (la VM di origine deve essere spenta durante la migrazione).
Per migrare una VM con VMware Converter:
- Preparare tutti i componenti necessari:
- Scarica Scaricare VMware vCenter Converter Standalone dal sito web VMware e installarlo su una macchina che possa accedere sia agli host ESXi di origine sia a quelli di destinazione.
- Assicurarsi di disporre dell’accesso amministrativo a entrambi gli host ESXi, di origine e di destinazione.
- Assicurarsi che vi sia una connettività di rete adeguata tra la macchina che esegue VMware Converter e gli host ESXi di origine e di destinazione.
- Avviare l’applicazione VMware Converter sulla macchina in cui è installata.
- Fare clic su Converti macchina .
- Selezionare il tipo di origine . In questo caso, selezionare Spento e Macchina virtuale di VMware Infrastructure come origine. Immettere l’indirizzo IP o il nome host dell’host ESXi di origine (ad esempio,
192.168.101.101) e fornire le credenziali per connettersi.
- Selezionare la VM di origine . Scegliere dall’elenco delle VM disponibili sull’host ESXi di origine la macchina virtuale da migrare.
- Selezionare il tipo di destinazione . Selezionare Macchina virtuale di VMware Infrastructure come destinazione. Immettere l’indirizzo IP o il nome host dell’host ESXi di destinazione (ad esempio,
192.168.101.102) e fornire le credenziali per connettersi. - Configurare la VM di destinazione . Specificare il nome e l’ubicazione della macchina virtuale di destinazione sull’host ESXi di destinazione.
- Selezionare l’ubicazione di destinazione . Selezionare un archivio dati sull’host ESXi di destinazione e la versione dell’hardware della macchina virtuale. È possibile esaminare e configurare altre opzioni, come il data center, il cluster, il pool di risorse e l’archivio dati per la VM di destinazione.
- Opzioni . Configurare le opzioni di conversione, come il tipo di disco, le impostazioni di rete e le opzioni di personalizzazione, se necessario.
- Pronto per il completamento . Esamina il riepilogo delle selezioni e fai clic su Termina per avviare il processo di conversione.
- Monitora l’avanzamento della conversione nell’interfaccia Converter Standalone . Lo strumento arresterà la VM di origine, copierà i relativi dischi e creerà quindi una nuova VM sull’host di destinazione.
- Al termine della conversione, verifica che la VM sia stata creata correttamente sull’host ESXi di destinazione.
Leggi ulteriori informazioni sull’utilizzo di VMware Converter.
Come migrare una VM su un altro host con NAKIVO Backup & Replication
È possibile copiare una VM da un host ESXi a un altro utilizzando una soluzione di protezione dei dati per VM e la replica delle VM. NAKIVO Backup & Replication consente di migrare le macchine virtuali utilizzando questo scenario. La funzione di replica delle VM consente di eseguire questa operazione in modo efficace, anche per le VM in esecuzione.
Questo metodo di migrazione delle VM può essere utilizzato in entrambi i casi:
- Gli host ESXi sono gestiti da vCenter
- Gli host ESXi standalone non sono gestiti da vCenter
Requisiti:
- Tutti gli host ESXi standalone devono essere aggiunti a NAKIVO Inventario.
- Se gli host ESXi sono gestiti da vCenter, è necessario aggiungere vCenter Server all’Inventario.

Per migrare le macchine virtuali con NAKIVO Backup & Replication, procedi come segue.
- Nell’interfaccia web della soluzione NAKIVO, vai a Lavori + (Aggiungi un nuovo lavoro) e fai clic su Lavoro di replica VMware vSphere .

- Nella procedura guidata Nuovo lavoro di replica per VMware vSphere che si apre, seleziona la VM di origine sull’host ESXi di origine. In questo esempio è selezionato
Windows-VMsuESXi01.
- Seleziona l’host ESXi, l’archivio dati e la cartella della VM di destinazione.

- Completare la replica della VM procedura guidata e attendi la creazione di una replica della VM nell’ubicazione di destinazione.
In questo modo, hai migrato una VM attiva su un host diverso. Puoi configurare la replica incrementale con NAKIVO Backup & Replication e utilizzare la replica per il failover della VM nel caso in cui le VM di produzione non siano disponibili. NAKIVO Backup & Replication è una soluzione completa di protezione dei dati che fornisce backup, orchestrazione e automazione del DR, replica in tempo reale e ripristino dal ransomware con una sola installazione della soluzione e da un’unica interfaccia.