Molto frequentemente per poter garantire l’alta disponibilità e la business continuity per applicazioni e servizi critici è necessario implementare un Failover Cluster in ambiente Microsoft. In questo articolo approfondiremo le principali novità introdotte con Windows Server 2016 in ambito failover clustering e analizzeremo i vantaggi nell’adottare la più recente tecnologia.
Cluster Operating System Rolling Upgrade
In Windows Server 2016 è stata introdotta una importante funzionalità che consente di aggiornare i nodi di un cluster Hyper-V oppure di uno Scale-Out File Server da Windows Server 2012 R2 a Windows Server 2016 senza nessun disservizio ed evitando di fermare i workload da esso ospitati.
Il processo di aggiornamento prevede questi step:
- Mettere il nodo che si vuole aggiornare in pausa e spostare tutte le machine virtuali oppure gli altri workload sugli altri nodi del cluster
- Rimuovere il singolo nodo dal cluster ed effettuare un’installazione pulita di Windows Server 2016
- Aggiungere il nodo Windows Server 2016 al cluster esistente. Da questo momento il cluster entrerà in modalità Mixed con nodi sia Windows Server 2012 R2 che nodi Windows Server 2016. A questo proposito è bene specificare che il cluster continuerà ad erogare i servizi in modalità Windows Server 2012 R2 e non saranno ancora disponibili le funzionalità introdotte in Windows Server 2016. In questa fase sarà possibile aggiungere e rimuovere nodi sia Windows Server 2012 R2 che nodi Windows Server 2016
- Procedere con l’aggiornamento di tutti i nodi del cluster nella stessa modalità precedentemente descritta
- Solo quando tutti i nodi del cluster saranno stati aggiornati a Windows Server 2016 sarà possibile cambiare il functional level del cluster portandolo a Windows Server 2016. Tale operazione non è reversibile e per portarla a termine è necessario utilizzare il cmdlet PowerShell Update-ClusterFunctionalLevel. Dopo aver eseguito tale comando sarà possibile sfruttare tutti i vantaggi introdotti in Windows Server 2016 di seguito riportati
Cloud Witness
Windows Server 2016 introduce la possibilità di configurare il witness del cluster direttamente nel cloud Microsoft Azure. Il Cloud Witness, esattamente come per le alte tipologie di witness, fornirà un voto arbitrario partecipando al calcolo del quorum.
Figura 1 – Cloud Witness in Failover Cluster Manager
La configurazione del Cloud Witness prevede due semplici passaggi:
- Creazione su una subscription Azure di un Azure Storage Account che sarà utilizzato dal Cloud Witness
- Configurazione del Cloud Witness in una delle seguenti modalità
PowerShell
Failover Cluster Manager
Figura 2 – Configurazione Cloud Witness Step 1
Figura 3 – Configurazione Cloud Witness Step 2
Figura 4 – Configurazione Cloud Witness Step 3
L’utilizzo del Cloud Witness consente di ottenere i seguenti vantaggi:
- Sfrutta Microsoft Azure eliminando così la necessità di disporre di un ulteriore data center separato per determinate configurazioni cluster
- Utilizza direttamente un Microsoft Azure Blob Storage annullando in questo modo l’effort amministrativo necessario per mantenere una macchina virtuale in una cloud pubblica
- Lo stesso Microsoft Azure Storage Account può essere utilizzato per più cluster
- Vista la mole ridotta di dati scritti sullo Storage Account il costo del servizio è irrisorio
Site-Aware Failover Clusters
Windows Server 2016 introduce il concetto di failover cluster site-aware ed è in grado di raggruppare gruppi di nodi in una configurazione stretched cluster in base alla location geografica (site). Durante il ciclo di vita di un cluster site-aware le policy di placement, l’heartbeat tra i nodi e le operazioni di failover e di calcolo del quorum sono pensate e migliorate per questa specifica configurazione dell’ambiente cluster. Per maggiori dettagli a riguardo vi invito a consultare l’articolo Site-aware Failover Clusters in Windows Server 2016.
Workgroup e Multi-domain Cluster
In Windows Server 2012 R2 e nelle precedenti versioni di Windows tutti i nodi di un cluster dovevano necessariamente appartenere allo stesso dominio Active Directory. Con Windows Server 2016 vengono rimosse queste barriere e viene fornita la possibilità di creare un Failover Cluster senza dipendenze da Active Directory.
In Windows Server 2016 sono supportate le seguenti configurazioni:
- Single-domain Cluster: cluster dove tutti i nodi appartengono allo stesso dominio
- Multi-domain Cluster: cluster composto da nodi in join a domini Active Directory differenti
- Workgroup Cluster: cluster con nodi in workgroup (non in join a un dominio)
A tal proposito è bene specificare quali sono i workload supportati e le relative limitazioni per i Multi-domain e Workgroup cluster:
Cluster Workload |
Supporto |
DettagliMotivazione |
SQL Server |
Supportato |
Raccomandato l’utilizzo dell’autenticazione SQL Server. |
File Server |
Supportato, ma non raccomandato |
L’autenticazione Kerberos (non disponibile in questi ambienti) è il protocollo di autenticazione consigliato per il traffico Server Message Block (SMB). |
Hyper-V |
Supportato, ma non raccomandato |
Non è supportata la Live Migration, ma solo la Quick Migration. |
Message Queuing (MSMQ) |
Non supportato |
Message Queuing salva proprietà in AD DS. |
Diagnostic in Failover Clustering
In Windows Server 2016 sono state introdotte le seguenti novità per facilitare le operazioni di troubleshooting nel caso dovessero emergere problematiche relative all’ambiente cluster:
- Sono stati apportati diversi miglioramenti al cluster log (come le informazioni sul Time Zone e il canale DiagnosticVerbose) che lo rendono più facilmente consultabile e con maggiori informazioni. Per ulteriori dettagli a riguardo vi invito a consultare l’articolo Windows Server 2016 Failover Cluster Troubleshooting Enhancements – Cluster Log
- Un nuovo dump file di tipologia Active memory dump, utile per i cluster Hyper-V, in grado di filtrare molte pagine di memoria allocate dalle macchine virtuali. Questo meccanismo genera quindi un file memory.dmp di dimensioni notevolmente inferiori. Maggiori dettagli sono disponibili nell’articolo Windows Server 2016 Failover Cluster Troubleshooting Enhancements – Active Dump
SMB Multichannel e Multi-NIC Cluster Network
In Windows Server 2016 diverse sono le novità introdotte anche in ambito network per quanto riguarda l’ambiente cluster che consentono di facilitare la configurazione e di ottenere maggiori performance.
I benefici principali introdotti in Windows Server 2016 possono essere sintetizzati nei seguenti punti:
- SMB Multichannel viene abilitato di default
- Il failover cluster è in grado di riconoscere in automatico le NIC attestate sulla stessa subnet stesso switch
- Una singola risorsa IP Address viene configurata per ogni Cluster Access Point (CAP) Network Name (NN)
- Le network con solo indirizzi IPv6 Link Local (fe80) sono riconosciute come reti private (cluster only)
- Il cluster validation non riporta più messaggi di warning nel caso siano presenti più NIC attestate sulla stessa subnet
Per maggiori informazioni a riguardo vi rimando alla documentazione Microsoft: Simplified SMB Multichannel and Multi-NIC Cluster Networks.
Conclusioni
Windows Server 2016 introduce importanti cambiamenti anche in ambito Failover Clustering rendendo la soluzione maggiormente flessibile e aprendo nuovi possibili scenari di configurazione. Inoltre il processo di upgrade ci consente di aggiornare facilmente ambienti cluster già esistenti per beneficiare di tutti i vantaggi introdotti da Windows Server 2016 per i differenti workload.