Erstellen einer FCI mit „Direkte Speicherplätze“ (SQL-Server auf Azure-VMs)

Gilt für: SQL Server auf Azure-VMs

Tipp

Es gibt viele Methoden zum Bereitstellen einer Verfügbarkeitsgruppe. Vereinfachen Sie Ihre Bereitstellung, indem Sie Ihre SQL Server-VMs in mehreren Subnetzen innerhalb desselben virtuellen Azure-Netzwerks erstellen. So benötigen Sie weder eine Azure Load Balancer-Instanz noch einen verteilten Netzwerknamen (DNN) für Ihre Always On-Verfügbarkeitsgruppe. Wenn Sie Ihre Verfügbarkeitsgruppe bereits in einem einzelnen Subnetz erstellt haben, können Sie sie in eine Umgebung mit mehreren Subnetzen migrieren.

In diesem Artikel wird erläutert, wie Sie mit SQL-Server auf virtuellen Azure-Computern (VMs) eine Failoverclusterinstanz (FCI) mit Direkte Speicherplätze erstellen. „Direkte Speicherplätze“ fungiert hierbei als softwarebasiertes virtuelles Storage Area Network (VSAN), in dem der Speicher (Datenträger) zwischen den Knoten (Azure-VMs) in einem Windows-Cluster synchronisiert wird.

Weitere Informationen finden Sie in der Übersicht zu FCI mit SQL Server auf Azure-VMs und über Bewährte Methoden für Cluster.

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.

Übersicht

Direkte Speicherplätze (S2D) unterstützt zwei Arten von Architekturen: „konvergent“ und „hyperkonvergent“. In einer hyperkonvergenten Infrastruktur wird der Speicher auf denselben Servern angeordnet, auf denen die gruppierte Anwendung gehostet wird, sodass sich auf jedem SQL-Server-FCI-Knoten Speicher befindet.

Im folgenden Diagramm wird die vollständige Lösung veranschaulicht, wobei hyperkonvergentes „Direkte Speicherplätze“ mit SQL Server auf Azure-VMs verwendet wird:

Diagramm der vollständigen Lösung mit hyperkonvergentem „Direkte Speicherplätze“.

Das obige Diagramm zeigt die folgenden Ressourcen in derselben Ressourcengruppe:

  • Zwei virtuelle Computer in einem Windows Server-Failovercluster. Wenn sich ein virtueller Computer in einem Failovercluster befindet, wird dieser auch als Clusterknoten oder Knoten bezeichnet.
  • Jeder virtuelle Computer verfügt mindestens über zwei Datenträger für Daten.
  • Direkte Speicherplätze synchronisiert die Daten auf dem Datenträger und stellt den synchronisierten Speicher als Speicherpool dar.
  • Der Speicherpool stellt ein freigegebenes Clustervolume (CSV) für den Failovercluster dar.
  • Die SQL Server-FCI-Clusterrolle verwendet das CSV für die Datenträger für Daten.
  • Ein Azure Load Balancer, um die IP-Adresse für die SQL Server FCI für ein einzelnes Subnetz-Szenario zu halten.
  • Eine Azure-Verfügbarkeitsgruppe enthält alle Ressourcen.

Hinweis

Sie können diese ganze Lösung in Azure über eine Vorlage erstellen. Ein Beispiel für eine Vorlage ist auf der GitHub-Seite Azure-Schnellstartvorlagen verfügbar. Dieses Beispiel wurde nicht für eine bestimmte Workload entworfen und auch nicht entsprechend getestet. Sie können die Vorlage ausführen, um eine SQL Server-FCI mit einer Verbindung für „Direkte Speicherplätze“-Speicher mit Ihrer Domäne zu erstellen. Sie können die Vorlage auswerten und für Ihre Zwecke anpassen.

Voraussetzungen

Bevor Sie die in diesem Artikel aufgeführten Anweisungen ausführen, sollten Sie über Folgendes verfügen:

Windows Failover Cluster erstellen

Die Schritte zum Erstellen ihres Windows Server-Failover-Clusters unterscheiden sich zwischen einzelnen Subnetz- und Multi-Subnetzumgebungen. Um Ihren Cluster zu erstellen, folgen Sie den Schritten in der Anleitung entweder für ein Multi-Subnetz-Szenario oder ein Einzel-Subnetz-Szenario. Obwohl diese Anleitungen eine Verfügbarkeitsgruppe erstellen, sind die Schritte zur Erstellung des Clusters die gleichen wie für eine Failoverclusterinstanz.

Konfigurieren des Quorums

Obwohl der Datenträgerzeuge die resilienteste Option für das Quorum ist, wird er für Failoverclusterinstanzen, die mit direkten Speicherplätzen konfiguriert sind, nicht unterstützt. Daher ist der Cloudzeuge die empfohlene Quorumlösung für eine derartige Clusterkonfiguration für SQL Server auf Azure-VMs.

Wenn Sie im Cluster über eine gerade Anzahl von Stimmen verfügen, konfigurieren Sie die Quorumlösung, die Ihren Geschäftsanforderungen am besten entspricht. Weitere Informationen finden Sie unter Quorum mit SQL Server-VMs.

Überprüfen des Clusters

Validieren Sie den Cluster in der Failover Cluster Manager-Benutzeroberfläche oder mithilfe von PowerShell.

Um den Cluster über die Benutzeroberfläche zu validieren, gehen Sie auf einem der beiden virtuellen Computer folgendermaßen vor:

  1. Wählen Sie in Server-Manager die Option Tools aus, und wählen Sie dann Failovercluster-Manager aus.

  2. Klicken Sie im Failovercluster-Manager mit der rechten Maustaste auf den Cluster, und wählen Sie Cluster überprüfen aus, um den Konfigurations-Assistenten zu öffnen.

  3. Wählen Sie im Assistenten zum Überprüfen eines Konfigurations-Assistenten Weiter aus.

  4. Geben Sie auf der Seite Server oder Cluster auswählen die Namen der beiden virtuellen Computer ein.

  5. Wählen Sie auf der Seite Testoptionen die Option Nur ausgewählte Tests ausführen aus.

  6. Wählen Sie Weiter aus.

  7. Wählen Sie unter Testauswahl alle Tests außer Speicherung:

    Screenshot der Auswahl von Clustervalidierungstests.

  8. Wählen Sie Weiter aus.

  9. Wählen Sie auf der Bestätigungsseite die Option Weiter aus. Der Konfigurationsüberprüfungs-Assistent führt die Validierungstests aus.

Führen Sie zum Validieren des Clusters mit PowerShell das folgende Skript in einer PowerShell-Administratorsitzung auf einem der virtuellen Computer aus:

Test-Cluster –Node ("<node1>","<node2>") –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

Hinzufügen von Speicher

Die Datenträger für „Direkte Speicherplätze“ müssen leer sein. Sie dürfen keine Partitionen oder andere Daten enthalten. Befolgen Sie die Anweisungen unter Bereitstellen von „Direkte Speicherplätze“, um die Datenträger zu bereinigen.

  1. Aktivieren von „Direkte Speicherplätze“.

    Mit dem folgenden PowerShell-Skript wird „Direkte Speicherplätze“ aktiviert:

    Enable-ClusterS2D
    

    Im Failovercluster-Manager wird jetzt der Speicherpool angezeigt.

  2. Erstellen eines Volumes

    „Direkte Speicherplätze“ erstellt automatisch einen Speicherpool, wenn Sie „Direkte Speicherplätze“ aktivieren. Sie können jetzt ein Volume erstellen. Das PowerShell-Cmdlet New-Volume automatisiert den Volumeerstellungsprozess. Dieser Prozess umfasst Formatieren, Hinzufügen des Volumes zum Cluster und das Erstellen eines CSV. In diesem Beispiel wird ein CSV mit 800 Gigabyte (GB) erstellt:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    Wenn Sie den obigen Befehl ausgeführt haben, wird ein Volume mit 800 GB als Clusterressource bereitgestellt. Das Volume befindet sich unter C:\ClusterStorage\Volume1\.

    Dieser Screenshot zeigt ein CSV mit „Direkte Speicherplätze“:

    Screenshot eines freigegebenen Clustervolumes mit „Direkte Speicherplätze“.

Testen des Failovers des Clusters

Testen Sie das Failover Ihres Clusters. Klicken Sie im Failovercluster-Manager mit der rechten Maustaste auf den Cluster, und wählen Sie Weitere Aktionen>Hauptclusterressource verschieben>Knoten auswählen und dann den anderen Knoten des Clusters aus. Verschieben Sie die Hauptclusterressource auf alle Knoten des Clusters und dann zurück auf den primären Knoten. Wenn Sie den Cluster erfolgreich auf jeden Knoten verschieben können, können Sie SQL Server installieren.

Screenshot, der Test-Clusterfailover durch Verschieben der Hauptressource auf die anderen Knoten zeigt.

Erstellen der SQL Server-FCI

Nachdem Sie den Failovercluster und alle Clusterkomponenten einschließlich Speicher konfiguriert haben, können Sie die SQL Server-FCI erstellen.

Erstellen des ersten Knotens in der SQL-FCI

Führen Sie die folgenden Schritte aus, um den ersten Knoten im SQL Server-FCI zu erstellen:

  1. Stellen Sie die Verbindung mit dem ersten virtuellen Computer per RDP oder Bastion her.

  2. Stellen Sie im Failovercluster-Manager sicher, dass sich alle Kernressourcen des Clusters auf dem ersten virtuellen Computer befinden. Verschieben Sie alle Ressourcen auf diesen virtuellen Computer, falls dies erforderlich ist.

  3. Wenn die Version des Betriebssystems Windows Server 2019 ist und der Windows-Cluster mit dem standardmäßigen DNN (Distributed Network Name)erstellt wurde, tritt bei der FCI-Installation für SQL Server2017 und frühere Versionen der Fehler The given key was not present in the dictionary auf.

    Während der Installation fragt das SQL Server-Setup den vorhandenen VNN (Virtual Network Name) ab und erkennt den DNN des Windows-Clusters nicht. Das Problem wurde im SQL Server 2019-Setup behoben. Führen Sie für SQL Server 2017 und Vorgängerversionen die folgenden Schritte aus, um den Installationsfehler zu vermeiden:

    • Stellen Sie im Failovercluster-Manager eine Verbindung mit dem Cluster her, klicken Sie mit der rechten Maustaste auf Rollen, und wählen Sie Leere Rolle erstellen aus.
    • Klicken Sie mit der rechten Maustaste auf die neu erstellte leere Rolle, und wählen Sie Ressource hinzufügen und dann Clientzugriffspunkt aus.
    • Geben Sie einen beliebigen Namen ein, und schließen Sie den Assistenten ab, um den Clientzugriffspunkt zu erstellen.
    • Nach Abschluss der SQL Server FCI-Installation kann die Rolle mit dem temporären Clientzugriffspunkt gelöscht werden.
  4. Suchen Sie nach den Installationsmedien. Wenn für den virtuellen Computer eines der Azure Marketplace-Images verwendet wird, befinden sich die Medien unter C:\SQLServer_<version number>_Full. Wählen Sie Setup aus.

  5. Wählen Sie im SQL Server-Installationscenter die Option Installation aus.

  6. Wählen Sie Neue SQL Server-Failoverclusterinstallation aus. Befolgen Sie im Assistenten die Anleitung zum Installieren der SQL Server-FCI.

  7. Auf der Seite Cluster-Netzwerkkonfiguration variiert die IP, die Sie angeben, je nachdem, ob Ihre SQL Server-VMs in einem einzelnen Subnetz oder in mehreren Subnetzen bereitgestellt wurden.

    1. Für eine Einzelsubnetz-Umgebung geben Sie die IP-Adresse an, die Sie dem Azure Load Balancer hinzufügen möchten.
    2. Für eine Multi-Subnetz-Umgebung, geben Sie die sekundäre IP-Adresse im Subnetz der ersten SQL Server-VM an, die Sie zuvor als IP-Adresse des Netzwerknamens der Failover-Cluster-Instanz festgelegt haben:

    Screenshot, der die sekundären IP-Adresse im Subnetz der ersten SQL Server-VM zeigt.

  8. In Datenbank-Engine-Konfiguration müssen sich die FCI-Datenverzeichnisse auf einem geclusterten Speicher befinden. Bei „Direkte Speicherplätze“ handelt es sich nicht um einen freigegebenen Datenträger, sondern um einen Bereitstellungspunkt für ein Volume auf jedem Server. „Direkte Speicherplätze“ synchronisiert das Volume zwischen beiden Knoten. Das Volume wird dem Cluster als CSV angezeigt. Verwenden Sie den CSV-Bereitstellungspunkt für die Datenverzeichnisse.

    Screenshot der Datenverzeichnisse.

  9. Nach Abschluss der Schritte des Assistenten wird vom Setup eine SQL Server-FCI auf dem ersten Knoten installiert.

Hinzufügen zusätzlicher Knoten der SQL-FCI

Führen Sie die folgenden Schritte aus, um dem SQL Server-FCI einen zusätzlichen Knoten hinzuzufügen:

  1. Nachdem die FCI-Installation auf dem ersten Knoten erfolgreich war, verbinden Sie sich über RDP oder Bastion mit dem zweiten Knoten.

  2. Öffnen Sie das SQL Server-Installationscenter. Wählen Sie Installation aus.

  3. Wählen Sie Knoten einem SQL Server-Failovercluster hinzufügen aus. Folgen Sie den Anweisungen des Assistenten, um SQL Server zu installieren und den Knoten zur FCI hinzuzufügen.

  4. Für ein Szenario mit mehreren Subnetzen geben Sie in Cluster-Netzwerkkonfiguration die sekundäre IP-Adresse im Subnetz der zweiten SQL Server-VM ein, die Sie zuvor als IP-Adresse des Netzwerknamens der Failover-Clusterinstanz

    Screenshot der Eingabe der sekundären IP-Adresse im Subnetz des zweiten SQL Server-VM-Subnetes.

    Nach Auswahl von Weiter in Cluster-Netzwerkkonfiguration zeigt das Setup ein Dialogfeld an, das anzeigt, dass das SQL Server-Setup mehrere Subnetze erkannt hat, wie im Beispielbild. Klicken Sie auf Ja, um zu bestätigen.

    Screenshot der Multi-Subnetz-Bestätigung.

  5. Nachdem Sie die Anweisungen des Assistenten ausgeführt haben, fügt das Setup den zweiten SQL Server FCI-Knoten hinzu.

  6. Wiederholen Sie diese Schritte auf allen anderen Knoten, die Sie der SQL Server-Failoverclusterinstanz hinzufügen möchten.

Hinweis

Die Galeriebilder des Azure Marketplace werden mit installiertem SQL Server Management Studio geliefert. Wenn Sie kein Marketplace-Image verwendet haben Laden Sie SQL Server Management Studio (SSMS) herunter .

Registrieren eines virtuellen Computers mit der SQL-IaaS-Agent-Erweiterung

Um Ihre SQL Server-VM über das Portal zu verwalten, registrieren Sie sie bei der SQL-IaaS-Agent-Erweiterung. Beachten Sie, dass nur eingeschränkte Funktionen für die SQL Server-VMs verfügbar sind, die über Failoverclusterinstanzen von SQL Server (FCIs) verfügen.

Hinweis

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.

Registrieren Sie eine SQL Server-VM mit PowerShell (-LicenseType kann PAYG oder AHUB sein):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>
         
# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Konfigurieren von Konnektivität

Wenn Sie Ihre SQL Server-VMs in mehreren Subnetzen bereitgestellt haben, überspringen Sie diesen Schritt. Wenn Sie Ihre SQL Server-VMs in einem einzigen Subnetz bereitgestellt haben, müssen Sie eine zusätzliche Komponente konfigurieren, um den Datenverkehr zu Ihrer FCI zu leiten. Sie können einen virtuellen Netzwerknamen (VNN) mit einem Azure Load Balancer oder einen verteilten Netzwerknamen für eine Failover-Cluster-Instanz konfigurieren. Überprüfen Sie die Unterschiede zwischen den beiden und stellen Sie dann entweder einen verteilten Netzwerknamen oder einen virtuellen Netzwerknamen und Azure Load Balancer für Ihre Failover-Cluster-Instanz bereit.

Begrenzungen

  • Datenträger, die als NTFS-formatierte Datenträger angefügt wurden, können nur dann mit „Direkte Speicherplätze“ verwendet werden, wenn die Option für die Datenträgerberechtigung beim Hinzufügen von Speicher zum Cluster deaktiviert ist oder wird.

  • SQL Server-FCIs, die bei der SQL IaaS Agent-Erweiterung registriert sind, unterstützen keine Features, die den Agent erfordern, wie z. B. automatisierte Sicherung, Patching, Microsoft Entra-Authentifizierung und erweiterte Portalverwaltung. Weitere Informationen finden Sie in der Tabelle mit den Vorteilen.

  • Failoverclusterinstanzen, die direkte Speicherplätze als freigegebenen Speicher verwenden, unterstützen die Verwendung eines Datenträgerzeugen für das Quorum des Clusters nicht. Verwenden Sie stattdessen einen Cloudzeugen.

  • Microsoft Distributed Transaction Coordinator (MSDTC) wird von SQL Server auf Azure VM-Failoverclusterinstanzen, die auf direkte Speicherplätze bereitgestellt werden, nicht unterstützt. Weitere Informationen finden Sie unter FCI-Einschränkungen.

  • Microsoft Distributed Transaction Coordinator (MS DTC) wird auf virtuellen Azure-Computern ab Windows Server 2019 und später unterstützt, wenn sie auf dedizierten Freigegebenen Clustervolumes (CSVs) und unter Verwendung eines Load Balancer Standard bereitgestellt werden. MSDTC wird unter Windows Server 2016 und früher nicht unterstützt.

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.

Nächste Schritte

Wenn „Direkte Speicherplätze“ nicht die richtige FCI-Speicherlösung für Sie ist, können Sie Ihre FCI stattdessen mithilfe von freigegebenen Azure-Datenträgern oder Premium-Dateifreigaben erstellen.

Weitere Informationen finden Sie unter: