Da sempre c’è un pò di confusione sui parametri “Host isolation response” e “VM Restart Priority” di un cluster HA. Mi capita sempre un cliente che chiede “ma se un nodo va offline che succede alle sue virtual machines?”, e siccome a furia di discuterne rischio di andare in confusione assieme al cliente, vediamo di fare un piccolo ripasso per la sanità mentale di tutti, mia compresa 🙂
Innanzitutto il parametro “Host isolation response”: ricordiamoci che vale solo per quell’host che rileva di essere isolato dagli altri nodi del cluster, i quali continueranno a operare secondo i parametri di timeout prima di dichiarare isolato quel nodo e riavviare le sue virtual machines. In sostanza, dichiara “unicamente” che farsene delle virtual machines rimaste isolate: power off, shutdown o leave powered on. Questo parametro può essere definito per tutto il cluster o per la singola VM, e il secondo se presente ha la precedenza.
Trascorso il “failure detection time”, sia che sia il default di 15 secondi sia che sia stato modificato, gli altri nodi del cluster avviano quelle macchine il cui parametro “VM Restart Priority” sia impostato su “Restart high priority” o “Restart low priority”. Verranno invece lasciate spende se impostate “Do not restart”. Questo parametro riguarda sia VM presenti su host isolati che bloccati, dato che ovviamente gli altri nodi non possono sapere per quale motivo l’host non è più raggiungibile.
Come dobbiamo agire quindi? Nel file system VMFS una virtual machine accesa da un host presenta i propri file in lock, impedendo a qualsiasi altro nodo di avviarla. Pertanto, per essere sicuri che una VM venga riavviata dal cluster HA dovremo impostare il suo isolation response su power off o shutdown, in modo da togliere il lock ai suoi files. Gli altri nodi del cluster tenteranno ciclicamente di riavviare la VM fintanto che il file di lock persiste o l’host ritornerà a connettersi al vCenter Server. L’host isolato per contro, una volta deciso di arrestare le VM, avvierà la procedura di shut down sfruttando i vmware tools e dopo 5 minuti spegnerà le macchine se queste non si saranno ancora spente (attenzione quindi alle VM senza vmware tools installati o a macchine particolarmente lente a spegnersi, una su tutte quelle con Exchange 2003).
Le cose sono state oltretutto cambiate dalla versione 3.5 U2, dato che il nuovo parametro di default per l’isolation response è “leave powered on”. VMware giustifica la decisione dall’esigenza di dare priorità all’esecuzione delle VM rispetto all’integrità del cluster: può capitare che una mancanza di connettività della rete di management si protragga per più di 15 secondi, ma la rete dati su cui la VM risponde sia perfettamente funzionante. In queto modo evitiamo di dare noi stessi un disservizio spegnendo una VM solo perchè il suo host non è momentaneamente contattabile.
Ovvio che questi problemi, come fatto notare ad un cliente, si risolvono semplicemente ridondando le reti di comunicazione del cluster!