Consulenze presso Eunet srl, via dell'Artigianato 15, 09122 Cagliari 070 753609 Lun - Ven 08:30-13:00 / 14.30-17.00

Cluster HA con VMware vSphere

Con VMware vSphere, l'alta disponibilità (HA, High Availability) viene fornita partendo dalla creazione di un cluster di macchine virtuali. Un cluster è semplicemente un gruppo di hosts ESX. Quando si aggiunge un host ESX ad un cluster, le risorse di quell'host diventano risorse del cluster. Le risorse di un cluster sono in sostanza le risorse complessive di tutti i nodi ESX che partecipano al cluster.

L'esistenza di un cluster permette di abilitare le funzioni HA e DRS.

Il servizio VMware HA (High Availability) consente di riavviare in pochi minuti, in modo automatico ed economico, macchine virtuali ed applicazioni bloccate da guasti hardware o da problemi del sistema operativo. In caso di blocco di un host ESX, viene eseguito un riavvio automatico delle macchine virtuali su un altro host. In caso di blocchi sul sistema operativo di una VM, viene riavviata la macchina virtuale sullo stesso host fisico, fornendo quindi alta disponibilità per le applicazioni in esecuzione sulle macchine virtuali.

VMware HA controlla costantemente tutti gli host ESX inseriti all'interno di un pool di risorse (resource pool) e rileva eventuali blocchi sia sugli hosts che sulle macchine virtuali ospitate.

Per il monitoraggio degli hosts viene utilizzato un agente software su ogni nodo ESX che mantiene un heartbeat (battito cardiaco, ossia un continuo scambio di informazioni sull'esistenza in rete) con gli altri nodi dello stesso pool, in modo che la perdita di un solo heartbeat comporti l'avvio automatico, su altri hosts ESX, di tutte le macchine virtuali ferme.

Per quanto riguarda il monitoraggio delle macchine virtuali, e quindi dei sistemi operativi, VMware HA rimane in ascolto delle informazioni di
heartbeat fornite dal pacchetto VMware Tools installato su ogni macchina virtuale . Il sistema interviene quando non viene ricevuto un heartbeat dopo un intervallo di tempo specificato dall'utente.

VMware HA necessita di uno storage condiviso, come sistemi FibreChannel e SAN iSCSI, con file system VMFS. Il file system cluster VMFS di VMware consente infatti a più server ESX di accedere in contemporanea alla stessa macchina virtuale.

VMware HA è una soluzione valida per ambienti che possono sopportare brevi interruzioni di servizio e potenziale perdita di transazioni (nel caso dei database) nel momento del blocco; il downtime è minimizzato ma non annullato. Per annullare completamente il downtime e la potenziale perdita di dati bisogna utilizzare il servizio di Fault Tolerance.

 

Creazione di un cluster

La guida che segue fa riferimento al laboratorio vSphere creato nell'articolo Laboratorio vSphere su VMware Workstation.

1. Con la visualizzazione in modalità "Hosts & Clusters", facciamo clic con il tasto destro sul Datacenter e selezioniamo "New Cluster".

cluster 1

 

2.  Completiamo la procedura guidata di creazione Cluster, ma senza abilitare VMware HA o DRS in questa fase.

 

3. In questo laboratorio di test, EVC non è necessario.

 

4. Lasciamo che il file di swap venga salvato nella stessa directory della relativa macchina virtuale.

 

5. Cliccando su Finish verrà creato un cluster vuoto.

 

6. L'ultimo passaggio consiste nell'inserire all'interno del cluster i due nodi ESX. Per fare questo, trascinare semplicemente gli hosts all'interno del cluster appena creato. Il risultato sarà come quello mostrato in figura.

 

Creazione di una macchina virtuale all'interno del cluster

1. Impostiamo la visualizzazione del vSphere Client in modalità "Datastores", facciamo clic con il tasto destro sul datastore iSCSI_lun0 e selezioniamo "Browse Datastore".

 

2. Carichiamo l'immagine ISO di Ubuntu Server.

 

3. Torniamo nella modalità di visualizzazione "Hosts & Clusters", facciamo clic con il tasto destro sul Cluster e selezioniamo "New Virtual Machine".

 

4. Andiamo avanti con le impostazioni tipiche.

 

5. Diamo un nome alla macchina virtuale e selezioniamo l'unico Datacenter presente.

 

6. Selezioniamo il nodo ESX A, ossia l'192.168.108.10, e proseguiamo.

 

7. Posizioniamo la macchina virtuale sul primo datastore iSCSI disponibile, iSCSI_lun0.

 

8. Selezioniamo la tipologia di sistema operativo, ossia Linux Ubuntu 32 bit.

 

9. Per Ubuntu Server in ambiente di prova, 4 Gb saranno più che sufficienti.

 

10. Ecco il riepilogo della nostra macchina virtuale. Selezioniamo "Edit the virtual machine settings..." e andiamo avanti.

 

11. Sulla periferica CD/DVD, selezioniamo l'immagine ISO di Ubuntu Server caricata in precedenza.

 

12. Avviamo la macchina virtuale, portiamo avanti l'installazione e impostiamo l'indirizzo IP 192.168.108.3 all'interfaccia di rete di Ubuntu Server.

 

Configurazione di VMware HA

1. Facciamo clic con il tasto destro sul cluster, quindi selezioniamo "Edit Settings" per modificarne le proprietà.

 

2. Abilitiamo VMware HA e VMware DRS

 

3. Nelle impostazioni di VMware HA troviamo la voce "Enable Host Monitoring" abilitata in maniera predefinita. Questa funzione consente al servizio VMware HA di monitorare gli "heartbeats" ( battiti cardiaci, ossia un continuo scambio di informazioni sull'esistenza in rete) inviati dagli hosts ESX/ESXi presenti nel cluster. Se un host fallisce, le macchine virtuali in esecuzione su di esso vengono fatte ripartire su un altro host.

 

4. La scheda "Virtual Machine Options" ci permette di controllare l'ordine con cui le macchine virtuali vengono fatte ripartire. Di default la priorità è impostata su "Medium" per tutte le macchine virtuali, ma possiamo modificare quest'impostazione per ogni macchina nel riquadro "Virtual Machine Settings".

 

5. Il servizio "VM Monitoring" riavvia singole macchine virtuali se gli heartbeats dei VMware Tools installati su di esse non vengono ricevuti entro un tempo definito. Si tratta di un servizio che fornisce l'alta affidabilità non più a livello di host ESX, ma a livello applicativo relativamente ad ogni singola macchina.

 

 

Test di VMware HA

Simuliamo ora un blocco sull'host ESX nodo A su cui è in esecuzione la macchina virtuale con Ubuntu Server. VMware HA, rilevata l'indisponibilità dell'host, sposterà la macchina virtuale sull'host ESX nodo B. Ripetiamo ancora una volta che un cluster VMware HA necessita di uno storage condiviso, nel nostro caso la LUN iSCSI-lun0, vista contemporaneamente da tutti gli hosts ESX del cluster. Il file system cluster VMFS di VMware consente infatti a più server ESX di accedere in contemporanea alla stessa macchina virtuale. Pertanto i file della macchina virtuale continuano ad essere ospitati sullo stesso datastore. VMware HA semplicemente manda in esecuzione le macchine virtuali su un altro host mantenendo lo stesso storage condiviso.

1. Dal server Windows 2008 con vCenter Server verifichiamo la raggiungibilità della macchina virtuale in esecuzione sull'host ESX nodo A.

 

2. Simuliamo un'interruzione improvvisa del nodo A.

 

3. Lo spegnimento dell'host comporta l'indisponibilità della macchina virtuale per un tempo inferiore al minuto. Sul vCenter possiamo osservare un allarme che indica l'irraggiungibilità del nodo A, per questo motivo la macchina virtuale con Ubuntu Server è stata spostata e riavviata sul nodo B. VMware HA è una soluzione valida quando si possono tollerare brevi interruzioni di servizio, con downtime minimizzato ma non annullato. Per annullare completamente il downtime (e potenziale perdita di dati) ci si avvale di VMware Fault Tolerance.

 

(0 Votes)