Istanze del cluster di failover con SQL Server in macchine virtuali di Azure
Si applica a: SQL Server su VM di Azure
Questo articolo presenta le differenze di funzionalità quando si lavora con le istanze del cluster di failover per SQL Server in macchine virtuali (VM) di Azure.
Per iniziare, preparare la macchina virtuale.
Panoramica
SQL Server in macchine virtuali di Azure usa funzionalità Clustering di failover di Windows Server (WSFC) per fornire disponibilità elevata locale tramite ridondanza a livello di istanza del server, ovvero un'istanza del cluster di failover. Un'istanza del cluster di failover è una singola istanza di SQL Server installata in nodi di WSFC (o semplicemente nel cluster) e, possibilmente, in più subnet. Nella rete un'istanza del cluster di failover viene riconosciuta come istanza di SQL Server in esecuzione in un singolo computer. Tuttavia, l'istanza del cluster di failover fornisce failover da un nodo di WSFC a un altro se quello corrente diventa indisponibile.
Il resto dell'articolo è incentrato sulle differenze per le istanze del cluster di failover quando vengono usate con SQL Server in macchine virtuali di Azure. Per altre informazioni sulla tecnologia del clustering di failover, vedere:
Nota
È ora possibile trasferire in modalità lift-and-shift la soluzione dell'istanza del cluster di failover a SQL Server in VM di Azure usando Azure Migrate. Per ulteriori informazioni, vedere Eseguire la migrazione dell'istanza del cluster di failover.
Quorum
Le istanze del cluster di failover con SQL Server in macchine virtuali di Azure supportano l'uso di un disco di controllo, un cloud di controllo o una condivisione file di controllo per il quorum del cluster.
Per altre informazioni, vedere Procedure consigliate per il quorum con machine virtuali di SQL Server in Azure.
Storage
Nei tradizionali ambienti cluster locali, un cluster di failover Windows usa una rete di archiviazione SAN accessibile a tutti i nodi come risorsa di archiviazione condivisa. I file di SQL Server sono ospitati nella risorsa di archiviazione condivisa e sono accessibili a un solo nodo attivo alla volta.
SQL Server in macchine virtuali di Azure offre varie opzioni come soluzione di archiviazione condivisa per una distribuzione di istanze del cluster di failover di SQL Server:
Dischi condivisi di Azure | Condivisioni file Premium | Spazi di archiviazione diretta (S2D) | SAN di Elastic in Azure | |
---|---|---|---|---|
Versione minima del sistema operativo | Tutte le date | Windows Server 2012 | Windows Server 2016 | Windows Server 2022 |
Versione minima di SQL Server | Tutte le date | SQL Server 2012 | SQL Server 2016 | SQL Server 2022 |
Disponibilità di VM supportate | Unità SSD Premium per archiviazione con ridondanza locale: Set di disponibilità con o senza gruppi di posizionamento di prossimità Unità SSD Premium per archiviazione con ridondanza della zona: zone di disponibilità Dischi Ultra: stessa zona di disponibilità |
Set di disponibilità e zone di disponibilità | Set di disponibilità | Zone di disponibilità |
Supporto di FileStream | Sì | No | Sì | No |
Supporta MSDTC | Sì | No | No | No |
Il resto di questa sezione illustra i vantaggi e le limitazioni di ogni opzione di archiviazione disponibile per SQL Server in macchine virtuali di Azure.
Dischi condivisi di Azure
I dischi condivisi di Azure sono una funzionalità di Azure Managed Disks. WSFC (Windows Server Failover Clustering) supporta l'uso di dischi condivisi di Azure con un'istanza del cluster di failover.
Sistema operativo supportato: tutti
Versione di SQL supportata: tutte
Vantaggi:
- Utili per applicazioni di cui eseguire la migrazione ad Azure mantenendone inalterata l'architettura di disponibilità elevata e ripristino di emergenza.
- Consentono di eseguire la migrazione di applicazioni in cluster ad Azure così come sono, grazie al supporto della funzionalità SCSI PR (SCSI Persistent Reservations).
- Supportano l'archiviazione condivisa su unità SSD Premium di Azure dischi Ultra di Azure.
- Consentono di usare un singolo disco condiviso o più dischi in striping per creare un pool di archiviazione condiviso.
- Supporta FileStream.
- Le unità SSD Premium supportano i set di disponibilità.
- L'archiviazione con ridondanza della zona (ZRS) delle unità SSD Premium supporta le zone di disponibilità. Le macchine virtuali che fanno parte dell'istanza del cluster di failover possono essere posizionate in zone di disponibilità diverse.
- Supporta Microsoft Distributed Transaction Coordinator (MSDTC) a partire da Windows Server 2019.
Nota
Anche se i dischi condivisi di Azure supportano anche le dimensioni SSD Standard, non è consigliabile usare unità SSD Standard per i carichi di lavoro di SQL Server a causa delle limitazioni delle prestazioni.
Limitazioni:
- La memorizzazione nella cache di dischi SSD Premium non è supportata.
- I Dischi Ultra non supportano i set di disponibilità o l'archiviazione con ridondanza della zona (ZRS).
- Le zone di disponibilità sono supportate per i Dischi Ultra, ma le VM devono trovarsi nella stessa zona di disponibilità, il che riduce la disponibilità della macchina virtuale al 99,9%.
Per iniziare, vedere Configurare un’istanza del cluster di failover di SQL Server con dischi condivisi di Azure.
Spazi di archiviazione diretta
Spazi di archiviazione diretta è una funzionalità di Windows Server supportata con il clustering di failover in macchine virtuali di Azure. Fornisce una rete di archiviazione SAN virtuale basata su software.
Sistema operativo supportato: Windows Server 2016 e versioni successive
Versione SQL supportata: SQL Server 2016 e versioni successive
Vantaggi:
- La larghezza di banda sufficiente assicura una soluzione di archiviazione condivisa stabile e a levate prestazioni.
- Supporta la cache di BLOB di Azure, per cui le operazioni di lettura possono essere eseguite in locale dalla cache. Gli aggiornamenti vengono replicati contemporaneamente in entrambi i nodi.
- Supporta FileStream.
Limitazioni:
- Disponibile solo per Windows Server 2016 e versioni successive.
- Le zone di disponibilità non sono supportate.
- Richiede la stessa capacità per i dischi collegati a entrambe le macchine virtuali.
- Per ottenere prestazioni elevate è necessaria un'ampia larghezza di banda a causa della replica continua dei dischi.
- Richiede VM di dimensioni maggiori e un doppio pagamento per l'archiviazione, perché le risorse di archiviazione sono collegate a ogni VM.
- Microsoft Distributed Transaction Coordinator (MSDTC) non è supportato.
Per iniziare, vedere Configurare un’istanza del cluster di failover di SQL Server con Spazi di archiviazione diretta.
Condivisione file Premium
Le condivisioni file Premium sono una funzionalità di File di Azure. Sono supportate da SSD e offrono una latenza costantemente bassa. Sono pienamente supportate per l'uso con istanze del cluster di failover per SQL Server 2012 o versione successiva in Windows Server 2012 o versione successiva. Le condivisioni file Premium offrono una maggiore flessibilità, perché è possibile ridimensionarle senza tempi di inattività.
Sistema operativo supportato: Windows Server 2012 e versioni successive
Versione SQL supportata: SQL Server 2012 e versioni successive
Vantaggi:
- Soluzione di archiviazione condivisa per le macchine virtuali distribuite in più zone di disponibilità.
- File system completamente gestito con latenze a singola cifra e prestazioni di I/O con possibilità di burst.
- Non tutte le funzionalità di SQL Server sono supportate come, ad esempio, snapshot del database, filestream e CHECKDB senza TABLOCK. Per informazioni dettagliate, rivedere Limitazioni.
Limitazioni:
- Disponibili solo per Windows Server 2012 e versioni successive.
- FileStream non è supportato.
- Microsoft Distributed Transaction Coordinator (MSDTC) non è supportato.
Per iniziare, vedere Configurare un’istanza del cluster di failover di SQL Server con condivisione file Premium.
SAN di Elastic in Azure
SAN di Elastic in Azure è un'offerta di archiviazione NAS che offre ai clienti una soluzione flessibile e scalabile con la possibilità di ridurre i costi tramite il consolidamento delle risorse di archiviazione. SAN di Elastic in Azure offre una soluzione di archiviazione a blocchi conveniente, performante e affidabile che si connette a un'ampia gamma di servizi di calcolo di Azure tramite il protocollo iSCSI. SAN di Elastic consente una transizione senza interruzioni da un ambiente di archiviazione SAN esistente al cloud senza dover effettuare il refactoring dell'architettura delle applicazioni.
Nota
La configurazione dell'istanza del cluster di failover con una rete SAN di Elastic in Azure è attualmente in anteprima per SQL Server su macchine virtuali di Azure.
Sistema operativo supportato: Windows Server 2019 e versioni successive
Versione SQL supportata: SQL Server 2022 e versioni successive
Vantaggi:
- SAN di Elastic non è limitata dai limiti di velocità effettiva del disco della macchina virtuale, il che significa che è possibile risparmiare sui costi ottenendo una velocità effettiva desiderata con macchine virtuali più piccole.
- Consolidamento dell'archiviazione e condivisione dinamica delle prestazioni: è possibile risparmiare sui costi consolidando i carichi di lavoro con prestazioni di livello medio-basso con i carichi di lavoro di SQL Server, poiché il pool di archiviazione viene fornito a livello di SAN e le prestazioni vengono condivise tra i carichi di lavoro.
- Consentono di eseguire la migrazione di applicazioni in cluster ad Azure così come sono, grazie al supporto della funzionalità prenotazione permanente SCSI (SCSI PR).
- Consentono di usare un singolo volume condiviso o più volumi in striping per creare un pool di archiviazione condiviso.
- L'archiviazione con ridondanza della zona (ZRS) della rete SAN di Elastic supporta le zone di disponibilità. Le macchine virtuali che fanno parte dell'istanza del cluster di failover possono essere posizionate in zone di disponibilità diverse.
Limitazioni:
- Il cloud di controllo non è attualmente supportato.
- Non supporta carichi di lavoro con latenza inferiore al millisecondo.
- FileStream non è supportato.
- Microsoft Distributed Transaction Coordinator (MSDTC) non è supportato.
Partner
Sono disponibili soluzioni di clustering dei partner con archiviazione supportata.
Sistema operativo supportato: tutti
Versione di SQL supportata: tutte
Un unico esempio usa SIOS DataKeeper come risorsa di archiviazione. Per altre informazioni, vedere il post di blog su clustering di failover e SIOS DataKeeper.
iSCSI e ExpressRoute
È anche possibile esporre una risorsa di archiviazione a blocchi condivisa con destinazione iSCSI tramite Azure ExpressRoute.
Sistema operativo supportato: tutti
Versione di SQL supportata: tutte
Ad esempio, NetApp Private Storage (NPS) espone una destinazione iSCSI tramite ExpressRoute con Equinix a macchine virtuali di Azure.
Per le soluzioni di replica dei dati e archiviazione condivisa dei partner Microsoft, contattare il fornitore in caso di problemi di accesso ai dati durante il failover.
Connettività
Per replicare l'esperienza locale di connessione all'istanza del cluster di failover, distribuire le macchine virtuali di SQL Server in più subnet all'interno della stessa rete virtuale. La presenza di più subnet annulla la necessità di una dipendenza aggiuntiva su Azure Load Balancer o da un nome di rete distribuita (DNN) per instradare il traffico all'istanza del cluster di failover.
Se si distribuiscono le macchine virtuali di SQL Server in una singola subnet, è possibile configurare un nome di rete virtuale (VNN) e un'istanza di Azure Load Balancer o un nome di rete distribuita (DNN) per instradare il traffico all'istanza del cluster di failover. Revisionare le differenze tra i due e quindi distribuire un nome di rete distribuita o un nome di rete virtuale per l'istanza del cluster di failover.
Il nome di rete distribuito è consigliato, se possibile, poiché il failover è più veloce e il costo e il sovraccarico della gestione del servizio di bilanciamento del carico viene eliminato.
Quando si usa la DNN, la maggior parte delle funzionalità di SQL Server funziona in modo trasparente con l'istanza del cluster di failover, ma esistono alcune funzionalità che possono richiedere particolari considerazioni. Per altre informazioni, vedere Interoperabilità tra istanza del cluster di failover e nome di rete distribuita.
Nota
Se sono presenti più gruppi di disponibilità o istanze del cluster di failover nello stesso cluster e si usa un listener DNN o VNN, ogni gruppo di disponibilità o istanza del cluster di failover necessita di un proprio punto di connessione indipendente.
Limiti
Supporto limitato delle estensioni
Al momento, le istanze del cluster di failover di SQL Server in macchine virtuali di Azure registrate con l'estensione SQL IaaS Agent supportano solo un numero limitato di funzionalità disponibili tramite la registrazione di base e non quelle che richiedono l'agente, ad esempio il backup automatizzato, l'applicazione di patch, l'autenticazione di Microsoft Entra e la gestione avanzata del portale. Per altre informazioni, vedere la tabella dei vantaggi.
Se la VM di SQL Server è già stata registrata con l'estensione SQL IaaS Agent ed è stata abilitata qualsiasi funzionalità che richiede l'agente, è necessario eliminare l'estensione dalla VM di SQL Server eliminando la risorsa macchina virtuale SQL per le VM corrispondenti e quindi registrarla nuovamente con l'estensione SQL IaaS Agent. Per eliminare la risorsa Macchina virtuale SQL tramite il portale di Azure, deselezionare la casella di controllo accanto alla macchina virtuale corretta per evitare di eliminare quest'ultima.
MSDTC
Le macchine virtuali di Azure supportano Microsoft Distributed Transaction Coordinator (MSDTC) in Windows Server 2019, con archiviazione in volumi condivisi del cluster (CSV) e Load Balancer Standard di Azure, oppure nelle VM di SQL Server che usano dischi condivisi di Azure.
Nelle macchine virtuali di Azure, MSDTC non è supportato in Windows Server 2016 o versione precedente con volumi condivisi del cluster per i motivi seguenti:
- La risorsa MSDTC in cluster non può essere configurata per usare la risorsa di archiviazione condivisa. In Windows Server 2016, se si crea una risorsa MSDTC, non verrà visualizzata alcuna risorsa di archiviazione condivisa disponibile per l'uso, anche se lo spazio di archiviazione è disponibile. Questo problema è stato risolto per Windows Server 2019.
- Il servizio di bilanciamento del carico di base non gestisce le porte RPC.
Contenuto correlato
- Procedure consigliate per la configurazione HADR (SQL Server nelle macchine virtuali di Azure)
- Preparare macchine virtuali per un'istanza del cluster di failover (Server SQL in Macchine virtuali di Azure)
- Cluster di failover di Windows Server con SQL Server
- Panoramica dell'istanza del cluster di failover