Exemplaren van failoverclusters met SQL Server op virtuele Azure-machines (VM's).
Van toepassing op: SQL Server op Azure VM
In dit artikel worden de verschillen in functies beschreven wanneer u werkt met exemplaren van failoverclusters (FCI's) voor SQL Server op virtuele Azure-machines (VM's).
Bereid uw vm voor om aan de slag te gaan.
Overzicht
SQL Server op Azure-VM's maakt gebruik van WSFC-functionaliteit (Windows Server Failover Clustering) om lokale hoge beschikbaarheid te bieden via redundantie op serverexemplaren: een failoverclusterexemplaren. Een FCI is één exemplaar van SQL Server dat is geïnstalleerd op WSFC-knooppunten (het cluster) en, mogelijk, in verschillende subnetten. In het netwerk lijkt een FCI één exemplaar van SQL Server te zijn dat op één computer wordt uitgevoerd. Maar de FCI biedt failover van het ene WSFC-knooppunt naar een ander als het huidige knooppunt niet meer beschikbaar is.
De rest van het artikel richt zich op de verschillen voor exemplaren van failoverclusters wanneer deze worden gebruikt met SQL Server Azure-VM's. Lees deze artikelen voor meer informatie over de technologie achter failoverclustering:
Notitie
Het is nu mogelijk om uw oplossing voor het failoverclusterexemplaren te verplaatsen naar SQL Server op Azure-VM's met behulp van Azure Migrate. Zie Failoverclusterexemplaren migreren voor meer informatie.
Quorum
Exemplaren van failoverclusters met SQL Server op virtuele Azure-machines ondersteunen het gebruik van een schijf-witness, een cloud-witness of een bestandsshare-witness voor clusterquorum.
Zie Cluster configuration best practices (SQL Server on Azure VMs) (Best practices voor clusterconfiguratie (SQL Server op Azure-VM's)) voor meer informatie.
Storage
In traditionele on-premises geclusterde omgevingen gebruikt een Windows-failovercluster een SAN (Storage Area Network) dat door beide knooppunten als gedeelde opslag toegankelijk is. SQL Server-bestanden worden gehost in de gedeelde opslag, en alleen het actieve knooppunt heeft op enig moment toegang tot de bestanden.
SQL Server op Azure-VM's biedt verschillende opties als een oplossing voor gedeelde opslag voor een implementatie van exemplaren van failoverclusters met SQL Server:
Gedeelde Azure-schijven | Premium-bestandsshares | S2D (Storage Spaces Direct) | |
---|---|---|---|
Minimale versie van het besturingssysteem | Alle | Windows Server 2012 | Windows Server 2016 |
Minimale versie van SQL Server | Alle | SQL Server 2012 | SQL Server 2016 |
Ondersteunde VM-beschikbaarheid | Premium SSD LRS: Beschikbaarheidssets met of zonder nabijheidsplaatsingsgroep Premium SSD ZRS: Beschikbaarheidszones Ultraschijven: Dezelfde beschikbaarheidszone |
Beschikbaarheidssets en beschikbaarheidszones | Beschikbaarheidssets |
Ondersteunt FileStream | Ja | Geen | Ja |
Azure blob-cache | Nee | Nee | Ja |
In de rest van deze sectie vindt u een overzicht van de voordelen en beperkingen van elke opslagoptie die beschikbaar is voor SQL Server op Azure-VM's.
Gedeelde Azure-schijven
Gedeelde Azure-schijven is een functie van Azure Managed Disks. Windows Server Failover Clustering ondersteunt het gebruik van gedeelde Azure-schijven met een exemplaar van een failovercluster.
Ondersteund besturingssysteem: alle
Ondersteunde SQL-versie: alle
Voordelen:
- Handig voor toepassingen die moeten worden gemigreerd naar Azure, met behoud van hun architectuur voor hoge beschikbaarheid en herstel na noodgevallen (HADR).
- Geclusterde toepassingen kunnen ongewijzigd naar Azure worden gemigreerd door de ondersteuning voor SCSI PR (SCSI Persistent Reservations).
- Biedt ondersteuning voor opslag met Azure Premium SSD en Azure Ultra Disk-opslag.
- Met behulp van één gedeelde schijf of meerdere gedeelde schijven met striping kan een gedeelde opslaggroep worden gemaakt.
- Ondersteunt FILESTREAM.
- Premium SSD's-beschikbaarheidssets voor ondersteuning.
- Premium SSD's Zone Redundant Storage (ZRS) ondersteunt Beschikbaarheidszones. VM's die deel uitmaken van FCI kunnen in verschillende beschikbaarheidszones worden geplaatst.
Notitie
Hoewel gedeelde Azure-schijven ook ondersteuning bieden voor Standard SSD-grootten, raden we u niet aan Standard SSD's te gebruiken voor SQL Server-workloads vanwege de prestatiebeperkingen.
Beperkingen:
- Premium SSD-schijfcaching wordt niet ondersteund.
- Ultraschijven bieden geen ondersteuning voor beschikbaarheidssets.
- Beschikbaarheidszones worden ondersteund voor Ultra Disks, maar de VM's moeten zich in dezelfde beschikbaarheidszone bevinden, waardoor de beschikbaarheid van de virtuele machine tot 99,9% wordt verminderd
- Ultraschijven bieden geen ondersteuning voor Zone Redundant Storage (ZRS)
Zie Create an FCI with Azure shared disks (SQL Server on Azure VMs) (Een FCI maken met gedeelde Azure-schijven (SQL Server op Azure-VM's)) om aan de slag te gaan.
Opslagruimten Direct
Storage Spaces Direct is een Windows Server-functie die wordt ondersteund met failoverclustering op virtuele Azure-machines. De functie biedt een virtueel SAN op basis van software.
Ondersteund besturingssysteem: Windows Server 2016 en hoger
Ondersteunde SQL-versie: SQL Server 2016 en hoger
Voordelen:
- Voldoende netwerkbandbreedte zorgt voor een stabiele en goed presterende oplossing voor gedeelde opslag.
- Biedt ondersteuning voor Azure blob-cache, zodat leesbewerkingen lokaal vanuit de cache kunnen worden verwerkt. (Updates worden gelijktijdig gerepliceerd naar beide knooppunten.)
- Ondersteunt FileStream.
Beperkingen:
- Alleen beschikbaar voor Windows Server 2016 en hoger.
- Beschikbaarheidszones worden niet ondersteund.
- Vereist dat aan beide virtuele machines dezelfde schijfcapaciteit is gekoppeld.
- Hoge netwerkbandbreedte is vereist voor hoge prestaties vanwege de continue replicatie van de schijf.
- Vereist een grotere VM-grootte en dubbele betaling voor opslag, omdat opslag is gekoppeld aan elke VM.
Zie Create an FCI with Storage Spaces Direct (SQL Server on Azure VMs) (Een FCI maken met Storage Spaces Direct (SQL Server op Azure-VM's)) om aan de slag te gaan.
Premium-bestandsshare
Premium-bestandsshares zijn een functie van Azure Files. Premium-bestandsshares worden opgeslagen op een SSD en hebben een consistent lage latentie. Ze worden volledig ondersteund voor gebruik met exemplaren van failoverclusters voor SQL Server 2012 of hoger met Windows Server 2012 of hoger. Premium-bestandsshares bieden meer flexibiliteit, omdat u een bestandsshare zonder downtime kunt vergroten of verkleinen en schalen.
Ondersteund besturingssysteem: Windows Server 2012 en hoger
Ondersteunde SQL-versie: SQL Server 2012 en hoger
Voordelen:
- Gedeelde opslagoplossing voor virtuele machines verspreid over meerdere beschikbaarheidszones.
- Volledig beheerd bestandssysteem met zeer lage latentie en goede I/O-prestaties met burstmogelijkheden.
Beperkingen:
- Alleen beschikbaar voor Windows Server 2012 en hoger.
- FileStream wordt niet ondersteund.
Zie Create an FCI with a premium file share (SQL Server on Azure VMs) (Een FCI maken met een Premium-bestandsshare (SQL Server op Azure-VM's)) om aan de slag te gaan.
Partner
Er zijn oplossingen voor clustering met ondersteunde partneropslag.
Ondersteund besturingssysteem: alle
Ondersteunde SQL-versie: alle
Een voorbeeld is om SIOS DataKeeper als opslag te gebruiken. Zie voor meer informatie het blogbericht Failover clustering and SIOS DataKeeper.
iSCSI en ExpressRoute
U kunt ook gedeelde blokopslag op een iSCSI-doel beschikbaar maken via Azure ExpressRoute.
Ondersteund besturingssysteem: alle
Ondersteunde SQL-versie: alle
NetApp Private Storage (NPS) biedt bijvoorbeeld een iSCSI-doel aan voor Azure-VM's via ExpressRoute met Equinix.
In het geval van oplossingen van Microsoft-partners voor gedeelde opslag en gegevensreplicatie neemt u contact op met de leverancier als er problemen zijn met de toegang tot gegevens bij failover.
Connectiviteit
Als u wilt overeenkomen met de on-premises ervaring voor het maken van verbinding met uw failoverclusterexemplaren, implementeert u uw SQL Server-VM's in meerdere subnetten binnen hetzelfde virtuele netwerk. Als u meerdere subnetten hebt, hoeft u geen extra afhankelijkheid te hebben van een Azure Load Balancer of een gedistribueerde netwerknaam (DNN) om uw verkeer naar uw FCI te routeren.
Als u uw SQL Server-VM's implementeert in één subnet, kunt u een naam van een virtueel netwerk (VNN) en een Azure Load Balancer of een gedistribueerde netwerknaam (DNN) configureren om verkeer naar uw failoverclusterexemplaren te routeren. Bekijk de verschillen tussen de twee en implementeer vervolgens een gedistribueerde netwerknaam of een naam van een virtueel netwerk voor uw failoverclusterexemplaren.
De gedistribueerde netwerknaam wordt aanbevolen, indien mogelijk, omdat failover sneller is en de overhead en kosten voor het beheer van de load balancer worden geëlimineerd.
De meeste SQL Server-functies werken transparant met CCI's bij het gebruik van de DNN, maar er zijn bepaalde functies waarvoor speciale aandacht nodig kan zijn. Zie FCI- en DNN-interoperabiliteit voor meer informatie.
Beperkingen
Houd rekening met de volgende beperkingen voor exemplaren van failoverclusters met SQL Server op virtuele Azure-machines.
Beperkte ondersteuning voor extensies
Op dit moment ondersteunen exemplaren van SQL Server-failoverclusters op virtuele Azure-machines, die zijn geregistreerd bij de SQL IaaS Agent-extensie, slechts een beperkt aantal functies. Bekijk de tabel met voordelen.
Als uw SQL Server-VM al is geregistreerd bij de SQL IaaS Agent-extensie en u alle functies hebt ingeschakeld waarvoor de agent is vereist, moet u de registratie van de extensie ongedaan maken door de RESOURCE van de virtuele SQL-machine voor de bijbehorende VM's te verwijderen en deze vervolgens opnieuw te registreren bij de SQL IaaS Agent-extensie. Wanneer u de resource van de virtuele SQL-machine verwijdert met behulp van Azure Portal, schakelt u het selectievakje naast de juiste virtuele machine uit om te voorkomen dat de VM wordt verwijderd.
SQL Server-FCI's die zijn geregistreerd bij de extensie bieden geen ondersteuning voor functies waarvoor de agent is vereist, zoals automatische back-up, patches en geavanceerd portalbeheer. Bekijk de tabel met voordelen.
MSDTC
Virtuele Azure-machines bieden ondersteuning voor MSDTC (Microsoft Distributed Transaction Coordinator) in Windows Server 2019 met opslag op geclusterde gedeelde volumes (CSV) en Azure Standard Load Balancer of op VM's met SQL Server die gebruikmaken van gedeelde Azure-schijven.
MSDTC wordt vanwege deze redenen niet ondersteund op virtuele Azure-machines voor Windows Server 2016 of eerder met geclusterde gedeelde volumes:
- De geclusterde MSDTC-resource kan niet worden geconfigureerd voor het gebruik van gedeelde opslag. Als u in Windows Server 2016 een MSDTC-resource maakt, worden er geen gedeelde opslag weergegeven die beschikbaar is voor gebruik, zelfs niet als opslag beschikbaar is. Dit probleem is opgelost in Windows Server 2019.
- De standaard load balancer biedt geen ondersteuning voor RPC-poorten.