Se in un host si verifica un errore e le relative macchine virtuali devono essere riavviate, è possibile controllare l'ordine di riavvio delle macchine virtuali tramite l'impostazione della priorità di riavvio. È inoltre possibile configurare la modalità di risposta di vSphere HA se gli host perdono la connettività di rete di gestione con altri host utilizzando l'impostazione di risposta dell'isolamento host. Quando vSphere HA riavvia una macchina virtuale dopo un errore, vengono inoltre considerati altri fattori.
Le seguenti impostazioni si applicano a tutte le macchine virtuali nel cluster in caso di errore o isolamento dell'host. È inoltre possibile configurare eccezioni per macchine virtuali specifiche. Vedere Personalizzazione di una singola macchina virtuale.
Risposta dell'isolamento host
La risposta dell'isolamento host determina ciò che succede quando un host in un cluster vSphere HA perde le connessioni della rete di gestione ma continua a funzionare. È possibile utilizzare la risposta dell'isolamento per fare in modo che vSphere HA spenga le macchine virtuali in esecuzione in un host isolato e le riavvii in un host non isolato. Le risposte dell'isolamento host richiedono che lo stato di monitoraggio dell'host sia attivato. Se lo stato di monitoraggio dell'host è disattivato, anche le risposte dell'isolamento host sono sospese. Un host stabilisce di essere isolato quando non è in grado di comunicare con gli agenti in esecuzione negli altri host, né di eseguire il ping degli indirizzi dell'isolamento. L'host esegue quindi la risposta dell'isolamento. Le risposte sono Spegni e riavvia macchine virtuali oppure Arresta e riavvia macchine virtuali. È possibile personalizzare questa proprietà per le singole macchine virtuali.
Per utilizzare l'impostazione Arresta e riavvia macchine virtuali, è necessario installare VMware Tools nel sistema operativo guest della macchina virtuale. L'arresto della macchina virtuale offre il vantaggio di conservarne lo stato. L'arresto è migliore rispetto allo spegnimento della macchina virtuale, che non scarica le modifiche più recenti del disco o le transazioni di commit. Il failover delle macchine virtuali in corso di arresto richie più tempo mentre l'arresto viene completato. Le macchine virtuali che non vengono arrestate in 300 secondi o nel tempo specificato nell'opzione avanzata das.isolationshutdowntimeout, vengono spente.
Dopo aver creato un cluster di vSphere HA, è possibile sostituire le impostazioni del cluster predefinite per la priorità di riavvio e la risposta dell'isolamento per macchine virtuali specifiche. Tali sostituzioni sono utili in macchine virtuali utilizzate per attività specifiche. Ad esempio, potrebbe essere necessario accendere le macchine virtuali che forniscono servizi dell'infrastruttura come DNS o DHCP prima di altre macchine virtuali nel cluster.
Una condizione di "split-brain" di una macchina virtuale può verificarsi quando un host viene isolato o partizionato da un host primario che non può comunicare con tale host utilizzando i datastore heartbeat. In questa situazione, l'host primario non può determinare se l'host è attivo e quindi lo dichiara inattivo. L'host primario prova quindi a riavviare le macchine virtuali in esecuzione nell'host isolato o partizionato. Questo tentativo riesce se le macchine virtuali rimangono in esecuzione nell'host isolato/partizionato e tale host perde l'accesso ai datastore delle macchine virtuali dopo che è stato isolato o partizionato. Esiste quindi una condizione di split brain perché sono presenti due istanze della macchina virtuale. Tuttavia, solo un'istanza può leggere o scrivere i dischi virtuali della macchina virtuale. La protezione del componente della macchina virtuale può essere utilizzata per impedire questa condizione di split brain. Quando si attiva VMCP con l'impostazione aggressiva, monitora l'accessibilità al datastore da parte delle macchine virtuali accese e arresta quelle che perdono l'accesso ai rispettivi datastore.
Per risolvere questa situazione, ESXi genera una domanda sulla macchina virtuale che ha perso i blocchi del disco quando l'host esce dall'isolamento e non può riacquisire i blocchi del disco. vSphere HA risponde automaticamente a questa domanda, consentendo lo spegnimento dell'istanza della macchina virtuale che ha perso i blocchi del disco, lasciando solo l'istanza che ha i blocchi del disco.
Dipendenze della macchina virtuale
È possibile creare dipendenze tra gruppi di macchine virtuali. A tale scopo, è innanzitutto necessario creare i gruppi di macchine virtuali in vSphere Client passando alla scheda Configura del cluster e selezionando Gruppi macchine virtuali/host. Una volta creati i gruppi, è possibile creare regole di dipendenze di riavvio tra i gruppi passando a Regole per macchina virtuale/host e nel menu a discesa Tipo, selezionare Da macchine virtuali a macchine virtuali. Queste regole possono specificare che determinati gruppi di macchine virtuali non possono essere riavviati finché altri gruppi di macchine virtuali specificati non sono pronti.
Fattori considerati per i riavvii delle macchina virtuali
Dopo un errore, l'host primario del cluster tenta di riavviare le macchine virtuali interessate identificando un host che può accenderle. Quando sceglie un host di questo tipo, l'host primario considera diversi fattori.
- Accessibilità dei file
- Prima di poter avviare una macchina virtuale, i file di tale macchina devono essere accessibili da uno degli host di cluster attivi con cui la macchina primaria può comunicare tramite la rete
- Compatibilità tra host e macchina virtuale
- Se sono presenti host accessibili, la macchina virtuale deve essere compatibile con almeno uno di tali host. Il set di compatibilità per una macchina virtuale include l'effetto delle regole di affinità tra macchine virtuali e host richieste. Ad esempio, se una regola consente l'esecuzione di una macchina virtuale solo in due host, viene considerata per il posizionamento in tali due host.
- Prenotazioni delle risorse
- Tra gli host in cui la macchina virtuale può essere eseguita, almeno uno deve avere capacità disponibile sufficiente a soddisfare il sovraccarico di memoria della macchina virtuale e tutte le prenotazioni delle risorse. Vengono considerati quattro tipi di prenotazione: CPU, memoria, vNIC e flash virtuale. Per accendere la macchina virtuale devono inoltre essere disponibili porte di rete sufficienti.
- Limiti host
- Oltre alle prenotazioni delle risorse, una macchina virtuale può essere posizionata in un host solo se non viola il numero massimo di macchine virtuali consentite o il numero di vCPU in uso.
- Vincoli delle funzionalità
- Se è stata impostata l'opzione avanzata che richiede vSphere HA per applicare regole di anti-affinità da macchina virtuale a macchina virtuale, vSphere HA non viola la regola. Inoltre, vSphere HA non viola alcun limite per host configurato per le macchine virtuali con Fault Tolerance.
Se nessun host soddisfa le considerazioni precedenti, l'host primario emette un evento che indica che non sono disponibili risorse sufficienti per consentire a vSphere HA di avviare la macchina virtuale e riprova quando le condizioni del cluster sono cambiate. Ad esempio, se la macchina virtuale non è accessibile, l'host primario riprova dopo una modifica dell'accessibilità dei file.