Configurare un Failover Cluster in Windows Server 2019 e Windows Server 2022

Il Failover Cluster è un gruppo di computer che interagiscono tra di loro per migliorare la disponibilità e la scalabilità dei ruoli cluster. Se in uno o più nodi del cluster si verifica un errore, il servizio verrà garantito dagli altri nodi (processo di failover). I ruoli cluster, inoltre, vengono monitorati in modo proattivo per verificare che funzionino correttamente. Se non funzionano, vengono riavviati o spostati in un altro nodo.

Novità del clustering di failover in Windows Server 2019

  • Set di cluster – Consentono di aumentare il numero di server oltre i limiti correnti di un cluster. Questa operazione viene eseguita mediante il raggruppamento di più cluster in un set di cluster. Maggiori papprofondimenti sono disponibili leggendo il mio articolo Introduzione ai Cluster Sets in Windows Server 2019
  • Azure-aware cluster – I cluster di failover rileva ora automaticamente quando è in esecuzione nelle macchine virtuali IaaS di Azure e ottimizza la configurazione per garantire il failover proattivo e la registrazione degli eventi di manutenzione pianificata di Azure per ottenere i massimi livelli di disponibilità.
  • Migrazione del cluster tra domini (cross-domain)– I cluster di failover si possono ora spostare in modo dinamico da un dominio di Active Directory ad un altro, semplificando il consolidamento dei domini.
  • USB witness – È ora possibile usare un semplice dispositivo USB collegato a uno switch di rete come witness nella determinazione del quorum per un cluster.
  • Miglioramenti all’infrastruttura di cluster – La cache CSV è ora abilitata per impostazione predefinita per migliorare le prestazioni delle macchine virtuali.
  • Cluster Aware Updating supporta Storage Spaces Direct – Cluster Aware Updating (CAU) è ora integrato e compatibile con Storage Spaces Direct e convalida e garantisce il completamento della risincronizzazione dei dati su ciascun nodo. In più controlla gli aggiornamenti solo se necessario e riavvia i nodi in modo intelligente. In questo modo orchestra i riavvii di tutti i server del cluster per la manutenzione pianificata.
  • Cluster hardening – Le comunicazioni interne a un cluster tramite Server Message Block (SMB) per Cluster Shared Volumes e Storage Spaces Direct ora sfruttano i certificati per rendere la piattaforma più sicura. In questo modo i cluster di failover possono funzionare senza dipendenze su NTLM e abilitare le baseline di sicurezza.
  • Eliminazione dell’autenticazione NTLM – Il cluster di failover non utilizza più l’autenticazione NTLM, ma usa in maniera esclusiva l’autenticazione Kerberos e l’autenticazione basata su certificati. Non sono necessarie modifiche da parte per sfruttare i vantaggi di questo miglioramento della sicurezza.

Schema di funzionamento di un cluster

Per realizzare questa guida ho creato un domain controller (DC1.demo.lab) e due server che verranno poi clusterizzati (FS1.demo.lab e FS2.demo.lab). Ho anche creato una macchina che farà da ISCSI target (ISCSI1.demo.lab) ed ospiterà lo storage condiviso dei due nodi del cluster.

Anche se utilizzerò Windows Server 2019, la stessa procedura è valida se utilizzate Windows Server 2016, Windows Server 2012 R2 e Windows Server 2012.

Nella figura sotto è mostrato lo schema del laboratorio realizzato:

Figura 1: Schema del laboratorio realizzato

Prerequisiti per la creazione di un Failover Cluster

Prima di iniziare a configurare il cluster, verificate i prerequisiti seguenti:

  • Assicuratevi che tutti i server da aggiungere come nodi del cluster eseguano la stessa versione di Windows Server.
  • Esaminate i requisiti hardware per assicurarvi che la configurazione in uso sia supportata. Per altre informazioni seguite la guida Requisiti hardware per il clustering di failover e opzioni di archiviazione.
  • Assicuratevi che tutti inodi del cluster possano accedere ad uno storage condiviso.
  • Assicuratevi che tutti i server da aggiungere come nodi del cluster siano aggiunti allo stesso dominio Active Directory.
  • Assicuratevi che l’account da usare per la creazione del cluster sia un utente di dominio che dispone di diritti di amministratore su tutti i server da aggiungere come nodi del cluster.

NOTA: Per essere supportato da Microsoft, tutto l’hardware deve essere certificato per la versione di Windows Server in esecuzione e la soluzione completa del cluster di failover deve superare tutti i test della Convalida guidata configurazione. Per altre informazioni sulla convalida del cluster di failover, vedere Convalidare l’hardware per un cluster di failover.

Check-list delle attività da eseguire

La creazione di un Failover Cluster richiede l’esecuzione delle seguenti attività:

  • Verificare i prerequisiti
  • Installare la funzionalità Clustering di failover in tutti i server da aggiungere come nodi del cluster
  • Eseguire la convalida guidata del cluster per la verifica della configurazione
  • Eseguire la Creazione guidata cluster per creare il cluster di failover
  • Creare ruoli del cluster per ospitare i carichi di lavoro del cluster

Configurazione dello storage condiviso

Ad ogni nodo del cluster deve essere collegato storage condiviso, cioè visibile da tutti i nodi. È possibile presentare lo storage ai diversi nodi tramite ISCSI, SAN Fiber Channel, Shared SAS oppure tramite gli Storage Spaces. Ho già avuto modo di parlarvi degli Storage Spaces nell’articolo Implementare Storage Spaces Direct in Windows Server 2016 con Microsoft Azure e nell’articolo Storage Spaces Tiering in Windows Server 2016

In questa guida mi servirò di un ISCSI Target installato sulla macchina ISCSI1.demo.lab che pubblica due dischi: un disco di quorum da 10 GB e un disco dati da 500GB. La configurazione dell’ISCSI Target esula dai contenuti di questa guida. Per approfondimenti vi rimando alla lettura dell’articolo Configure Windows 2012 R2 as iSCSI target

Sui due nodi del cluster, FS1.demo.lab ed FS2.demo.lab, ho collegato i dischi ISCSI utilizzando l’ISCSI Initiator, come mostrato in figura:

Figura 2: Configurazione dell’ISCSI Initiator sui due nodi del cluster

Dopo aver collegato i dischi tramite l’ISCSI Initiator, ho provveduto sulla macchina FS1.demo.lab ad inizializzare i dischi e a formattarli, come mostrato nelle figure sotto:

Figura 3: Inizializzazione dei dischi ISCSI sulla macchina FS2.demo.lab

Figura 4: Formattazione dei due dischi ISCSI sulla macchina FS1.demo.lab

Poiché si tratta di dischi ISCSI, sulla macchina FS2.demo.lab i due dischi risulteranno formattati ma saranno visti offline. Windows infatti non supporta la clusterizzazione dei dischi NTFS. Provvederemo più tardi ad utilizzare la funzionalità di Cluster Shared Volume per permettere ad entrambi i nodi di poter scrivere contemporaneamente sullo stesso disco.

Configurazione della rete

I due nodi sono collegati tramite due schede di rete: una di management ed una dedicata all’heartbeat. Vi consiglio la lettura dell’articolo Configuring Windows Failover Cluster Networks per approfondire tutti i requisiti di rete necessari per il corretto funzionamento del Cluster.

Installazione e configurazione del Cluster

Per configurare uno Scale-out File Server è necessario che su entrambi i nodi venga installata la funzionalità di File Server e di Failover Clustering. Potete servirvi del Server Manager per installare le funzionalità su entrambi i nodi, oppure potete utilizzare il comando PowerShell

 

Figura 5: Aggiunta del secondo nodo al Server Manager di FS1.demo.lab per poterlo gestire

Figura 6: Aggiunta della funzionalità di Failover Clustering

Effettuate l’installazione del ruolo di File Server e della funzionalità di Failover Clustering anche sul secondo nodo.

Figura 7: Installazione del ruolo di File Server e della funzionalità di Failover Clustering anche sul secondo nodo

Terminata l’installazione della funzionalità, utilizzate la console del Failover Cluster Manager per testare la configurazione dei due nodi e per creare il nuovo cluster. Vi consiglio di verificare i prerequisiti elencati alla pagina Creare un cluster di failover

Lanciate quindi il wizard per la validazione del cluster, in modo tale da essere sicuri che tutti i prerequisiti siano stati rispettati.

Figura 8: Validazione dei nodi del cluster

Figura 9: Validazione effettuata

In alternativa potete utilizzare il comando PowerShell

 

Terminata la validazione potete creare il nuovo cluster. Cliccate su Create the cluster now using the validates nodes e seguite il wizard di creazione. Indicate il nome del cluster (nel mio caso CLUSTER1) e l’indirizzo IP da assegnargli, come mostrato nelle figure sotto. Io ho anche scelto di aggiungere al cluster tutti i dischi condivisi che sono stati agganciati ai nodi, utilizzando Add all eligible storage to the cluster.

Figura 10: indicazione del nome e dell’indirizzo IP del cluster

Figura 11: Aggiunta dello storage condiviso da tutti i nodi del cluster

Figura 12: Creazione del cluster completata

La creazione del cluster può essere eseguita anche utilizzando il comando PowerShell

 

Verificate la creazione del cluster dalla console del Failover Cluster Manager e verificate che i dischi condivisi siano stati aggiunti. Come si vede dalla figura sotto, il disco da 10GB viene utilizzato per il quorum, mentre quello da 500GB è disponibile per i dati e può essere trasformato in un Cluster Shared Volume (CSV). I CSV permettono a tutti i nodi di un cluster di failover di poter accedere contemporaneamente sia in lettura che in scrittura ad un disco formattato NTFS o ReFS. NTFS ed ReFS non sono infatti file system clusterizzabili. Per approfondimenti vi rimando alla lettura dell’articolo Utilizzare volumi condivisi del Cluster in un cluster di failover

Cliccate col tasto destro sul disco da utilizzare e scegliete la voce Add to Cluster Shared Volume.

Figura 13: Aggiunta del disco condiviso al Cluster Shared Volume

Il processo è praticamente istantaneo e permette di trasformare il disco in un mount point. Adesso tutti i nodi del cluster potranno accedere al disco utilizzando il percorso predefinito C:\ClusterStorage\Volume1 e potranno leggere e scrivere contemporaneamente nello storage condiviso.

Figura 14: il disco è stato trasformato in un Cluster Shared Volume

Verificate anche la configurazione delle schede di rete per controllare che ognuna delle schede sia utilizzata nel modo corretto per il management, lo scambio dati e per l’heartbeat.

Figura 15: Configurazione delle reti del cluster

Il cluster è ora configurato.

A questo punto non vi resta che aggiungere al cluster i ruoli di Windows Server oppure le applicazioni che volete rendere disponibili. I ruoli supportati sono:

  • Namespace Server
  • DFS Namespace Server
  • Distributed Transaction Coordinator (DTC)
  • File Server
  • Generic Application
  • Generic Script
  • Generic Service
  • Hyper-V Replica Broker
  • iSCSI Target Server
  • iSNS Server
  • Message Queuing
  • Other Server
  • Virtual Machine
  • WINS Server

Conclusioni

La funzionalità di Failover Clustering permette di rendere altamente disponibili le nostre applicazioni o le macchine virtuali e diminuisce drasticamente le interruzioni di servizio (downtime). Già da Windows Server 2012 R2 Microsoft supporta un failover cluster fino a 64 nodi fisici ed una scalabilità fino a 8.000 macchine virtuali in esecuzione contemporaneamente. Ogni nodo fisico con Hyper-V è in grado di eseguire fino a 1024 macchine virtuali.