Bilanciamento del carico delle VM Hyper-V
Uno dei principali vantaggi della virtualizzazione di un ambiente è l’uso razionale delle risorse. Quando determinate VM non sono necessarie, possono essere spente; ciò consente di liberare risorse di elaborazione da destinare alle VM che ne hanno bisogno. Hyper-V Failover Cluster consente di ridurre i tempi di inattività delle VM; da edizioni per Windows Server 2016, Hyper-V è in grado di fornire il bilanciamento del carico delle VM tra gli host Hyper-V (che in questo caso sono chiamati nodi di cluster).
Questo post del blog tratta la funzione di bilanciamento del carico delle VM per i cluster Hyper-V Failover ed esplora il principio di funzionamento, i parametri di configurazione e i vantaggi dell’utilizzo 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 dell’utilizzo delle risorse degli host Hyper-V all’interno di un cluster. Il carico delle VM può diventare irregolare nel tempo; di conseguenza, gli host Hyper-V possono diventare più o meno carichi. Ciò, a sua volta, può comportare l’indisponibilità temporanea di alcuni nodi durante l’applicazione di patch o altri processi di manutenzione. Il cluster Hyper-V può fornire risorse di elaborazione 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 è sovraccarico e un altro nodo dispone di risorse di elaborazione libere. Questa funzione viene utilizzata per fornire prestazioni sufficienti alle VM all’interno di un cluster Hyper-V e, di conseguenza, contribuisce a mantenere un’elevata qualità dei servizi forniti che vengono eseguiti sulle VM.
Come funziona il bilanciamento del carico?
Il bilanciamento del carico controlla automaticamente lo stato di un cluster Hyper-V e, in base ai risultati e alle impostazioni rilevate, avvia la migrazione delle VM dal nodo sovraccarico a quello meno carico, al fine di ridistribuire i carichi tra gli host Hyper-V.
Esistono 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 ritardi.
- Controllo dell’utilizzo della CPU (unità di elaborazione centrale). Anche una capacità del processore insufficiente può causare rallentamenti.
Maggiore è il consumo di risorse CPU e RAM da parte di un host, maggiore è il carico dell’host considerato da Hyper-V. Se per un cluster è configurato il bilanciamento periodico del carico, 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, nonché gli host in cui il carico è inferiore al valore di soglia. Se il carico attuale dei nodi del cluster è irregolare e soddisfa le condizioni menzionate, Hyper-V avvierà la migrazione live delle VM tra i nodi. Hyper-V Live Migration consente di eseguire la migrazione delle VM in modo impercettibile e senza tempi di inattività significativi.
È prevista l’integrazione del bilanciamento del carico con un cluster di failover Hyper-V. Per il bilanciamento del carico vengono rispettate le seguenti regole di clustering: Possibili proprietari, Anti-affinità (queste due regole esistevano già prima di Windows Server 2016) e Domini di errore (nuovo).
Possibili proprietari La regola definisce gli host Hyper-V per i quali è possibile eseguire la migrazione. Questa regola definisce solo i possibili proprietari delle VM e può impedire la migrazione delle VM verso host indesiderati.
Anti-affinità Le regole consentono di impedire l’esecuzione di due VM definite sullo stesso host. Ad esempio, se si dispone di due VM con un controller di dominio primario e uno secondario che non devono essere eseguiti sullo stesso host. Questo approccio aumenta l’affidabilità nel caso in cui l’host con uno dei controller di dominio si guasti.
Il dominio di errore è una funzione che definisce un insieme di host Hyper-V che possono essere interessati da alcuni tipi di guasti fisici, ad esempio guasti di rete, interruzioni di corrente, ecc. Gli host Hyper-V con macchine virtuali dello stesso dominio di errore sono solitamente collegati alla stessa fonte di alimentazione e allo stesso switch di rete, quindi possono essere montati sullo stesso rack. Se si verifica un errore, tutte le macchine virtuali dello stesso dominio di errore ne risentiranno. Un cluster può essere suddiviso (diviso) logicamente in più domini di errore e il guasto di un dominio non dovrebbe influire sugli altri domini.
Parametri di configurazione
Il bilanciamento del carico è abilitato per impostazione predefinita per i cluster di failover in Hyper-V 2016. Esistono due tipi di comportamento: “Utilizzare solo quando viene aggiunto un nuovo nodo al cluster” e “Controllare a intervalli di tempo”.
Utilizzare solo quando viene aggiunto un nuovo nodo al cluster. In questo caso, un cluster ottiene più risorse CPU e RAM, estendendo la capacità di elaborazione complessiva. Un sistema valuta il carico di ciascun nodo. Se uno dei nodi è sovraccarico (viene superato un valore di soglia impostato nella configurazione), le VM appropriate vengono migrate dai nodi sovraccarichi ai nodi aggiunti di recente che dispongono di risorse libere. Questa opzione è utile se si aggiunge regolarmente capacità al cluster di failover Hyper-V e può essere utile per i cluster basati sulla tecnologia Spazi di archiviazione. Questa opzione non ha alcun impatto su un cluster se il nodo che era stato precedentemente disconnesso dal cluster (ad esempio per manutenzione) viene ricollegato al cluster.

Controlla con intervalli di tempo. Questa opzione avvia il controllo dei carichi dei nodi del cluster ogni 30 minuti. Se uno qualsiasi dei nodi è sovraccarico (viene superato un valore di soglia impostato nella configurazione), le VM appropriate vengono migrate dai nodi sovraccarichi a quelli che dispongono di risorse libere.

Soglia di aggressività è un parametro che definisce l’aggressività del bilanciamento, basato sull’utilizzo della RAM e della CPU da parte dei nodi. La soglia di aggressività può assumere uno dei tre valori seguenti: Bassa (1), Media (2) e Alta (3). Maggiori dettagli sulla configurazione sono disponibili nella sezione seguente.
Configurazione
Il bilanciamento del carico Hyper-V può essere configurato utilizzando l’interfaccia grafica utente (GUI) o PowerShell. Per configurare il bilanciamento del carico Hyper-V, apri Failover Cluster Manager, fai clic con il pulsante destro del mouse sul nome del cluster e seleziona Proprietà nel menu contestuale.

Nella finestra Proprietà, seleziona la scheda Bilanciatore. Seleziona/deseleziona la casella se desideri abilitare/disabilitare il bilanciamento del carico. È possibile selezionare la modalità di bilanciamento e l’aggressività.

È anche possibile impostare la modalità di bilanciamento o disabilitare il bilanciamento automatico in PowerShell:
(Get-Cluster).AutoBalancerMode =
Dove
| AutoBalancerMode | Descrizione |
| 0 | disabilitato |
| 1 | Bilancia il carico su un nodo quando si unisce |
| 2 (utilizzato per impostazione predefinita) | Bilanciamento del carico sempre attivo |

Per impostare la soglia di aggressività, digitare il seguente comando in PowerShell:
(Get-Cluster).AutoBalancerLevel =
Dove
| AutoBalancerLevel | Aggressività | Descrizione |
| 1 (utilizzato di default) | Basso | Le VM vengono spostate quando il carico dell’host supera l’80% |
| 2 | Medio | Le VM vengono spostate quando il carico dell’host supera il 70% |
| 3 | High | Le VM vengono spostate quando il carico dell’host supera il 60% |

System Center Virtual Machine Manager (SCVMM) può essere utilizzato anche per la gestione dei cluster in alternativa a Failover Cluster Manager. SCVMM include la funzione Ottimizzazione dinamica (disponibile a partire da Windows Server 2012) che ridistribuisce anche una VM tra i nodi del cluster. Se è abilitato il bilanciamento del carico Hyper-V e si utilizza l’ottimizzazione dinamica SCVMM, il bilanciamento del carico verrà disabilitato automaticamente una volta abilitata l’ottimizzazione dinamica in SCVMM. In questo caso, la gestione del bilanciamento del carico viene eseguita da SCVMM al fine di evitare conflitti che potrebbero essere causati dal funzionamento simultaneo di due funzioni e dai relativi problemi. Microsoft consiglia di utilizzare SCVMM con l’ottimizzazione dinamica.
I vantaggi del bilanciamento del carico Hyper-V
Il bilanciamento del carico è una funzionalità utile. I vantaggi dell’utilizzo del bilanciamento del carico per il cluster di failover Hyper-V includono:
- Nessun sovraccarico dei server fisici
- Nessun sovraccarico delle VM
- Migliore reattività delle applicazioni
- Migliora la qualità dei servizi forniti
- Migliora la scalabilità dei servizi e delle applicazioni
- Mitiga i guasti
NAKIVO Backup & Replica e backup di macchine virtuali in cluster
Hyper-V Failover Cluster è una soluzione efficace che può sia migliorare la disponibilità delle macchine virtuali in esecuzione, sia proteggerle da possibili guasti hardware dei nodi. Per proteggere i dati da altri tipi di disastri, è necessario utilizzare il backup delle macchine virtuali & Replication. Le macchine virtuali che risiedono sugli host Hyper-V in cluster possono migrare tra gli host durante eventi quali il failover o il bilanciamento del carico. Di conseguenza, il backup della macchina virtuale necessaria può risultare difficile, poiché sarebbe necessario rilevare l’host su cui risiede la macchina virtuale (backup della macchina virtuale a livello di host è considerato).
NAKIVO Backup & Replication è una soluzione di protezione dei dati delle VM veloce, affidabile e conveniente che supporta i cluster Hyper-V. NAKIVO Backup & Replication è in grado di tracciare automaticamente su quale host risiede la VM una volta aggiunto l’intero cluster all’inventario e, di conseguenza, il processo di creazione di backup VM o repliche dal cluster Hyper-V diventa facile come eseguire il backup delle VM da host Hyper-V autonomi.
Conclusione
Il bilanciamento del carico Hyper-V è un’utile funzione di clustering inclusa in Hyper-V per Windows Server 2016. La funzione consente di utilizzare le risorse hardware in modo più razionale e, di conseguenza, migliora la qualità dei servizi forniti. Le metriche della CPU e della RAM vengono utilizzate per prendere decisioni sulla ridistribuzione dei carichi. Il bilanciamento del carico avvia automaticamente la migrazione delle VM dai nodi sovraccarichi ai nodi con risorse libere quando viene superato un valore di soglia (impostato nelle impostazioni). Non si verificano tempi di inattività significativi grazie all’utilizzo della migrazione live. Il cluster di failover Hyper-V con bilanciamento del carico protegge le VM dai guasti dei nodi, oltre a fornire alta disponibilità e risorse di elaborazione sufficienti per le VM.