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

Gilt für:SQL Server auf Azure-VM

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:

Diagram of the complete solution, using hyperconverged 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.
  • 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 zur Erstellung Ihres Windows Server Failover-Clusters hängen davon ab, ob Sie Ihre SQL Server-VMs in einem einzelnen Subnetz oder in mehreren Subnetzen bereitgestellt haben. 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 sich diese Anleitungen auf die Erstellung einer Verfügbarkeitsgruppe beziehen, sind die Schritte zur Erstellung des Clusters die gleichen.

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 unter Server-Manager die Option Tools aus, und wählen Sie dann Failovercluster-Manager aus.

  2. Wählen Sie unter Failovercluster-Manager die Option Aktion aus, und wählen Sie dann Konfiguration überprüfen aus.

  3. Wählen Sie Weiter aus.

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

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

  6. Wählen Sie Weiter aus.

  7. Wählen Sie unter Testauswahl alle Tests aus, ausgenommen Speicher (siehe folgende Abbildung):

    Select cluster validation tests

  8. Wählen Sie Weiter aus.

  9. Wählen Sie unter Bestätigung 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 of a Cluster Shared Volume with Storage Spaces Direct

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.

Test cluster failover by moving the core resource to the other nodes

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.

  1. Stellen Sie die Verbindung mit dem ersten virtuellen Computer per RDP 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:

    provide the secondary IP address in the subnet of the first SQL Server VM that you previously designated as the IP address of the failover cluster instance network name

  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.

    Data directories

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

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

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

  12. 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.

  13. 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

    enter the secondary IP address in the subnet of the second SQL Server VM subnet that you previously designated as the IP address of the failover cluster instance network name

    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.

    Multi Subnet Confirmation

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

  15. 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 auf SQL-VMs verfügbar sind, die über Failoverclusterinstanzen von SQL Server (FCIs) verfügen.

Wenn Ihre SQL Server-VM bereits bei der SQL-IaaS-Agent-Erweiterung registriert wurde und Sie alle Features aktiviert haben, die den Agent erfordern, müssen Sie die Registrierung der SQL Server-VM aus der Erweiterung aufheben und nach der Installation Ihrer FCI erneut registrieren.

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.

Einschränkungen

  • Virtuelle Azure-Computer unterstützen Microsoft Distributed Transaction Coordinator (MSDTC) auf Windows Server 2019 mit Speicher auf CSVs und einen Standardlastenausgleich. MSDTC wird unter Windows Server 2016 und früher nicht unterstützt.
  • 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 Erweiterung registriert sind, unterstützen keine Features, die den Agent erfordern, z. B. automatisierte Sicherung, Patching und erweiterte Portalverwaltung. Sehen Sie sich die Tabelle mit den Vorteilen an.
  • 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.

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: