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.