Cluster di failover di Windows Server con SQL Server

Si applica a:SQL Server

Questo articolo offre una panoramica dell'uso di un cluster di failover di Windows Server (WSFC) con SQL Server per la disponibilità elevata e ripristino di emergenza. Un cluster di failover di Windows Server (WSFC) è un gruppo di server indipendenti che collaborano per aumentare la disponibilità delle applicazioni e dei servizi. SQL Server sfrutta i servizi e le funzionalità WSFC per supportare i Gruppi di disponibilità Always On e le istanze del cluster di failover SQL Server.

Termini e definizioni

Windows Server Failover Cluster (WSFC) Un WSFC è un gruppo di server indipendenti che lavorano insieme per aumentare la disponibilità delle applicazioni e dei servizi.

Nodo
Un server che fa parte di un cluster WSFC.

Risorsa del cluster
Entità fisica o logica che può essere di proprietà di un nodo e che è possibile portare online e offline, spostare tra nodi e gestire come oggetto cluster. Una risorsa cluster può essere solo di proprietà di un nodo singolo in qualsiasi punto nel tempo.

Ruolo
Raccolta di risorse cluster gestita come singolo oggetto cluster per offrire funzionalità specifiche. In SQL Server, un ruolo può essere un gruppo di disponibilità Always On (AG) o un'istanza del cluster di failover Always On (FCI). Un ruolo contiene tutte le risorse del cluster richieste per un AG o un FCI. Il failover e il failback operano sempre nel contesto dei ruoli. Per un FCI, il ruolo contiene una risorsa di indirizzo IP, una risorsa nome di rete e le risorse SQL Server. Un ruolo AG contiene la risorsa AG e, se è configurato un listener, un nome di rete e una risorsa IP.

Risorsa nome di rete
Nome di server logico gestito come risorsa cluster. Una risorsa per il nome di rete deve essere utilizzata insieme a una risorsa per l'indirizzo IP. Queste voci possono richiedere oggetti in Active Directory Domain Services e/o DNS.

Dipendenza dalla risorsa
Risorsa da cui dipende un'altra risorsa. Se la risorsa A dipende dalla risorsa B, B è una dipendenza di A. La risorsa A non sarà in grado di iniziare senza la risorsa B.

Proprietario preferito
Nodo su cui un gruppo di risorse preferisce essere eseguito. Ogni gruppo di risorse è associato a un elenco di proprietari preferiti ordinato in base alla preferenza. Durante il failover automatico, il gruppo di risorse viene spostato al nodo preferito successivo nell'elenco di proprietari preferiti.

Possibile proprietario
Un nodo secondario su cui può essere eseguita una risorsa. Ogni gruppo di risorse è associato a un elenco di possibili proprietari. È possibile effettuare il failover dei ruoli solo verso i nodi elencati come possibili proprietari.

Modalità quorum
Configurazione del quorum in un cluster di failover che determina il numero di guasti dei nodi che il cluster può tollerare.

Forzare il quorum
Processo di avvio del cluster anche nel caso in cui sia in comunicazione solo una minoranza degli elementi richiesti per il quorum.

Panoramica di Windows Server Failover Clustering

In Windows Server Failover Clustering sono disponibili funzionalità di infrastruttura che supportano gli scenari di disponibilità elevata e ripristino di emergenza delle applicazioni server ospitate quali Microsoft SQL Server e Microsoft Exchange. Se si verifica un errore in un nodo o servizio cluster, i servizi ospitati su tale nodo possono essere trasferiti automaticamente o manualmente a un altro nodo disponibile in un processo noto come failover.

I nodi del cluster WSFC funzionano insieme per garantire collettivamente questi tipi di funzionalità:

  • Notifiche e metadati distribuiti. I metadati del servizio WSFC e delle applicazioni ospitate vengono gestiti in ogni nodo del cluster. I metadati includono la configurazione e lo stato di WSFC oltre alle impostazioni delle applicazioni ospitate. Le modifiche apportate ai metadati o allo stato di un nodo vengono automaticamente propagate agli altri nodi del cluster WSFC.

  • Gestione delle risorse. I singoli nodi nel cluster WSFC possono fornire risorse fisiche come l'archiviazione collegata diretta, le interfacce di rete e l'accesso all'archiviazione su disco condiviso. Le applicazioni ospitate si registrano come risorsa del cluster e possono configurare dipendenze di avvio e di stato di integrità da altre risorse.

  • Monitoraggio dello stato di salute. Il rilevamento dello stato del nodo primario e tra nodi viene effettuato tramite una combinazione di comunicazioni di rete di tipo heartbeat e di monitoraggio delle risorse. Lo stato complessivo del cluster WSFC è determinato dai voti di un quorum di nodi nel cluster.

  • Coordinamento del failover. Ogni risorsa è configurata per essere ospitata su un nodo primario e può essere trasferita automaticamente o manualmente a uno o più nodi secondari. Una politica di failover basata sullo stato di integrità controlla il trasferimento automatico della proprietà delle risorse tra i nodi. I nodi e le applicazioni ospitate ricevono una notifica quando si verifica il failover in modo che possano reagire in modo appropriato.

Per altre informazioni, vedere: Panoramica del clustering di failover - Windows Server.

Tecnologie AlwaysOn e WSFC di SQL Server

SQL Server Always On è una nuova soluzione per la disponibilità elevata e il ripristino di emergenza basata su WSFC. Le funzionalità Always On offrono soluzioni integrate e flessibili che aumentano la disponibilità delle applicazioni, garantiscono un migliore rendimento degli investimenti in componenti hardware e semplifica la distribuzione e la gestione della disponibilità elevata.

Per le istanze dei Gruppi di disponibilità AlwaysOn e del cluster di failover AlwaysOn viene usata la tecnologia della piattaforma WSFC che prevede la registrazione dei componenti come risorse cluster WSFC. Le risorse correlate vengono combinate in un ruolo, che può essere reso dipendente dalle altre risorse del cluster WSFC. Il cluster WSFC può quindi rilevare e segnalare la necessità di riavviare l'istanza di SQL Server o di eseguirne automaticamente il failover a un altro nodo server del cluster WSFC.

Importante

Per sfruttare al meglio i vantaggi delle tecnologie SQL Server Always On, è necessario applicare diversi prerequisiti correlati a WSFC.

Per altre informazioni, vedere Prerequisiti, restrizioni e consigli per i gruppi di disponibilità Always On.

Disponibilità elevata a livello di istanza con istanze del cluster di failover Always On

Un'istanza del cluster di failover (FCI) Always On è un'istanza di SQL Server installata nei nodi di un cluster WSFC. Questo tipo di istanza dipende dalle risorse per l'archiviazione e dal nome di rete virtuale. L'archiviazione può usare Fibre Channel, iSCSI, FCoE o SAS per l'archiviazione su disco condiviso o l'archiviazione collegata in locale con Spazi di archiviazione diretta (S2D). La risorsa del nome di rete virtuale dipende da uno o più indirizzi IP virtuali, ciascuno in una subnet diversa. Anche il servizio SQL Server e il servizio SQL Server Agent vengono registrati come risorse ed entrambi dipendono dalle risorse del nome di rete virtuale e di archiviazione.

In caso di failover, la proprietà delle risorse di un'istanza viene trasferita dal servizio WSFC a un nodo di failover definito. L'istanza di SQL Server viene quindi riavviata sul nodo di failover e i database vengono recuperati nel modo consueto. In qualsiasi momento, un solo nodo del cluster può ospitare l'FCI e le risorse associate.

Nota

Un'istanza del cluster di failover Always On richiede un'archiviazione su disco condivisa e simmetrica, ad esempio una storage area network (SAN) o una condivisione di file SMB. I volumi dell'archiviazione su disco condiviso devono essere disponibili a tutti i nodi di failover potenziali nel cluster WSFC.

Per altre informazioni, vedere: Istanze del cluster di failover sempre attive.

Disponibilità elevata a livello di database con i gruppi di disponibilità Always On

Un gruppo di disponibilità Always On (AG) è un raggruppamento di uno o più database utente il cui failover viene eseguito contemporaneamente. Un gruppo di disponibilità è costituito da una replica di disponibilità primaria e da una a quattro repliche secondarie gestite tramite lo spostamento dati basato su log di SQL Server per la protezione dei dati senza la necessità di archiviazione condivisa. Ogni replica è ospitata da un'istanza di SQL Server in un nodo diverso del cluster WSFC. Il gruppo di disponibilità e un nome di rete virtuale corrispondente sono registrati come risorse nel cluster WSFC.

Tramite un listener del gruppo di disponibilità sul nodo della replica primaria si risponde alle richieste client in ingresso per connettersi al nome di rete virtuale e, in base agli attributi nella stringa di connessione, si indirizza ogni richiesta all'istanza di SQL Server appropriata.

In caso di failover, anziché trasferire la proprietà delle risorse fisiche condivise a un altro nodo si usa WSFC per riconfigurare una replica secondaria su un'altra istanza di SQL Server come replica primaria del gruppo di disponibilità. La risorsa del nome di rete virtuale del gruppo di disponibilità viene quindi trasferita a tale istanza.

In un qualsiasi momento specifico, solo una singola istanza di SQL Server può ospitare la replica primaria dei database di un gruppo di disponibilità; tutte le repliche secondarie associate devono trovarsi ciascuna in un'istanza separata e ogni istanza deve risiedere su nodi fisici separati.

Nota

I Gruppi di disponibilità Always On non richiedono la distribuzione di un'istanza del cluster di failover né l'uso di archiviazione condivisa simmetrica (SAN o SMB).

È possibile utilizzare un'istanza del cluster di failover (FCI) con un gruppo di disponibilità per migliorare la disponibilità di una replica di disponibilità. Tuttavia, per evitare potenziali condizioni di race nel cluster WSFC, il failover automatico del gruppo di disponibilità non è supportato verso o da una replica di disponibilità ospitata in un'FCI.

Per altre informazioni, vedere: Informazioni generali sui gruppi di disponibilità Always On.

Monitoraggio dello stato e failover di WSFC

La disponibilità elevata per una soluzione Always On si ottiene attraverso il monitoraggio proattivo dell'integrità delle risorse fisiche e logiche del cluster WSFC, mediante il failover automatico sull'hardware ridondante e la relativa riconfigurazione. Un amministratore di sistema può inoltre iniziare un failover manuale di un gruppo di disponibilità o un'istanza di SQL Server da un nodo a un altro.

Criteri di failover per i nodi, le istanze del cluster di failover e i gruppi di disponibilità

Un criterio di failover viene configurato a livello del nodo WSFC, dell'istanza del cluster di failover di SQL Server (FCI) e del gruppo di disponibilità. Tali criteri, basati sulla gravità, la durata e la frequenza degli stati non integri delle risorse cluster e sulla velocità di risposta del nodo, possono attivare un riavvio del servizio o un failover automatico delle risorse cluster da un nodo a un altro oppure attivare lo spostamento di una replica primaria del gruppo di disponibilità da un'istanza di SQL Server a un'altra.

Il failover di una replica del gruppo di disponibilità non ha effetti sull'istanza di SQL Server sottostante. Il failover di un'FCI sposta con l'istanza le repliche ospitate del gruppo di disponibilità.

Per ulteriori informazioni, vedere: Criteri di failover per le istanze del cluster di failover.

Rilevamento dello stato di integrità delle risorse WSFC

Ogni risorsa di un cluster WSFC è in grado di segnalare il proprio stato e la propria integrità, periodicamente o su richiesta. Varie circostanze potrebbero indicare un errore della risorsa; ad esempio, interruzione dell'alimentazione, errori di disco o memoria, errori nella comunicazione di rete o servizi che non rispondono.

È possibile rendere dipendenti l'una dall'altra risorse cluster WSFC quali reti, archiviazione o servizi. Lo stato di integrità complessivo di una risorsa è determinato aggregando progressivamente il suo stato di integrità con quello di ciascuna delle relative dipendenze della risorsa.

Rilevamento dello stato di integrità tra nodi WSFC e votazione del quorum

Ogni nodo in un WSFC partecipa alla comunicazione periodica di heartbeat per condividere il proprio stato di salute con gli altri nodi. I nodi che non rispondono sono considerati in stato di errore.

Il quorum è un meccanismo che contribuisce a garantire che il WSFC sia operativo, assicurando che nel WSFC siano disponibili risorse sufficienti. Se il WSFC dispone di un numero sufficiente di voti, è integro ed è in grado di garantire la tolleranza agli errori a livello di nodo.

Una modalità quorum è configurata nel cluster WSFC per determinare la metodologia usata per il voto del quorum, nonché quando eseguire un failover automatico o portare il cluster offline.

Suggerimento

La procedura consigliata prevede di avere sempre un numero dispari di voti del quorum in un cluster WSFC. Ai fini del voto del quorum, non è necessario che SQL Server sia installato in tutti i nodi nel cluster. Un server aggiuntivo può fungere da membro del quorum o è possibile configurare il modello del quorum WSFC per utilizzare una condivisione file remota come elemento per la risoluzione dei conflitti.

Per ulteriori informazioni, vedere: Modalità quorum WSFC e configurazione del voto.

Ripristino di emergenza eseguito forzando il quorum

A seconda delle procedure operative e della configurazione del cluster WSFC, è possibile generare failover sia automatici sia manuali pur mantenendo una soluzione SQL Server Always On affidabile e a tolleranza d'errore. Se tuttavia un quorum di nodi votanti idonei nel cluster WSFC non assicura la comunicazione reciproca o se la convalida dell'integrità del cluster WSFC ha esito negativo, è possibile che il cluster WSFC passi alla modalità offline.

Se il cluster WSFC passa alla modalità offline a causa di un'emergenza non pianificata o di un errore persistente a livello di hardware o di comunicazione, è necessario un intervento amministrativo manuale per forzare un quorum e riportare online i nodi del cluster ancora esistenti in una configurazione non a tolleranza d'errore.

Successivamente, sarà inoltre necessario effettuare una serie di passaggi per riconfigurare il cluster WSFC, recuperare le repliche di database interessate e ristabilire un nuovo quorum.

Per ulteriori informazioni, consultare: Ripristino d'emergenza di WSFC tramite quorum forzato.

Relazione dei componenti Always On di SQL Server con WSFC

Sono presenti diversi livelli di relazione tra le funzionalità e i componenti di SQL Server Always On e WSFC.

I Gruppi di disponibilità Always On sono ospitati nelle istanze di SQL Server.
Una richiesta client con cui viene specificato un nome di rete del listener del gruppo di disponibilità logico per connettersi a un database primario o secondario viene reindirizzata al nome di rete appropriato dell'istanza di SQL Server sottostante o dell'istanza del cluster di failover SQL Server.

Le istanze di SQL Server sono ospitate attivamente in un solo nodo.
Se presente, un'istanza di SQL Server autonoma risiede sempre in un solo nodo con un nome di rete dell'istanza statico. Se presente, un'istanza FCI di SQL Server è attiva su uno di due o più nodi di failover possibili con un solo nome di rete dell'istanza virtuale.

I nodi sono membri di un cluster WSFC.
I metadati e lo stato della configurazione WSFC per tutti i nodi sono archiviati in ciascun nodo. In ciascun server possono essere disponibili volumi di archiviazione o archiviazione condivisa (SAN) asimmetrica per i database utente o di sistema. Ogni server dispone almeno di un'interfaccia di rete fisica su una o più subnet IP.

Il servizio WSFC consente di monitorare l'integrità e di gestire la configurazione per un gruppo di server.
I meccanismi WSFC propagano le modifiche ai metadati di configurazione WSFC e lo stato a tutti i nodi del cluster WSFC. Se si usa un disco di controllo, anche i metadati vengono salvati sul disco. Per impostazione predefinita, ogni nodo di WSFC ha un voto ai fini del quorum e un witness viene usato se necessario e se configurato.

Le chiavi del Registro di sistema di Gruppi di disponibilità Always On sono sottochiavi del cluster WSFC.

Se si elimina e si ricrea un cluster WSFC, è necessario disabilitare e riabilitare la funzionalità Gruppi di disponibilità Always On in ogni istanza del server abilitata per Gruppi di disponibilità Always On nel cluster WSFC originale. Per altre informazioni, vedere Abilitare e disabilitare i gruppi di disponibilità AlwaysOn.

Schermata del cluster di failover di Windows Server.

Attività correlate