Freigeben über


Erstellen einer FCI mit Storage Spaces Direct (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 Storage Spaces Direct und SQL Server auf virtuellen Azure-Computern (VMs) eine Failoverclusterinstanz (FCI) erstellen. Storage Spaces Direct fungiert als softwarebasiertes virtuelles Speicherbereichsnetzwerk (VSAN), das den Speicher (Datenträger) zwischen den Knoten (Azure-VMs) in einem Windows-Cluster synchronisiert.

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 jetzt Ihre Failoverclusterinstanzlösung mithilfe von Azure Migrate auf AZURE-VMs auf SQL Server heben und verschieben. Weitere Informationen finden Sie unter Migrieren der Failoverclusterinstanz.

Übersicht

Direkte Speicherplätze (S2D) unterstützt zwei Arten von Architekturen: „konvergent“ und „hyperkonvergent“. Eine hyperkonvergierte Infrastruktur platziert den Speicher auf denselben Servern, auf denen die gruppierte Anwendung gehostet wird, sodass jeder SQL Server-FCI-Knoten über einen eigenen Speicher verfügt.

Das folgende Diagramm zeigt die vollständige Lösung, bei der hyperkonvergentes Storage Spaces Direct mit SQL Server auf Azure-VMs verwendet wird.

.diagramm der vollständigen Lösung mittels hyperkonvergenter Storage Spaces Direct.

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.
  • Storage Spaces Direct synchronisiert die Daten auf den Datenträgern und präsentiert den synchronisierten Speicher als Speicherpool.
  • Der Speicherpool präsentiert ein Cluster Shared Volume (CSV) im Failover-Cluster.
  • Die SQL Server-FCI-Clusterrolle verwendet das CSV (Cluster Shared Volume) für die Datenträger.
  • Ein Azure-Lastenausgleich enthält die IP-Adresse für den SQL Server-FCI für ein einzelnes Subnetzszenario.
  • 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 Direkt-Speicherplätzen verbunden mit Ihrer Domäne zu erstellen. Sie können die Vorlage auswerten und für Ihre Zwecke anpassen.

Voraussetzungen

Bevor Sie die Anweisungen in diesem Artikel ausführen, stellen Sie sicher, dass Sie folgendes haben:

Einen 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 Tutorials eine Verfügbarkeitsgruppe erstellen, sind die Schritte zur Erstellung des Clusters bei einer Failoverclusterinstanz identisch.

Konfigurieren des Quorums

Obwohl der Diskzeuge die widerstandsfähigste Option für das Quorum ist, wird er für Failovercluster-Instanzen, die mit Storage Spaces Direct konfiguriert sind, nicht unterstützt. Daher ist der Cloud Witness die empfohlene Lösung für die Quorumkonfiguration bei einer derartigen 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.

Führen Sie die folgenden Schritte auf einem der virtuellen Computer aus, um den Cluster mithilfe der Benutzeroberfläche zu überprüfen:

  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 zur Überprüfung einer Konfiguration, 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ßerStorage:

    Screenshot der Clusterauswahl-Validierungstests.

  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 in Deploy Storage Spaces Direct, um die Datenträger zu bereinigen.

  1. Aktivieren Sie Storage Spaces Direct.

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

    Enable-ClusterS2D
    

    Im Failovercluster-Manager wird jetzt der Speicherpool angezeigt.

  2. Volume erstellen

    „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 die Volumeserstellung. 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
    

    Nachdem Sie den vorherigen Befehl ausgeführt haben, wird ein Volume mit 800 GB als Clusterressource bereitgestellt. Die Lautstärke ist auf C:\ClusterStorage\Volume1\ eingestellt.

    Dieser Screenshot zeigt eine CSV-Datei mit Storage Spaces Direct:

    Screenshot eines Clusterfreigabe-Volumes mit Storage Spaces Direct.

Failover-Test 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 das Test-Cluster-Failover zeigt, indem die Hauptressource auf die anderen Knoten verschoben wird.

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 mithilfe von Bastion eine Verbindung mit dem ersten virtuellen Computer 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 verteilten Netzwerknamen (Distributed Network Name, DNN) erstellt wurde, schlägt die FCI-Installation für SQL Server 2017 und frühere Versionen mit dem Fehler fehl The given key was not present in the dictionary.

    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 in SQL Server 2019 und höheren Versionen behoben. Führen Sie für SQL Server 2017 und frühere Versionen die folgenden Schritte aus, um den Installationsfehler zu vermeiden:

    • Klicken Sie im Failovercluster-Manager 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 können Sie die Rolle löschen, die den temporären Clientzugriffspunkt enthält.
  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 die Anweisungen im Setup-Assistenten, um die SQL Server-Failover Cluster Instance (FCI) zu installieren.

  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. Geben Sie für eine einzelne Subnetzumgebung 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 der Datenbankmodulkonfiguration müssen sich die FCI-Datenverzeichnisse auf dem gruppierten Speicher befinden. Bei Storage Spaces Direct handelt es sich nicht um einen freigegebenen Datenträger, sondern um einen Einbindungspunkt für ein Volume auf jedem Server. Storage Spaces Direct synchronisiert das Volume zwischen beiden Knoten. Das Volume wird dem Cluster als CSV angezeigt. Verwenden Sie den Einbindungspunkt für CSV für die Datenverzeichnisse.

    Screenshot der Datenverzeichnisse.

  9. Nach Abschluss der Anweisungen im Assistenten installiert Setup eine SQL Server-FCI auf dem ersten Knoten.

Hinzufügen zusätzlicher Knoten zum 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, stellen Sie mithilfe von Bastion eine Verbindung mit dem zweiten Knoten her.

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

  3. Wählen Sie Knoten zu 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. Geben Sie für ein Szenario mit mehreren Subnetzen in der Clusternetzwerkkonfiguration die sekundäre IP-Adresse im Subnetz der zweiten SQL Server-VM ein, die Sie zuvor als IP-Adresse des Netzwerknamens der Failoverclusterinstanz festgelegt haben.

    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 die Multisubnetzbestätigung zeigt.

  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, installieren Sie die neueste Version von SQL Server Management Studio (SSMS).

Registrieren der SQL IaaS Agent-Erweiterung

Um Ihre SQL Server-VM über das Portal zu verwalten, registrieren Sie sie bei der SQL-IaaS-Agent-Erweiterung. SQL Server-VMs mit Failoverclusterinstanzen verfügen nur über eingeschränkte Funktionalität.

Hinweis

Derzeit 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. Sie unterstützen keine Features, die den Agent erfordern, z. B. automatisierte Sicherung, Patching, Microsoft Entra-Authentifizierung und erweiterte Portalverwaltung. Weitere Informationen finden Sie in der Tabelle mit den Vorteilen.

Registrieren Sie eine SQL Server-VM mithilfe von PowerShell. Der -LicenseType Parameter kann sein PAYG oder AHUB:

# 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, konfigurieren Sie eine zusätzliche Komponente, um den Datenverkehr an Ihre FCI weiterzuleiten. 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

  • Sie können "Direkte Speicherplätze" nur verwenden, wenn Sie die Option für die Datenträgereignung deaktivieren, wenn Sie dem Cluster Speicher für Datenträger hinzufügen, die Sie als NTFS-formatierte Datenträger anfügen.

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

  • Failoverclusterinstanzen, die Storage Spaces Direct 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 Storage Spaces Direct bereitgestellt sind, nicht unterstützt. Weitere Informationen finden Sie unter FCI-Einschränkungen.

  • Microsoft Distributed Transaction Coordinator (MSDTC) wird auf virtuellen Azure-Computern ab Windows Server 2019 und später unterstützt, wenn sie auf dedizierten Cluster Shared Volumes (CSVs) und unter Verwendung eines standardem Load Balancer bereitgestellt werden. MSDTC wird unter Windows Server 2016 und früheren Versionen 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 Storage Spaces Direct nicht die richtige FCI-Speicherlösung für Sie ist, sollten Sie stattdessen Ihre FCI mithilfe von freigegebenen Azure-Datenträgern oder Premium-Dateifreigaben erstellen.

Weitere Informationen finden Sie unter: