Uno dei principali vantaggi della virtualizzazione di un ambiente è l’uso razionale delle risorse. Quando determinate macchine virtuali non sono necessarie, possono essere spente; ciò consente di liberare risorse di calcolo da assegnare alle VM necessarie. Il Failover Cluster di Hyper-V consente di ridurre il tempo di inattività delle macchine virtuali; e a partire dalle edizioni per Windows Server 2016, Hyper-V può fornire bilanciamento del carico delle VM tra i host Hyper-V (chiamati nodi del cluster in questo caso).
Questo post di blog copre la funzionalità di bilanciamento del carico delle VM per i cluster di failover Hyper-V e esplora il principio di funzionamento, i parametri di configurazione e i vantaggi dell’uso del bilanciamento del carico negli ambienti virtuali Hyper-V.
Che cos’è il bilanciamento del carico delle VM Hyper-V e come può essere utilizzata questa funzione?
Il bilanciamento del carico è una funzione che garantisce l’ottimizzazione nell’utilizzo delle risorse dei host Hyper-V all’interno di un cluster. Un carico di VM può diventare irregolare nel tempo; di conseguenza, i host Hyper-V possono diventare più o meno caricati. Ciò, a sua volta, può portare a temporanea indisponibilità di alcuni nodi durante il patching o altri processi di manutenzione. Il cluster Hyper-V può fornire risorse di calcolo sufficienti per le VM con la funzione di bilanciamento del carico in cui le VM vengono migrate da un nodo all’altro quando un nodo è sovraccaricato e un altro nodo ha risorse di calcolo libere. Questa funzione viene utilizzata per garantire prestazioni adeguate per le VM all’interno di un cluster Hyper-V e, di conseguenza, aiuta a mantenere un’alta qualità per i servizi forniti che girano sulle VM.
Come funziona il bilanciamento del carico?
Il Bilanciamento del Carico controlla automaticamente lo stato di un cluster Hyper-V, e quindi, a seconda dei risultati e delle impostazioni trovate, inizia la migrazione delle VM dal nodo sovraccarico al nodo meno carico per redistribuire i carichi tra gli host Hyper-V.
Ci sono due metodi che possono essere utilizzati per controllare i carichi dell’host:
- Controllo dell’utilizzo della RAM (memoria ad accesso casuale). La memoria insufficiente su un host Hyper-V è uno dei problemi più comuni e può causare rallentamenti.
- Controllo dell’utilizzo della CPU (unità centrale di elaborazione). Una capacità di elaborazione insufficiente può anche causare rallentamenti.
Più risorse CPU e RAM sono consumate da un host, più carico l’host è considerato da Hyper-V. Se il bilanciamento del carico periodico è configurato per un cluster, allora il carico degli host viene valutato ogni 30 minuti. È anche possibile valutare il carico degli host su richiesta. Un sistema identifica gli host in cui il carico supera la soglia definita, così come gli host in cui il carico è al di sotto del valore soglia. Se il carico corrente dei nodi del cluster è disomogeneo e soddisfa le condizioni menzionate, Hyper-V avvierà la migrazione live delle VM tra i nodi. La migrazione live di Hyper-V consente di eseguire la migrazione delle VM in modo impercettibile e senza tempi di inattività significativi.
È fornita l’integrazione del Bilanciamento del Carico con un cluster di failover Hyper-V. Le seguenti regole di clustering sono rispettate per il bilanciamento del carico: Possessori Possibili, Anti-affinità (queste due regole esistevano prima di Windows Server 2016), e Domini di Errore (nuovi).
La regola dei Proprietari Possibili definisce gli host Hyper-V per i quali può essere eseguita la migrazione. Questa regola definisce solo i possibili proprietari delle VM e può impedire la migrazione delle VM verso host indesiderati.
Le regole di anti-affinità ti consentono di impedire l’esecuzione di due VM definite sullo stesso host. Ad esempio, se hai due VM con entrambi un controller di dominio primario e uno secondario che non devono essere eseguiti sullo stesso host. Questo approccio aumenta la affidabilità nel caso in cui l’host con uno dei controller di dominio fallisca.
Il dominio di errore è una funzionalità che definisce un insieme di host Hyper-V che possono essere influenzati da alcuni tipi di guasti fisici, ad esempio, guasti di rete, guasti di alimentazione, ecc. Gli host Hyper-V con VM dello stesso dominio di errore sono di solito collegati alla stessa fonte di alimentazione e allo stesso switch di rete, quindi possono essere montati sullo stesso rack. Se si verificano guasti, allora tutte le VM dello stesso dominio di errore sarebbero interessate. Un cluster può essere logicamente diviso (diviso) in più domini di errore e il fallimento di un dominio non dovrebbe influenzare gli altri domini.
Parametri di Configurazione
Il Bilanciamento del Carico è abilitato per impostazione predefinita per i Cluster di Failover in Hyper-V 2016. Ci sono due tipi di comportamento:”Usa solo quando viene aggiunto un nuovo nodo al cluster” e “Controlla con intervalli di tempo”.
Utilizzare solo quando viene aggiunto un nuovo nodo al cluster. In questo caso, un cluster ottiene più risorse CPU e RAM, e estende la capacità di calcolo complessiva. Un sistema valuta il carico di ogni nodo. Se uno qualsiasi dei nodi è sovraccarico (viene superato un valore di soglia impostato nella configurazione), allora le VM appropriate vengono migrate dai nodi sovraccarichi ai nodi recentemente aggiunti che dispongono di risorse libere. Questa opzione è utile se si aggiunge regolarmente capacità al proprio cluster Hyper-V Failover, e può essere utile per i cluster basati sulla tecnologia Storage Spaces. Questa opzione non ha un impatto su un cluster se il nodo che era precedentemente disconnesso dal cluster (per manutenzione, ad esempio) viene riconnesso al cluster.
Controlla con intervalli di tempo. Questa opzione avvia il controllo del carico dei nodi del cluster ogni 30 minuti. Se uno qualsiasi dei nodi è sovraccarico (viene superato un valore di soglia impostato nella configurazione), allora le VM appropriate vengono migrate dai nodi sovraccarichi ai nodi che dispongono di risorse libere.
La soglia di aggressività è un parametro che definisce l’aggressività del bilanciamento, che si basa sull’utilizzo di RAM e CPU da parte dei nodi. La soglia di aggressività può essere uno dei tre valori: Bassa (1), Media (2) e Alta (3). È possibile visualizzare ulteriori dettagli sulla configurazione nella sezione sottostante.
Configurazione
Il bilanciamento del carico di Hyper-V può essere configurato utilizzando sia l’interfaccia grafica (GUI) che PowerShell. Per configurare il bilanciamento del carico di Hyper-V, inizia aprendo Gestione cluster di failover, fai clic con il pulsante destro del mouse sul nome del tuo cluster e seleziona Proprietà nel menu contestuale.
Nella finestra Proprietà, seleziona la scheda Bilanciatore. Seleziona/Deselziona la casella se vuoi abilitare/disabilitare il bilanciamento del carico. Puoi selezionare la modalità di bilanciamento e l’aggressività.
Puoi anche impostare la modalità di bilanciamento o disabilitare il bilanciamento automatico in PowerShell:
(Get-Cluster).AutoBalancerMode = <valore>
Dove <valore> può essere 0, 1 o 2 (vedi tabella sotto).
AutoBalancerMode | Descrizione |
0 | Disabilitato |
1 | Bilancia il carico su un nodo quando si unisce |
2 (usato per default) | Bilancia sempre il carico |
Per impostare la soglia di aggressività, digita il seguente comando in PowerShell:
(Get-Cluster).AutoBalancerLevel = <valore>
Dove <valore> può essere 1, 2 o 3 (vedi tabella sotto).
AutoBalancerLevel | Aggressività | Descrizione |
1 (usato per default) | Bassa | Le VM vengono spostate quando il carico dell’host è superiore all’80% |
2 | Media | Le VM vengono spostate quando il carico dell’host è superiore al 70% |
3 | Alta | Le VM vengono spostate quando il carico dell’host è superiore al 60% |
I vantaggi dell’equilibratura del carico di Hyper-V
L’equilibratura del carico è una funzione utile. I vantaggi dell’utilizzo dell’equilibratura del carico per il cluster di failover Hyper-V includono:
- Nessun sovraccarico dei server fisici
- Nessun sovraccarico delle VM
- Miglioramento della risposta delle applicazioni
- Miglioramento della qualità dei servizi forniti
- Miglioramento della scalabilità dei servizi e delle applicazioni
- Mitigazione dei guasti
NAKIVO Backup & Replication e il backup delle VM clusterizzate
Il cluster di failover Hyper-V è una soluzione efficace che può migliorare sia la disponibilità delle VM in esecuzione, sia proteggerle contro possibili guasti hardware dei nodi. Per proteggere i dati contro altri tipi di disastro, è necessario utilizzare il backup e la replica delle VM. Le VM residenti sui host clusterizzati Hyper-V possono migrare tra i host durante eventi come il failover o il bilanciamento del carico. Di conseguenza, il backup della VM necessaria può apparire difficile perché sarebbe necessario rilevare l’host su cui risiede la VM (il backup della VM a livello di host è considerato).
NAKIVO Backup & Replication è una soluzione di protezione dei dati VM veloce, affidabile e conveniente che supporta i cluster Hyper-V. NAKIVO Backup & Replication può tracciare automaticamente su quale host risiede la VM una volta aggiunto l’intero cluster all’inventario e, di conseguenza, il processo di effettuare backup delle VM o repliche dal cluster Hyper-V diventa facile come il backup delle VM da host Hyper-V autonomi.
Conclusione
La Bilanciamento del Carico di Hyper-V è una funzionalità di clustering utile inclusa in Hyper-V per Windows Server 2016. La funzione ti aiuta a utilizzare in modo più razionale le risorse hardware e, di conseguenza, migliora la qualità dei servizi forniti. Vengono utilizzate metriche CPU e RAM per la creazione di decisioni per il riequilibrio dei carichi. Il Bilanciamento del Carico avvia automaticamente la migrazione della VM dai nodi sovraccarichi ai nodi con risorse gratuite quando viene superato un valore di soglia (impostato in configurazione). Non c’è un tempo di inattività significativo perché viene utilizzata la Live Migration. Il cluster Hyper-V Failover con bilanciamento del carico protegge le tue VM contro il guasto del nodo, oltre a fornire disponibilità elevata e risorse di calcolo sufficienti per le VM.
Source:
https://www.nakivo.com/blog/hyper-v-virtual-machine-load-balancing/