Failoverclusterinstanzen mit SQL Server in Azure Virtual Machines
Gilt für: SQL Server auf Azure-VMs
In diesem Artikel werden Funktionsunterschiede beschrieben, wenn Sie mit Failoverclusterinstanzen (FCIs) für SQL Server in Azure Virtual Machines (VMs) arbeiten.
Bereiten Sie Ihre VM zuerst vor.
Übersicht
SQL Server in Azure Virtual Machines nutzt die Funktion Windows Server-Failoverclustering (WSFC), um lokale Hochverfügbarkeit durch Redundanz auf Serverinstanzebene zu bieten: eine Failoverclusterinstanz. Eine FCI ist eine einzelne Instanz von SQL Server, die über WSFC-Knoten (oder einfach den Cluster) und möglicherweise über mehrere Subnetze hinweg installiert ist. Im Netzwerk scheint eine FCI eine einzelne Instanz von SQL Server zu sein, die auf einem einzelnen Computer ausgeführt wird. Die FCI bietet jedoch Failover von einem WSFC-Knoten auf einen anderen Knoten, wenn der aktuelle Knoten nicht mehr verfügbar ist.
Der restliche Artikel konzentriert sich auf die Unterschiede bei Failoverclusterinstanzen, wenn diese mit SQL Server auf Azure-VMs verwendet werden. Weitere Informationen zur Failoverclusteringtechnologie finden Sie unter:
Hinweis
Sie können Ihre Failoverclusterinstanzlösung jetzt mithilfe von Azure Migrate per Lift-und-Shift-Verfahren zu SQL Server auf Azure-VMs verschieben. Weitere Informationen finden Sie unter Migrieren einer Failoverclusterinstanz zu SQL Server auf Azure-VMs.
Quorum
Failoverclusterinstanzen mit SQL Server in Azure Virtual Machines unterstützen die Verwendung eines Datenträgerzeugen, eines Cloudzeugen oder eines Dateifreigabezeugen für das Clusterquorum.
Weitere Informationen finden Sie unter Bewährten Quorummethoden mit SQL Server-VMs in Azure.
Storage
In herkömmlichen lokalen Clusterumgebungen verwendet ein Windows-Failovercluster ein SAN (Storage Area Network), das für alle Knoten als freigegebener Speicher verfügbar ist. SQL Server-Dateien werden im freigegebenen Speicher gehostet, und nur der aktive Knoten kann jeweils auf die Dateien zugreifen.
SQL Server auf Azure-VMs bietet verschiedene Optionen als freigegebene Speicherlösung für eine Bereitstellung von SQL Server-Failoverclusterinstanzen:
Freigegebene Azure-Datenträger | Premium-Dateifreigaben | Direkte Speicherplätze (S2D) | Azure Elastic SAN | |
---|---|---|---|---|
Betriebssystemversion (Min.) | All | Windows Server 2012 | Windows Server 2016 | Windows Server 2022 |
Mindestversion von SQL Server | All | SQL Server 2012 | SQL Server 2016 | SQL Server 2022 |
Unterstützte VM-Verfügbarkeit | SSD Premium, LRS: Verfügbarkeitsgruppen mit oder ohne Näherungsplatzierungsgruppen SSD Premium, ZRS: Verfügbarkeitszonen Ultra Disks: Dieselbe Verfügbarkeitszone |
Verfügbarkeitsgruppen und Verfügbarkeitszonen | Verfügbarkeitsgruppen | Verfügbarkeitszonen |
Unterstützt FileStream | Ja | Keine | Ja | No |
Unterstützt MS DTC | Ja | Nr. | Nr. | No |
Im restlichen Teil dieses Abschnitts werden die Vorteile und Einschränkungen der einzelnen Speicheroptionen aufgeführt, die für SQL Server auf Azure-VMs verfügbar sind.
Freigegebene Azure-Datenträger
Freigegebene Azure-Datenträger sind eine Funktion von verwalteten Azure-Datenträgern. Windows Server-Failoverclustering unterstützt die Verwendung von freigegebenen Azure-Datenträgern mit einer Failoverclusterinstanz.
Unterstütztes Betriebssystem: All
Unterstützte SQL-Version: All
Vorteile:
- Nützlich für Anwendungen, die zu Azure unter Beibehaltung der HADR-Architektur (High-Availability and Disaster Recovery, Hochverfügbarkeit und Notfallwiederherstellung) migriert werden sollen.
- Clusteranwendungen können aufgrund von SCSI PR-Unterstützung (SCSI Persistent Reservations) unverändert zu Azure migriert werden.
- Unterstützt freigegebenen Azure SSD Premium- und Azure Ultra-Datenträgerspeicher.
- Kann einen einzelnen freigegebenen Datenträger oder Striping für mehrere freigegebene Datenträger verwenden, um einen freigegebenen Speicherpool zu erstellen.
- Unterstützt FILESTREAM.
- SSD Premium-Instanzen unterstützen Verfügbarkeitsgruppen.
- Zonenredundanter Speicher (ZRS) mit SSD Premium unterstützt Verfügbarkeitszonen. VMs, die Teil der Failoverclusterinstanz sind, können in verschiedenen Verfügbarkeitszonen platziert werden.
- Unterstützt Microsoft Distributed Transaction Coordinator (MS DTC) ab Windows Server 2019.
Hinweis
Freigegebene Azure-Datenträger unterstützen zwar auch SSD Standard-Größen, die Verwendung von SSD Standard-Datenträgern für SQL Server-Workloads wird aber aufgrund der Leistungseinschränkungen nicht empfohlen.
Einschränkungen:
- Zwischenspeichern von SSD Premium-Datenträgern wird nicht unterstützt.
- Verfügbarkeitsgruppen oder zonenredundanter Speicher (ZRS) wird von Ultra Disks nicht unterstützt.
- Verfügbarkeitszonen werden für Ultra Disks unterstützt, aber die VMs müssen sich in derselben Verfügbarkeitszone befinden, was die Verfügbarkeit des virtuellen Computers auf 99,9 % reduziert.
Informationen zu den ersten Schritten finden Sie unter Konfigurieren von Failoverclusterinstanz mit freigegebenen Azure-Datenträgern.
Speicherplätze direkt
Direkte Speicherplätze ist eine Windows Server-Funktion, die mit Failoverclustering in Azure Virtual Machines unterstützt wird. Sie bietet ein softwarebasiertes virtuelles SAN.
Unterstütztes Betriebssystem: Windows Server 2016 oder höher
Unterstützte SQL-Version: SQL Server 2016 und höher
Vorteile:
- Ausreichende Netzwerkbandbreite ermöglicht eine robuste und leistungsstarke freigegebene Speicherlösung.
- Unterstützt Azure-Blobcache, damit Lesevorgänge lokal aus dem Cache bedient werden können. (Aktualisierungen werden gleichzeitig auf beide Knoten repliziert.)
- Unterstützt FileStream.
Einschränkungen:
- Nur für Windows Server 2016 oder höher verfügbar.
- Nein, Azure-Verfügbarkeitszonen werden nicht unterstützt.
- Erfordert, dass die gleiche Datenträgerkapazität an beide virtuelle Computer angefügt wird.
- Hohe Netzwerkbandbreite ist erforderlich, um Hochleistung trotz der aktuell ausgeführten Datenträgerreplikation zu erzielen.
- Erfordert eine größere VM-Größe und doppelte Speicherkapazität, da der Speicher an jede VM angefügt wird.
- Die MS DTC-Transaktionen (Microsoft Distributed Transaction Coordinator) werden nicht unterstützt.
Informationen zu den ersten Schritten finden Sie unter Konfigurieren von Failoverclusterinstanz mit direkten Speicherplätzen.
Premium-Dateifreigabe
Premium-Dateifreigaben sind eine Funktion von Azure Files. Premium-Dateifreigaben sind SSD-gestützt und weisen konsistent niedrige Latenz auf. Sie werden für die Verwendung mit Failoverclusterinstanzen für SQL Server 2012 oder höher unter Windows Server 2012 oder höher vollständig unterstützt. Premium-Dateifreigaben bieten Ihnen mehr Flexibilität, weil Sie ohne Ausfallzeiten die Größe der Dateifreigabe ändern und diese skalieren können.
Unterstütztes Betriebssystem: Windows Server 2012 und höher
Unterstützte SQL-Version: SQL Server 2012 und höher
Vorteile:
- Freigegebene Speicherlösung für virtuelle Computer, die auf mehrere Verfügbarkeitszonen verteilt sind
- Vollständig verwaltetes Dateisystem mit einstelligen Latenzzeiten und burstfähiger E/A-Leistung.
- Nicht alle SQL Server-Features werden unterstützt – z. B. Datenbank-Momentaufnahme, Filestream und CHECKDB ohne TABLOCK. Ausführliche Informationen finden Sie unter Einschränkungen.
Einschränkungen:
- Nur für Windows Server 2012 oder höher verfügbar.
- FileStream wird nicht unterstützt.
- Die MS DTC-Transaktionen (Microsoft Distributed Transaction Coordinator) werden nicht unterstützt.
Informationen zu den ersten Schritten finden Sie unter Konfigurieren von Failoverclusterinstanz mit Premium-Dateifreigabe.
Azure Elastic SAN
Azure Elastic SAN ist ein Network Attached Storage-Angebot für eine flexible und skalierbare Lösung, mit der Kunden durch Speicherkonsolidierung Kosten senken können. Azure Elastic SAN bietet eine kostengünstige, leistungsfähige und zuverlässige Blockspeicherlösung, die eine Verbindung mit einer Vielzahl von Azure-Compute-Diensten über das iSCSI-Protokoll herstellt. Elastic SAN ermöglicht einen nahtlosen Übergang von einer vorhandenen SAN-Speicherfläche zur Cloud, ohne die Anwendungsarchitektur umgestalten zu müssen.
Hinweis
Das Konfigurieren Ihrer Failoverclusterinstanz mit einem Azure Elastic SAN befindet sich derzeit in der Vorschau für SQL Server auf Azure-VMs.
Unterstütztes Betriebssystem: Windows Server 2019 oder höher
Unterstützte SQL-Version: SQL Server 2022 und höher
Vorteile:
- Elastic SAN ist nicht durch Grenzwerte des VM-Datenträgerdurchsatzes begrenzt. Dies bedeutet, dass Sie Kosten sparen können, indem Sie einen gewünschten Durchsatz mit kleineren virtuellen Computern erzielen.
- Speicherkonsolidierung und dynamische Leistungsfreigabe – Es ist möglich, Kosten zu sparen, indem Workloads mit niedriger bis mittlerer Leistung mit SQL Server-Workloads konsolidiert werden, da der Speicherpool auf SAN-Ebene bereitgestellt wird und die Leistung über Workloads hinweg freigegeben wird.
- Unterstützt SCSI Persistent Reservations (SCSI PR), d. h. Sie können geclusterte Anwendungen unverändert nach Azure migrieren.
- Kann einen einzelnen freigegebenen Datenträger oder Striping für mehrere freigegebene Datenträger verwenden, um einen freigegebenen Speicherpool zu erstellen.
- Der zonenredundanter Speicher von Elastic SAN unterstützt Verfügbarkeitszonen. VMs, die Teil der Failoverclusterinstanz sind, können in verschiedenen Verfügbarkeitszonen platziert werden.
Einschränkungen:
- Cloud-Zeuge wird derzeit nicht unterstützt.
- Unterstützt keine Latenz-Workloads in Submillisekunden.
- Filestream wird nicht unterstützt.
- Die MS DTC-Transaktionen (Microsoft Distributed Transaction Coordinator) werden nicht unterstützt.
Partner
Es gibt Partnerclusteringlösungen mit unterstütztem Speicher.
Unterstütztes Betriebssystem: All
Unterstützte SQL-Version: All
In einem Beispiel wird SIOS DataKeeper als Speicher verwendet. Weitere Informationen finden Sie im Blogbeitrag Failoverclustering and SIOS DataKeeper.
iSCSI und ExpressRoute
Sie können auch einen freigegebenen iSCSI-Zielblockspeicher über Azure ExpressRoute bereitstellen.
Unterstütztes Betriebssystem: All
Unterstützte SQL-Version: All
Beispielsweise macht NetApp Private Storage (NPS) ein iSCSI-Ziel über ExpressRoute mit Equinix für virtuelle Azure-Computer verfügbar.
Für gemeinsame Speichernutzungs- und Datenreplikationslösungen von Microsoft-Partnern sollten Sie sich an den Hersteller wenden, falls beim Failover Probleme in Bezug auf den Datenzugriff auftreten.
Konnektivität
Um die Verbindung mit Ihrer Failoverclusterinstanz wie in der lokalen Umgebung herzustellen, stellen Sie Ihre SQL Server-VMs in mehreren Subnetzen innerhalb desselben virtuellen Netzwerks bereit. Bei der Verwendung mehrerer Subnetze entfällt die Notwendigkeit einer zusätzlichen Abhängigkeit von einer Azure Load Balancer-Instanz oder von einem verteilten Netzwerknamen (Distributed Network Name, DNN), um Ihren Datenverkehr an Ihre Failoverclusterinstanz weiterzuleiten.
Wenn Sie Ihre SQL Server-VMs in einem einzelnen Subnetz bereitstellen, können Sie einen virtuellen Netzwerknamen (VNN) und eine Azure Load Balancer-Instanz oder einen verteilten Netzwerknamen (Distributed Network Name, DNN) konfigurieren, um Datenverkehr an Ihre Failoverclusterinstanz weiterzuleiten. Machen Sie sich mit den Unterschieden zwischen den beiden Optionen vertraut, und stellen Sie dann entweder einen Namen eines verteilten Netzwerks oder einen Namen eines virtuellen Netzwerks für Ihre Failoverclusterinstanz bereit.
Verwenden Sie nach Möglichkeit den Namen eines verteilten Netzwerks, da das Failover schneller ist und der Mehraufwand und die Kosten für die Verwaltung des Lastenausgleichs wegfallen.
Bei Verwendung des DNN funktionieren die meisten SQL Server-Features transparent mit FCIs. Es gibt jedoch bestimmte Features, die ggf. besondere Aufmerksamkeit erfordern. Weitere Informationen finden Sie unter FCI und DNN-Interoperabilität.
Hinweis
Wenn Sie mehrere AGs oder FCIs auf demselben Cluster haben und entweder einen DNN- oder VNN-Listener einsetzen, benötigt jede AG oder FCI einen eigenen unabhängigen Verbindungspunkt.
Begrenzungen
Eingeschränkte Erweiterungsunterstützung
Zu diesem Zeitpunkt unterstützen SQL Server-Failoverclusterinstanzen auf virtuellen Azure-Computern, die mit der SQL IaaS-Agent-Erweiterung registriert sind, nur eine begrenzte. Anzahl von Features, die über die grundlegende Registrierung verfügbar sind, und nicht diejenigen, die den Agent erfordern, z. B. automatisierte Backups, Patchen, Microsoft Entra-Authentifizierung und erweiterte Portalverwaltung. Weitere Informationen finden Sie in der Tabelle mit den Vorteilen.
Wenn Ihre SQL Server-VM bereits bei der SQL IaaS Agent-Erweiterung registriert wurde, und Sie Features aktiviert haben, die den Agent erfordern, müssen Sie die Erweiterungvon der SQL Server-VM löschen, indem Sie die SQL-VM-Ressource für die entsprechenden VMs löschen und sie dann erneut bei der SQL IaaS Agent-Erweiterung registrieren. Wenn Sie die Ressource Virtueller SQL-Computer mithilfe des Azure-Portals löschen, deaktivieren Sie das Kontrollkästchen neben dem richtigen virtuellen Computer, um das Löschen dieses Computers zu verhindern.
MSDTC
Azure Virtual Machines unterstützt Microsoft Distributed Transaction Coordinator (MS DTC) unter Windows Server 2019 mit Speicher auf freigegebenen Clustervolumes (CSVs) und mit Azure Load Balancer Standard oder auf SQL Server-VMs, die freigegebene Azure-Datenträger verwenden.
In Azure Virtual Machines wird MSDTC unter Windows Server 2016 und früheren Versionen mit freigegebenen Clustervolumes aus den folgenden Gründen nicht unterstützt:
- Die MSDTC-Clusterressource kann nicht für die Verwendung von freigegebenem Speicher konfiguriert werden. Wenn Sie unter Windows Server 2016 eine MSDTC-Ressource erstellen, wird kein freigegebener Speicher für die Verwendung angezeigt, selbst wenn der Speicher verfügbar ist. Dieses Problem wurde in Windows Server 2019 behoben.
- Der einfache Lastenausgleich verarbeitet keine RPC-Ports.