Uno dei requisiti fondamentali per le infrastrutture virtuali, specialmente nei grandi data center, è l’eliminazione di un singolo punto di guasto e garantire l’alta disponibilità di servizi e app. In un ambiente Hyper-V, è disponibile la tecnologia Microsoft Failover Clustering per configurare più host Hyper-V (o nodi) che possono prendere il controllo del carico se un host fallisce.
In questa guida passo-passo, impara gli aspetti pratici della configurazione del clustering di failover di Hyper-V, inclusa la configurazione iniziale dell’host e della rete, l’installazione del ruolo Hyper-V e la creazione del cluster.
Configurazione dell’host Hyper-V
Per preparare gli host per il clustering di failover, dovremmo selezionare un sistema operativo da installare su tutti gli host che verranno utilizzati in un cluster specifico. Poi dobbiamo eseguire una configurazione di base dell’ambiente, inclusi tutti gli host, per prepararli alla configurazione del cluster Hyper-V.
Selezione del sistema operativo da installare
In questa configurazione, stiamo utilizzando due installazioni di Windows Server 2016 Server Core per ridurre al minimo le parti in movimento e migliorare la sicurezza. Utilizzare l’installazione di Windows Server 2016 Server Core elimina molti componenti non necessari e riduce l’impronta. La maggiore difficoltà di amministrazione con Server Core viene compensata dai vantaggi di efficienza e sicurezza. È anche possibile utilizzare le versioni più recenti di Windows Server, come Windows Server 2019 per la configurazione del cluster Hyper-V.
Nota: Per l’amministrazione e la configurazione di Windows Server 2016 Server Core, utilizziamo PowerShell. È tecnicamente possibile utilizzare Windows Server con Desktop Experience per configurare il clustering di failover di Hyper-V.
Configurazione iniziale dell’ambiente
Prima di pensare agli host Hyper-V come a un cluster, dobbiamo eseguire la configurazione iniziale degli host. Questo coinvolge gran parte degli stessi passaggi per preparare qualsiasi server Windows: denominazione, configurazione di rete, patching, ecc. La pianificazione della rete, in particolare, è cruciale in un cluster Windows poiché consente una comunicazione adeguata tra i cluster e la comunicazione con lo storage condiviso.
- Denominazione. Entrambi i server sono stati denominati e uniti al dominio di laboratorio. Nota che a partire da Windows Server 2016, unirsi a un dominio non è più un prerequisito. Le configurazioni del server sono visualizzate negli screenshot di seguito per il primo server H1. Le configurazioni per il secondo server H2 sono simili.
- Aggiornamenti. È necessario aggiornare tutti i nodi potenziali del cluster Hyper-V al livello di patch più recente disponibile secondo le migliori pratiche del clustering Hyper-V. L’installazione degli aggiornamenti sugli host Hyper-V migliora la sicurezza del nostro sistema. Potrebbe essere necessario riavviare Windows per completare l’installazione degli aggiornamenti.
- Coerenza. Come pratica consigliata, vogliamo che tutti i nostri nodi potenziali del cluster siano configurati in modo identico tranne per i nomi dei computer e gli indirizzi IP. Questo assicura che tutto sia standardizzato tra gli host, inclusi i livelli di patch, le reti, ecc.
Pianificazione della rete
Una pianificazione adeguata dell’ambiente mitiga molti rischi futuri. Per la rete del laboratorio in questo scenario, sono stati configurati quattro adattatori di rete per ogni host. Entrambi gli host del laboratorio non stanno facendo alcun raggruppamento delle schede di rete per semplicità. Tuttavia, si vorrebbe raggruppare i propri adattatori in produzione per evitare di avere un punto singolo di fallimento in una qualsiasi rete.
Per la nostra configurazione di laboratorio, abbiamo:
- Traffico di gestione e VM
- iSCSI
- Traffico Cluster Privato
- Migrazione Live
Con le reti sopra indicate in mente, assegniamo indirizzi IP a ciascun server nei nostri intervalli di subnet desiderati. Le VLAN sono anche una considerazione qui, poiché molto probabilmente si vorrà allineare le proprie subnet alle VLAN predisposte. Questo dovrebbe essere pensato in anticipo.
Configurazione Target di Archiviazione iSCSI
Lo storage del cluster Hyper-V è un punto cruciale per la costruzione di un cluster. Per lo storage iSCSI in un ambiente di laboratorio, in questo esempio, stiamo utilizzando FreeNAS per creare target iSCSI e presentarli al nostro cluster Hyper-V. Naturalmente, la configurazione di iSCSI sull’hardware del fornitore a scelta o su software iSCSI può essere diversa a seconda del fornitore, quindi seguire sempre i metodi definiti per ciascuno.
Nota: FreeNAS è un sistema operativo basato su FreeBSD universale e flessibile che puoi installare su un computer per utilizzarlo come NAS. Puoi creare uno storage condiviso per cluster Hyper-V o costruire un dispositivo di backup con FreeNAS e la soluzione NAKIVO.
Di seguito è riportata una panoramica rapida di come viene configurato lo storage per il failover clustering di Hyper-V utilizzando FreeNAS. Non approfondiremo tutti i dettagli su come configurare FreeNAS per iSCSI. Tuttavia, ecco le impostazioni di base per presentare un paio di target iSCSI ai nostri host Hyper-V.
- Avvia il servizio iSCSI in FreeNAS e configura la tua rete per il network di storage in modo che corrisponda a ciò che intendi utilizzare per gli host Hyper-V.
- Controlla la configurazione IQN di base per i target che creeremo.
- Configura un portale in FreeNAS per ascoltare il traffico iSCSI.
- Configura i nomi dei target iSCSI. Nel nostro dispositivo FreeNAS, stiamo configurando:
- a quorum volume to be used as a disk witness
- a volume to be used for the Hyper-V cluster shared volume to house our VMs
Nota: Il quorum è il meccanismo in un cluster Windows che viene utilizzato per garantire che in caso di guasto tra le parti di un cluster, si disponga sempre di una maggioranza di risorse del cluster disponibili affinché il cluster funzioni.
- A partire da Windows Server 2012, ogni nodo nel cluster ha un singolo voto di quorum per impostazione predefinita. Aggiungendo un voto aggiuntivo con una condivisione di file, un disco o un nuovo account di archiviazione cloud in Windows Server 2016, una parte del cluster dovrebbe sempre ottenere più del 50% del voto di quorum reclamando la condivisione, il disco o l’account di archiviazione cloud.
- Con Windows Server 2012 R2, la raccomandazione è cambiata per configurare sempre il witness del disco o della condivisione file. Il voto viene esteso al witness aggiuntivo (condivisione file, disco o account di archiviazione cloud) solo se c’è un numero pari di nodi. Con un numero dispari di nodi, il witness non riceve un voto e non viene utilizzato.
Nella schermata sottostante, abbiamo creato i due nomi di destinazione: un volume di quorum da utilizzare come witness del disco e un volume da utilizzare per il nostro volume condiviso del cluster.
- Aggiungere Estensioni, che nell’esempio sottostante sono mappate ai dischi individuali che abbiamo assegnato fisicamente nel nostro dispositivo FreeNAS.
- Associare il Destinatario con l’Estensione. I destinatari sono mappati allo storage in FreeNAS.
Installazione del Ruolo Hyper-V
Per installare il ruolo Hyper-V, eseguire il seguente comando in un prompt del comando PowerShell:
Install-WindowsFeature -Name Hyper-V -IncludeAllSubFeature -IncludeManagementTools -Restart
Configurazione dello Storage: Aggiunta dell’Indirizzo del Portale iSCSI
Prima di aggiungere il nostro indirizzo del portale iSCSI, è necessario configurare e avviare il servizio Microsoft iSCSI come segue:
- Impostare il servizio su automatico.
Set-Service -Name msiscsi -StartupType Automatic
- Avviare il servizio.
Start-Service msiscsi
- Usa PowerShell per aggiungere l’indirizzo del portale iSCSI predisposto:
New-iscsitargetportal -targetportaladdress <indirizzo IP>
- Connetti gli specifici target iSCSI che, nel nostro caso, sono stati creati sul nostro dispositivo FreeNAS. Di seguito sono riportati esempi di come abbiamo aggiunto i target FreeNAS agli host Hyper-V predisposti per il cluster.
- Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:quorum -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
- Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:hvvol1 -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
Puoi verificare e vedere i target aggiunti eseguendo il comando Get-iSCSItarget.
Nota: Puoi utilizzare il comando get-disk per visualizzare le informazioni sul disco e assicurarti che lo storage condiviso del cluster Hyper-V sia online e sano.
Configurazione degli switch virtuali
La configurazione di interruttori virtuali è necessaria per una corretta configurazione della rete del cluster di failover Hyper-V. Possiamo utilizzare PowerShell o Hyper-V Manager per impostare i nostri interruttori virtuali per Hyper-V.
Un esempio di comando per creare un interruttore virtuale in PowerShell:
New-VMSwitch “ExternalSwitch01” -NetAdapterName “Public” -AllowManagementOS 1
Nota: Assicurarsi che i nomi degli interruttori virtuali corrispondano su entrambi gli host, in quanto è necessario assicurarsi che gli interruttori virtuali corrispondano, in particolare durante la migrazione live.
Creazione di un cluster Hyper-V
Utilizzando PowerShell, la creazione del cluster è un comando singolo.
- Prima di creare il cluster, eseguire il seguente comando per verificare se la configurazione del cluster soddisfa le migliori pratiche di clustering di Hyper V:
Test-Cluster H1,H2
- Utilizzare il comandolet New-Cluster per creare un cluster e assegnare un nome, i nodi e un indirizzo IP statico al cluster.
New-Cluster -Name HVCluster -node H1,H2 -staticAddress 192.168.85.75
- Al termine del processo di creazione del cluster, verrà visualizzato l’output che mostra il nome del cluster nella riga di comando.
Hyper-V Clustered Shared Volumes
Anche se abbiamo uno storage condiviso dal punto di vista di un target iSCSI, dobbiamo assicurarci che lo storage che ospita le nostre VM sia configurato su un volume condiviso clusterizzato Hyper-V. Il volume condiviso clusterizzato (CSV) è stato introdotto in Windows Server 2008 R2 per essere utilizzato con il ruolo Hyper-V in modo che un VM possa avere file VHD accessibili da qualsiasi nodo nel cluster. In CSV è anche integrata una resilienza, inclusa la rilevazione dei guasti di I/O che consente l’utilizzo di percorsi di comunicazione alternativi in caso di guasti di comunicazione.
Diamo un’occhiata alla creazione del volume condiviso clusterizzato passo dopo passo per le nostre VM.
- Rinominare la risorsa disco del cluster che verrà utilizzata per lo storage delle VM (opzionale). Nel nostro ambiente di laboratorio, questo è Cluster Disk 1:
(Get-ClusterResource | ?{$_.Name -eq “Cluster Disk 1”}).name = “VMs”
- Ora possiamo aggiungere questo volume a un volume condiviso clusterizzato:
Get-ClusterResource -Name “VMs”| Add-ClusterSharedVolume
Nota: Possiamo anche utilizzare Gestione cluster di failover per aggiungere un disco al CSV:
- Controllare lo stato del volume condiviso clusterizzato con il comando get-clustersharedvolume.
Nota: Se si dispone di una postazione di gestione da collegare utilizzando il Gestore del Cluster di Failover, è possibile visualizzare lo storage con l’interfaccia utente grafica (GUI) collegandosi al Cluster di Failover di Windows. Qui possiamo vedere facilmente i Dischi disponibili e i ruoli loro assegnati. Di seguito vediamo sia il disco Quorum che il disco VM designato come volume condiviso del cluster.
Modifica delle impostazioni di archiviazione di Hyper-V
Ora che abbiamo configurato il nostro volume condiviso clusterizzato, possiamo modificare le impostazioni di Hyper-V per utilizzare il nostro volume condiviso clusterizzato di Hyper-V come posizione predefinita per memorizzare le nostre VM.
Nelle Impostazioni di Hyper-V per ciascun host, modificare la posizione dei Dischi Virtuali e la posizione delle Macchine Virtuali sul volume condiviso del cluster, che si trova in C:\ClusterStorage\volume(x) sui vostri host di Hyper-V.
Creazione di una VM altamente disponibile
Ora possiamo avviare il Gestore del Cluster di Failover e iniziare a creare una VM altamente disponibile.
- Fare clic con il tasto destro sui Ruoli e scegliere di creare una Nuova Macchina Virtuale.
- Scegliere l’host Hyper-V (uno dei nodi del cluster) per la macchina virtuale.
- Lavorare attraverso i Promemoria del Wizard Nuova Macchina Virtuale per predisporre una nuova macchina virtuale.
- Nel passaggio Connetti Disco Rigido Virtuale del wizard, assicurarsi che la macchina virtuale venga creata sul nostro volume condiviso clusterizzato di Hyper-V.
- Il passaggio Riepilogo mostra le opzioni che abbiamo selezionato.
- Quando fai clic su Fine, il Wizard di alta disponibilità mostra il riepilogo dell’attivazione dell’alta disponibilità sul ruolo e sulla macchina virtuale. Come puoi vedere, è stata attivata con successo.
- Se desideri visualizzare il rapporto sull’alta disponibilità, puoi fare clic sul pulsante Visualizza Rapporto, che mostra una rappresentazione più dettagliata dei test sull’alta disponibilità.
La configurazione del cluster di failover di Hyper-V è completata e ora abbiamo una VM altamente disponibile in esecuzione nel cluster. Puoi creare altre VM nel tuo cluster per utilizzare l’Alta Disponibilità di Hyper-V.
Pensieri Finali
Il clustering di failover di Hyper-V ti consente di ridurre i tempi di inattività delle VM in caso di guasto. Tuttavia, ciò non proteggerà i dati delle tue VM se non effettui frequenti backup del cluster di Hyper-V. Poiché le VM possono migrare tra gli host nel cluster di failover di Hyper-V, il backup delle VM può essere un compito impegnativo. Utilizza la soluzione di NAKIVO e esegui facilmente il backup anche delle VM in esecuzione nel cluster.