Istanze di cluster di failover con SQL Server su 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, prepara la macchina virtuale.
Panoramica
SQL Server su macchine virtuali di Azure usa la funzionalità Clustering di failover di Windows Server (WSFC) per fornire elevata disponibilità locale tramite la ridondanza a livello di istanza del server, ovvero un'istanza del cluster di failover. Un'istanza del cluster di failover (FCI) è una singola istanza di SQL Server installata tra i nodi di WSFC (o semplicemente del cluster) e, possibilmente, su più subnet. Nella rete, un'istanza di Cluster di Failover (FCI) appare come un'istanza di SQL Server in esecuzione su un singolo computer. Tuttavia, il cluster di failover fornisce trasferimento da un nodo del WSFC a un altro quando quello attuale 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 su macchine virtuali Azure supportano l'uso di un disco testimone, una testimone cloud o una condivisione file come testimone per il quorum del cluster.
Per altre informazioni, vedere Procedure consigliate per il quorum con machine virtuali di SQL Server in Azure.
Archiviazione
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) | Azure Elastic SAN | |
---|---|---|---|---|
Versione minima del sistema operativo | Tutto | Windows Server 2012 | Windows Server 2016 | Windows Server 2022 |
Versione minima di SQL Server | Tutti | SQL Server 2012 | SQL Server 2016 | SQL Server 2022 |
Disponibilità di VM supportate |
Premium SSD LRS: Set di disponibilità con o senza gruppi di posizionamento di prossimità Premium SSD ZRS: 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. Il clustering di failover di Windows Server (WSFC) supporta l'utilizzo di dischi condivisi di Azure con istanze di 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.
- È possibile migrare le applicazioni in cluster ad Azure così come sono configurate, grazie al supporto della funzionalità SCSI PR (SCSI Persistent Reservations).
- Supporta unità SSD Premium di Azure, Premium SSDv2 e Archiviazione su disco Ultra di Azure.
- È possibile usare un singolo disco condiviso o in striping più dischi condivisi 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 VM che fanno parte dell'istanza del cluster di failover (FCI) possono essere distribuite in diverse zone di disponibilità.
- 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.
- Dischi Ultra non supportano set di disponibilità o archiviazione a ridondanza di 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
Storage Spaces Direct è una funzionalità di Windows Server che è 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.
File Premium di condivisione
Le condivisioni file Premium sono una funzionalità di File di Azure. I file share Premium sono supportati da SSD e offrono una latenza costantemente bassa. Le istanze sono pienamente supportate per l'uso con cluster di failover per SQL Server 2012 o versioni successive su Windows Server 2012 o versioni successive. 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 scalabilità delle prestazioni di I/O.
- 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 Elastiche di 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.
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.
- Supporta le prenotazioni permanenti SCSI (SCSI PR), il che significa che è possibile migrare applicazioni in cluster ad Azure così come sono.
- Si può usare un singolo volume condiviso o eseguire lo striping su più volumi condivisi per creare un pool di storage condiviso.
- L'archiviazione SAN elastica con ridondanza a zona 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 testimone nel cloud non è attualmente supportato.
- Non supporta carichi di lavoro con latenza inferiore al millisecondo.
- FileStream non è supportato.
- Microsoft Distributed Transaction Coordinator (MSDTC) non è supportato.
Socio
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 vengono eliminati il costo e l'overhead della gestione del servizio di bilanciamento del carico.
Quando si usa la DNN, la maggior parte delle funzionalità di SQL Server funziona in modo trasparente con le istanze di cluster di failover, ma ci sono alcune funzionalità che potrebbero richiedere attenzione particolare. Per ulteriori informazioni, vedere interoperabilità tra FCI e DNN.
Nota
Se sono presenti più AG o FCI nello stesso cluster e si usa un listener DNN o VNN, ogni AG o FCI 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 FCI (SQL Server su Macchine Virtuali di Azure)
- Cluster di failover di Windows Server con SQL Server su macchine virtuali Azure
- Panoramica dell'istanza del cluster di failover