sabato 11 agosto 2012

HA heartbeat datastores

Nella versione 5.0 di vSphere il prodotto HA è stato interamente riscritto. Una delle novità più interessanti è l’utilizzo dello storage come verifica dello stato di un host: nel momento in cui l'host master non riceve gli heartbeat da un host slave attraverso la management network, vengono utilizzati gli 'heartbeat datstores' per verificare l'effettivo stato dello slave e delle sue  VM.

All'interno  degli   'heartbeat datstores'  esiste la cartella /.vSphere-HA, in essa sono contenuti alcuni files necessari al meccanismo del datastore heartbeating:

Il file host-<number>-hb determina  la host availability: ne viene creato uno per host e ogni host acceso lo tiene in uso esclusivo (locked). Il file host-<number>-poweron determina la virtual machine availability: ne viene creato uno per host e contiene la lista delle macchine accese su quel host. In tutti i datastores (compresi quelli di heartbeat) esiste il file  protectedlist che contiene il path delle VM protette da un master (macchine accese), il file viene aggiornato dal master su input del vCenter e viene utilizzato esclusivamente (locked)  dal master. Viene utilizzato da un nuovo master, eletto dopo il fallimento di un master precedente, per determinare l’elenco delle VM protette.

Quando uno slave smette di comunicare col master attraverso la rete, il master verifica se il file host-<number>-hb è locked, se non lo è l'host viene dichiarato caduto e il master riavvia le macchine virtuali che stavano su quell'host.

Se uno slave smette di comunicare col master attraverso la rete ed il master verifica la presenza del lock sul file host-<number>-hb, il master intuisce che  quell'host è isolato o partizionato ed inizia a monitorarne il relativo  host-<number>-poweron. Lo slave isolato scrive un bit all'interno del proprio   host-<number>-poweron in modo che il master possa avere una conferma dello  stato di isolamento, poi l'host isolato verifica se esiste un master che ha in carico le proprie vm, verificando se il file protectedlist è in uso (locked)  da un master, e, se lo è, eseguirà l'operazione specificata nel parametro isolation response, se l’azione consiste nello spegnimento della VM, lo slave toglierà qualla macchina dal  file host-<number>-poweron e scriverà un per-virtual machine file in una “poweredoff” directory, il master si accorgerà di questo cambio di stato così e riavvierà la VM.

Nessun commento:

Posta un commento