Quando si esegue la migrazione di una macchina virtuale con vSphere vMotion, l’intero stato della VM viene traslato da un host ad un altro. Per stato di una VM si intende il contenuto della sua memoria e tutte le informazioni relative all’hardware, quali BIOS, elenco dispositivi, CPU, interfacce di rete e relativi MAC-address. Prima di iniziare la migrazione della VM, il vCenter Server effettuerà una pre-verifica dei requisiti per il vMotion: gli avvisi appariranno in giallo, e consentiranno di proseguire, mentre gli errori appariranno in rosso, e non consentiranno la migrazione.
Funzionamento di vSphere vMotion
Una migrazione vMotion prevede i passaggi seguenti:
- La memoria della macchina virtuale viene copiata dall’host sorgente a quello di destinazione, attraverso la rete, con gli utenti che possono continuare ad accedere alla VM. Di conseguenza è possibile una modifica di pagine di memoria anche durante il vMotion; il meccanismo prevede che di queste modifiche sia tenuta traccia nell’host sorgente, su una memory bitmap.
- Prima che sia completamente trasferita sull’host di destinazione, la VM è portata in uno stato di quiescenza, dove non sono più possibili modifiche. Nella fase di quiescenza sono trasferiti sull’host di destinazione lo stato dei dispositivi e la memory bitmap.
- Non appena la VM entra in quiescenza, viene avviata nell’host di destinazione; la rete è informata del cambio di switch tramite protocollo RARP (Reverse ARP) e, terminata la fase di sincronizzazione del punto precedente, gli utenti potranno accedere alla macchina ospitata sul nuovo host.
Procedura di migrazione tramite vSphere Client
Fare clic con il tasto destro sulla macchina accesa e selezionare la voce Migrate.
In caso di storage condiviso, nella procedura guidata selezionare la voce Change host. In tal caso, dopo la migrazione, i file della VM saranno sempre nello stesso storage. Se invece la VM risiede su un datastore locale, sarà necessario procedere con un cambio simultaneo di host e datastore, selezionando la voce Change both host and datastore.
È possibile impostare la priorità del vMotion utilizzando le opzioni High Priority e Standard Priority.
- High Priority – negli host con ESX/ESXi versioni 4.1 e successive, vCenter Server cerca di riservare le risorse ad entrambi gli host di origine e di destinazione, affinché siano disponibili a tutte le migrazioni simultanee. Il vCenter Server garantisce una quota maggiore di risorse CPU alle migrazioni ad alta priorità rispetto alle migrazioni a priorità standard. In ogni caso le migrazioni saranno portate a termine indipendentemente dalle risorse riservate.
- Standard Priority – negli host con ESX/ESXi versioni 4.1 e successive, vCenter Server riserva le risorse ad entrambi gli host di origine e di destinazione, affinché siano rese disponibili a tutte le migrazioni simultanee. Il vCenter Server concede una quota minore di risorse CPU alle migrazioni a priorità standard rispetto alle migrazioni ad alta priorità. In ogni caso le migrazioni saranno portate a termine indipendentemente dalle risorse riservate.
Requisiti per le migrazioni con vSphere vMotion
La migrazione di una VM richiede una corretta configurazione della rete sia per l’host sorgente, sia per quello di destinazione. In particolare si consiglia quanto segue:
- su ogni host, configurare un’interfaccia VMkernel per il vMotion;
- utilizzare interfacce fisiche Gigabit per il vMotion; è preferibile che gli host abilitati al vMotion siano attestati su una rete Gigabit Ethernet;
- se nell’host sono disponibili solo due interfacce di rete:
- dedicare l’interfaccia gigabit al vMotion, e nell’altra interfaccia utilizzare le VLAN per dividere il traffico delle VM dal traffico di management;
- in alternativa, per una miglior disponibilità, combinare entrambe le interfacce in teaming, e utilizzare le VLAN per la separazione del traffico: una o più VLAN per il traffico delle VM e una per il vMotion;
- assicurarsi che la rete su cui è attestata una VM sia presente anche nell’host di destinazione; durante la migrazione il vCenter Server assegna le macchine virtuali ad un determinato switch sulla base del nome assegnato al port group, nome che deve avere corrispondenza tra host sorgente e host di destinazione;
- perché la migrazione con vMotion possa essere portata avanti, la VM non deve trovarsi su switch privi di uplink (virtual intranet);
Per quanto riguarda gli host, i requisiti per una migrazione vMotion sono i seguenti:
- se si esegue il vMotion classico, con cambio del solo host, è richiesta la visibilità dello stesso datastore da entrambi gli host (sorgente e destinazione);
- compatibilità tra host a livello di CPU; ad esempio, se la CPU dell’host sorgente supporta le estensioni SSE4.1 e questo supporto non esiste nella CPU di destinazione, la migrazione vMotion fallisce;
- se la VM ha dischi RDM, questi devono essere visibili e accessibili anche dall’host di destinazione; inoltre i file di mapping dei dischi RDM devono trovarsi nello stesso datastore;
- la VM da migrare non può avere immagini CDROM e floppy montate.