Quando hai più di un host ESXi nel tuo ambiente, potresti aver bisogno di migrare macchine virtuali da un host all’altro. Il motivo può essere l’utilizzo razionale delle risorse o risorse di calcolo insufficienti su uno degli host. Scopri i metodi disponibili per migrare macchine virtuali in VMware vSphere con e senza vCenter.
Utilizziamo l’ambiente configurato nel laboratorio domestico VMware implementato nel post del blog precedente 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ù comodo ed efficace per migrare macchine virtuali su un altro host ESXi è utilizzare vCenter e la funzione vMotion. Assicurati che sia le VM in esecuzione sugli host ESXi che una VM vCenter siano operative. Apri VMware vSphere Client nel tuo browser web per accedere al tuo server vCenter.
VMware fornisce la funzionalità vMotion per eseguire la migrazione delle VM tra host e datastore. Storage vMotion viene utilizzato quando una VM migra da uno storage a un altro. vMotion ti consente di migrare le VM anche se sono in esecuzione. Puoi testare questa fantastica funzionalità di livello enterprise nel tuo laboratorio domestico ESXi. Prova a pingare la tua VM Linux nidificata durante il processo di migrazione per verificare che non ci sia alcun tempo 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.
Il wizard Migrate si apre:
- Seleziona un tipo di migrazione. In questo passaggio, puoi selezionare una delle tre opzioni:
- Cambia solo la risorsa di calcolo. Seleziona questa opzione se una VM si trova su un datastore condiviso collegato a più host ESXi.
- Cambia solo lo storage. Seleziona questa opzione se vuoi rimuovere la VM da un datastore direttamente collegato a un altro. Entrambi i datastore direttamente collegati sono connessi allo stesso host ESXi in questo caso.
- Cambia sia la risorsa di calcolo che lo storage. Seleziona questa opzione se vuoi migrare una VM da un host a un altro. Quindi, entrambi gli host possono utilizzare datastore diversi.
- Esportazione tra vCenter Server. Usa per migrare VM a un vCenter Server che è un membro di un altro dominio SSO.
La terza opzione è adatta nel caso riprodotto nell’attuale home lab VMware. Entrambi gli host ESXi hanno i loro datastore da 40 GB. La VM in esecuzione verrà migrata da un host all’altro (ESXi01 > ESXi02) e da un datastore da 40 GB all’altro (datastore40 > datastore40-2).
- Seleziona una risorsa di calcolo. Questa opzione ti permette di definire un host ESXi, così come le risorse CPU e di memoria che verranno utilizzate per eseguire una VM. Seleziona vCenter8 > Datacenter01 > 192.168.101.102 (l’indirizzo IP di ESXi02, che è il secondo host in questo ambiente di test VMware).
- Seleziona archiviazione. In questa fase, dovresti selezionare l’archiviazione di destinazione per la migrazione della macchina virtuale. Seleziona il formato del disco virtuale: lo stesso della sorgente (provisioning sottile in questo caso). Seleziona il datastore (datastore40-2 nel nostro esempio).
- Seleziona le reti. Seleziona le reti di destinazione per la migrazione della macchina virtuale. La rete VM Network è selezionata a questo scopo nel nostro esempio.
- Seleziona la priorità di vMotion. Puoi impostare vMotion su priorità elevata (raccomandato) o priorità normale. Imposta su priorità elevata.
- Pronto per completare. Controlla i parametri di migrazione della VM e premi Fine per avviare la migrazione.
Attendi fino al completamento del processo di migrazione della VM. Puoi aprire la barra Attività recenti nella parte inferiore dell’interfaccia web del client VMware vSphere per controllare il progresso dell’attività. Dopo che l’attività di migrazione della VM è stata completata con successo, la tua VM inizierà a funzionare sul secondo host ESXi (vedi lo screenshot sotto).
Puoi vedere un’anteprima del desktop della VM Lubuntu dove la console è stata aperta per controllare la rete e installare VMware Tools prima della migrazione. Lo stato di esecuzione della macchina virtuale è preservato.
Come spostare una VM su un altro host senza vMotion?
Esistono situazioni in cui vMotion e Storage vMotion non possono essere utilizzati perché vCenter non è installato o la licenza VMware vSphere Essentials non ti consente di utilizzare Storage vMotion. In questo caso, puoi procedere con la migrazione a freddo di VM senza vCenter.
Migriamo una VM Windows dal primo host ESXi (ESXi01) al secondo (ESXi02) senza utilizzare un datastore condiviso. Esegui le seguenti operazioni per copiare una VM da un host ESXi all’altro senza utilizzare vCenter Server:
- Accedi al Client VMware Host sull’host ESXi di origine dove è memorizzata la VM di origine (ESXi01) utilizzando un browser web.
- Fai clic su Archivio nel riquadro Navigatore, seleziona un datastore dove sono memorizzati i file della VM e premi il pulsante Browser datastore.
- Naviga nella directory di una VM che desideri migrare su un altro host ESXi (VM Windows su datastore10a in questo esempio).
- Scarica i file “vmdk“, “flat.vmdk” e “vmx” della macchina virtuale (VM) dal nodo ESXi01. Seleziona un file “vmdk” della VM nel browser del datastore e fai clic su “Download“. Salva i file “vmdk” e “flat.vmdk” (file descrittore del disco virtuale e file di dati del disco virtuale grezzo) sul tuo computer. Ripeti questo processo per gli altri dischi virtuali se la tua VM ne ha più di uno. Scarica anche il file di configurazione “vmx” della VM.
NOTA::
Sia i file “vmdk” che i file “flat.vmdk” vengono visualizzati come un unico file “vmdk” nel browser del datastore. Puoi utilizzare un client SSH per visualizzare i file e un client SFTP come WinSCP per scaricare i file VM da un datastore ESXi come alternativa. Il file “flat.vmdk” scaricato viene scaricato come file a provisioning spesso. Assicurati di avere abbastanza spazio su disco per salvare i file del disco virtuale.
- Accedi al client Host VMware sulla seconda (host di destinazione) ESXi host, nell’esempio ESXi02.
- Fai clic su Storage nel riquadro Navigator, seleziona il datastore in cui desideri posizionare la VM dopo la migrazione (datastore40b) e apri il browser del datastore.
- Fai clic su Crea directory nel browser del datastore, inserisci il nome della directory della VM, ad esempio, Windows-VM-copy, e fai clic su Crea Directory nella relativa finestra.
- Una volta creata la directory, fai clic su Carica e seleziona i file .vmdk, –flat.vmdk e .vmx della VM che hai scaricato da ESXi01 in precedenza. Attendi fino al caricamento dei file sul datastore di ESXi02.
- I dischi virtuali caricati vengono salvati in formato disco virtuale spesso in questo caso. Segui i passaggi successivi per convertire un disco virtuale nel formato di provisioning sottile per risparmiare spazio di archiviazione.
- Connettiti all’host ESXi di destinazione (ESXi02) in un client SSH. Puoi utilizzare PuTTY in Windows e accedere come root. L’accesso SSH deve essere abilitato su un host ESXi.
- Vai alla directory della VM che hai creato sul datastore 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 spesso in un disco virtuale con provisioning sottile:
vmkfstools -i sourcename.vmdk -d thin targetname.vmdk
Nel nostro caso, il comando esatto è:
vmkfstools -i Windows-VM.vmdk -d thin Windows-VM-thin.vmdk
- Rinomina il disco virtuale spesso 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.vmdk
In questo esempio, il comando è:
vmkfstools -E Windows-VM.vmdk Windows-VM-thick.vmdk
NOTA: Questo comando rinomina sia il descrittore del disco virtuale che i file di dati del disco virtuale (.vmdk e –flat.vmdk).
- Rinominare il nuovo disco virtuale sottoposto a sottoprovisionamento scritto dopo la conversione per corrispondere al nome del disco virtuale originale:
vmkfstools -E Windows-VM-thin.vmdk Windows-VM.vmdk
- Nel browser del datastore di ESXi02, vai 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 .vmx e 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, eliminare i file del disco virtuale con allocazione spessa conservati dopo la conversione di un disco virtuale da spesso a sottile (Windows-VM-thick-flat.vmdk e il relativo file .vmdk).
Se le dimensioni del disco non sono state ridotte dopo la conversione, è possibile recuperare lo spazio libero quando si utilizzano dischi virtuali con allocazione sottile.
Migrazione VMware utilizzando storage condiviso
Lo storage condiviso deve essere collegato a tutti gli host ESXi che partecipano alla migrazione delle VM utilizzando questo metodo.
Può esserci due scenari di migrazione VMware: copiare (clonare) una VM o spostare una VM.
- Per copiare una VM:
- Creare una nuova cartella VM su un datastore condiviso.
- Copiare i file della VM di origine in quella cartella appena creata.
- Registrare una copia della VM sull’host ESXi di destinazione collegato al datastore condiviso.
- Per spostare una VM:
- Non registrare una VM sull’host ESXi di origine (primo).
- Registrare una VM sull’host ESXi di destinazione (secondo).
Come spostare una VM esportando / importando manualmente un modello di VM
È possibile esportare le VM in modelli e importare questi modelli per creare una VM su un altro host ESXi per migrare le macchine virtuali o clonarle. Questo metodo consente di eseguire la migrazione a freddo delle VM (per le VM che sono spente). È possibile copiare o spostare le VM VMware su un altro host senza vCenter e con vCenter utilizzando i modelli.
Migrazione delle VM utilizzando i modelli senza vCenter
Seguire i seguenti passaggi per migrare la VM su un altro host senza vCenter:
- Andare a Macchine virtuali nella Barra di navigazione del Client Host VMware sull’host ESXi di origine (ESXi01).
- Fare clic con il pulsante destro del mouse sulla VM e selezionare Esporta nel menu contestuale.
- Controllare i file selezionati (è possibile utilizzare la selezione predefinita senza .nvram) e fare clic su Esporta.
- Attendere il download dei file nel browser web. In questo esempio, abbiamo scaricato tre file della VM esportata:
- Windows-VM.mf
- Windows-VM.ovf
- Windows-VM-1.vmdk
- Nel Client host VMware della destinazione host ESXi (ESXi02), vai a Macchine virtuali in Navigatore e clicca su Crea / Registra VM.
- Seleziona Dispiegare una macchina virtuale da un file OVF o OVA nella prima fase della procedura guidata Nuova macchina virtuale. Clicca su Avanti ad ogni passaggio della procedura guidata per continuare.
- Inserisci il nome univoco della VM sull’host ESXi di destinazione, ad esempio, Windows-VM-clone, e seleziona i file .ovf (o .ova) e .vmdk esportati come modello OVF in precedenza.
- Seleziona archiviazione. Seleziona un datastore su un host ESXi di destinazione per memorizzare la VM che stai migrando.
- Definisci le opzioni di distribuzione. Seleziona una rete per la connessione della VM, la sottoscrizione sottile o spessa dei dischi virtuali e se avviare automaticamente la VM dopo la distribuzione.
- Pronto per completare. Verifica le tue impostazioni e clicca su Termina.
- Aspetta finché la VM non viene importata da un modello. Dovresti vedere il messaggio: Nome_VM importato con successo.
Se viene visualizzato un errore, come Mancava un’immagine disco richiesta, e il processo di importazione fallisce, assicurati di aver selezionato sia i file .ovf che i file .vmdk necessari. Se la selezione di tutti i file richiesti non aiuta, prova le seguenti azioni:
- Copia il/i file .vmdk esportato/i con un modello .ovf nel datastore dell’host ESXi di destinazione.
- Crea una nuova VM con la stessa configurazione della VM di origine e seleziona di utilizzare un disco virtuale esistente nella procedura guidata di creazione della VM.
- Seleziona il/i disco/i virtuale/i esportato/i copiato/i nel datastore di destinazione al passaggio 1.
Migrazione VM utilizzando modelli in vCenter
Allo stesso modo, puoi esportare le VM in modelli OVF ed importare questi modelli come nuove VM in vCenter con VMware vSphere Client.
- Fai clic con il pulsante destro del mouse su una VM e fai clic su Template > Esporta modello OVF nel menu contestuale.
- Inserisci un nome del modello e seleziona le opzioni necessarie nella finestra aperta. Premi OK.
- Scarica i file del modello.
Successivamente, distribuisci un modello OVF su una VM per migrare la macchina virtuale.
- Fai clic con il pulsante destro del mouse sull’host ESXi di destinazione nella vista Hosts and Clusters del client vSphere e fai clic su Deploy OVF Template.
- Completa la procedura guidata per completare la migrazione della VM.
L’alternativa a un modello OVF in vSphere è convertire una VM in un modello VM VMware. Leggi di più su come utilizzare i modelli VM VMware.
Come migrare una VM su un altro host con VMware PowerCLI?
In PowerCLI, puoi utilizzare il cmdlet Move-VM
per migrare le macchine virtuali da un host ESXi a un altro. Di seguito sono riportati 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 utilizzando il cmdlet
Connect-VIServer
. Sostituisci <vCenter_or_ESXi_Host> con l’indirizzo del server appropriato:Connect-VIServer -Server <vCenter_or_ESXi_Host> -User <Username> -Password <Password>
- Otteni informazioni sulla macchina virtuale che desideri migrare utilizzando il cmdlet Get-VM:
$vm = Get-VM -Name "VM_Name"
- Seleziona l’host di destinazione ESXi. Identifica l’host ESXi di destinazione dove desideri spostare la macchina virtuale.
$destinationHost = Get-VMHost -Name "Destination_ESXi_Host"
- Sposta la macchina virtuale. Utilizza il cmdlet Move-VM per avviare la migrazione. Specifica la macchina virtuale ($vm) e l’host di destinazione ($destinationHost).
Move-VM -VM $vm -Destination $destinationHost
- Monitora il progresso della migrazione controllando lo stato del compito utilizzando il cmdlet
Get-Task
.Get-Task | Where-Object {$_.Entity -eq $vm} | Sort-Object StartTime -Descending | Select-Object -First 1
- Opzionalmente, disconnettiti dal server vCenter o dall’host ESXi se non sono necessari ulteriori compiti.
Disconnect-VIServer -Server * -Confirm:$false
Esempio
Guarda un esempio completo che può essere utilizzato come script PowerShell per migrare le VM tra gli host ESXi:
# Connetti al server vCenter di origine o all’host ESXi
Connect-VIServer -Server 192.168.101.103 -User [email protected] -Password Your_Password111
# Recupera informazioni sulla macchina virtuale
$vm = Get-VM -Name "Windows-VM"
# Identifica l’host ESXi di destinazione
$destinationHost = Get-VMHost -Name "192.168.101.102"
# Sposta la macchina virtuale sull’host di destinazione
Move-VM -VM $vm -Destination $destinationHost
# Monitora il progresso della migrazione
Get-Task | Where-Object {$_.Entity -eq $vm} | Sort-Object StartTime -Descending | Select-Object -First 1
# Disconnetti dal server vCenter o dall’host ESXi di origine
Disconnect-VIServer -Server * -Confirm:$false
Assicurati di avere le autorizzazioni necessarie per eseguire la migrazione e sostituisci i segnaposto come <Source_vCenter_or_ESXi_Host>, <Username>, <Password>, <VM_Name> e <Destination_ESXi_Host> nei comandi sopra con i valori effettivi. Adatta lo script in base al tuo ambiente e ai requisiti.
Come migrare una VM su un altro host con VMware Converter
VMware vCenter Converter Standalone è uno strumento che consente di convertire macchine fisiche, VM da altri hypervisor e VM dalle versioni precedenti di VMware vSphere in macchine virtuali per l’uso negli ambienti vSphere. Sebbene questo strumento non sia progettato specificamente per le migrazioni live, il convertitore può essere utilizzato per eseguire una migrazione a freddo di una VM tra gli host ESXi (una VM di origine deve essere spenta durante la migrazione).
Per migrare una VM con VMware Converter:
- Scarica VMware vCenter Converter Standalone dal sito web di VMware e installalo su una macchina che può accedere sia agli host ESXi di origine che di destinazione.
- Assicurati di avere accesso amministrativo sia agli host ESXi di origine che di destinazione.
- Verifica che ci sia una connettività di rete adeguata tra la macchina in cui è in esecuzione VMware Converter e sia agli host ESXi di origine che di destinazione.
- Avvia l’applicazione VMware Converter sulla macchina dove è installata.
- Clicca su Converti macchina.
- Seleziona il tipo di origine. In questo caso, seleziona Spento e macchina virtuale VMware Infrastructure come origine. Inserisci l’indirizzo IP o il nome host dell’host ESXi di origine (ad esempio, 192.168.101.101) e fornisci le credenziali per connetterti.
- Seleziona la macchina virtuale di origine. Scegli la macchina virtuale che desideri migrare dall’elenco delle VM disponibili sull’host ESXi di origine.
- Seleziona il tipo di destinazione. Seleziona macchina virtuale VMware Infrastructure come destinazione. Inserisci l’indirizzo IP o il nome host dell’host ESXi di destinazione (ad esempio, 192.168.101.102), e fornisci le credenziali per connetterti.
- Configura la macchina virtuale di destinazione. Specifica il nome e la posizione della macchina virtuale di destinazione sull’host ESXi di destinazione.
- Seleziona la posizione di destinazione. Seleziona un datastore sull’host ESXi di destinazione e la versione dell’hardware della macchina virtuale. Puoi esaminare e configurare opzioni aggiuntive come il data center, il cluster, il pool di risorse e il datastore per la VM di destinazione.
- Opzioni. Configura opzioni di conversione come il tipo di disco, le impostazioni di rete e le opzioni di personalizzazione se necessario.
- Pronto per Completare. Rivedi il riassunto delle tue selezioni e clicca su Fine per avviare il processo di conversione.
- Monitora il progresso della conversione nell’interfaccia Standalone del Convertitore. Lo strumento spegnerà la VM di origine, copierà i suoi dischi e quindi creerà una nuova VM sull’host di destinazione.
- Una volta completata la conversione, verifica che la VM sia stata creata con successo sull’host ESXi di destinazione.
Leggi di più sull’utilizzo di VMware Converter.
Come migrare una VM su un altro host con NAKIVO Backup & Replication
Puoi copiare una VM da un host ESXi a un altro utilizzando una soluzione di protezione dati per VM e replica di VM. NAKIVO Backup & Replication ti permette di migrare macchine virtuali utilizzando questo scenario. La funzione di replica di VM aiuta a fare questo in modo efficace, anche per le VM in esecuzione.
Questo metodo di migrazione di VM può essere utilizzato in entrambi i casi:
- Gli host ESXi sono gestiti da vCenter
- Gli host ESXi autonomi non sono gestiti da vCenter
Requisiti:
- Tutti gli host ESXi autonomi devono essere aggiunti all’Inventario di NAKIVO.
- Se gli host ESXi sono gestiti da vCenter, il Server vCenter deve essere aggiunto all’Inventario.
Per migrare macchine virtuali con NAKIVO Backup & Replication, esegui le seguenti operazioni.
- Nell’interfaccia web della soluzione NAKIVO, vai su Lavori -> + (Aggiungi un nuovo lavoro) e clicca su Lavoro di replica VMware vSphere .
- Nella Nuova procedura guidata per il lavoro di replica VMware vSphere che si apre, seleziona la VM di origine sull’host ESXi di origine. In questo esempio, viene selezionata Windows-VM su ESXi01 .
- Seleziona l’host ESXi di destinazione, il datastore e la cartella della VM.
- Completa la procedura guidata di replica della VM e attendi fino a quando non viene creata una replica della VM nella posizione di destinazione.
Questo modo hai migrato una VM live su un host diverso. Puoi configurare la replicazione 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 per la protezione dei dati che offre backup, orchestrare DR e automazione, replicazione in tempo reale e ripristino da ransomware con un’installazione di una soluzione e da un’unica interfaccia.
Source:
https://www.nakivo.com/blog/vmware-migration-to-another-host/