Cerca nel blog

venerdì 7 ottobre 2011

Architettura di vMotion in vSphere 5

VMware vMotion è il prodotto che permette lo spostamento a caldo delle VM, operazione chiamata “live migration”, disponibile nel paniere delle soluzioni VMware già a partire dal 2003. Con questo software è possibile ridurre i downtime per le VM in caso di manutenzioni pianificate. vMotion è inoltre alla base di tecnologie come vSphere Distributed Resource Scheduler (DRS) e vSphere Distributed Power
La migrazione live di una VM comporta il completo spostamento dello “stato di esecuzione” della macchina da un host sorgente verso quello di destinazione attraverso la rete. Lo stato di esecuzione comprende principalmente 3 componenti:
  • lo stato dei device virtuali, ovvero lo stato della CPU, degli adattatori di rete e per i dischi così come la SVGA
  • le connessioni a device esterni quali la rete e periferiche SCSI
  • la memoria “fisica” della macchina virtuale
Con vSphere 5 questa funzionalità è stata ulteriormente arricchita. Per le prime 2 componenti vMotion ha, nel corso delle sue edizioni dimostrato la sua efficacia, la sfida per vSphere 5 è costituita del terzo elemento, la memoria della VM, in quanto una VM con virtual HW 8 può arrivare ad avere fino a 1 TB di RAM.
Il trasferimento della RAM avviene attraverso diverse fasi:
  • Fase 1: Guest Trace Phase. La VM viene “osservata” e vengono “marcate” le pagine di memoria per tener traccia delle modifiche apportare del guest durante il trasferimento. Marcare tutta la memoria può causare un piccolo, ma evidente, calo nelle prestazioni. Questo impatto è generalmente proporzionale alla dimensione complessiva della memoria del guest OS.
  • Fase 2: Precopy Phase. La VM continua a lavorare e modificare lo stato della memoria sull’host sorgente, in questa fase il contenuto della memoria viene copiato verso l’host di destinazione con un processo ciclico. La prima iterazione copia tutta le memoria, quelle successive copiano solo le pagine di memoria che sono state modificare dalla precedente iterazione. Il numero dei cicli di copia ed il numero di pagine copiate da ogni iterazione dipende da quanto attivamente la memoria viene cambiata dal guest OS sull’host sorgente. La maggior parte del lavoro di vMotion sulla rete viene fatta in questa fase, senza un significativo impatto sulla CPU.
  • Fase 3: Switchover Phase. E’ la fase finale nella quale la VM viene temporaneamente arrestata (messa in quiescenza) sull’host sorgente e l’ultima parte di memoria modificata viene copiata, simultaneamente la VM riprende l’attività sull’host di destinazione. Durante questa fase il sistema operativo guest “sperimenta un breve momento di pausa”, generalmente l’intero processo impiega meno di un secondo. Questa fase è la più critica dal punto di vista delle performance, si sono osservati forti aumenti nella latenza anche se temporanei. L’impatto è variabile ed è in funzione di diversi fattori quali: infrastruttura di rete, configurazione dello storage condiviso, hardware dell’host fisico, versione di vSphere e carico di lavoro nel guest.
Per maggiori dettagli consultare la guida: “VMware vSphere vMotion Architecture, Performance and Best Practices in VMware vSphere 5

Nessun commento: