Erstellen einer FCI mit einer Premium-Dateifreigabe (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 auf virtuellen Azure-Computern eine SQL Server-Failoverclusterinstanz (FCI) mit SQL Server mithilfe einer Premium-Dateifreigabe erstellen.

Premium-Dateifreigaben sind SSD-gesichert und bieten durchgängig Dateifreigaben mit niedriger Latenz, die vollständig für die Verwendung mit Failover-Cluster-Instanzen für SQL Server 2012 oder höher auf Windows Server 2012 oder höher unterstützt werden. Premium-Dateifreigaben bieten Ihnen mehr Flexibilität, sodass Sie ohne Ausfallzeiten die Größe der Dateifreigabe ändern und diese skalieren können.

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.

Voraussetzungen

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

Einbinden der Premium-Dateifreigabe

Gehen Sie folgendermaßen vor, um Ihre Premium-Dateifreigabe einzubinden:

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem Speicherkonto.

  2. Navigieren Sie unter Datenspeicher zu Dateifreigaben, und wählen Sie die Premium-Dateifreigabe aus, die Sie als SQL-Speicher verwenden möchten.

  3. Klicken Sie auf Verbinden, um die Verbindungszeichenfolge für Ihre Dateifreigabe anzuzeigen.

  4. Wählen Sie in der Dropdownliste den Laufwerkbuchstaben aus, den Sie verwenden möchten, wählen Sie Speicherkontoschlüssel als Authentifizierungsmethode aus, und kopieren Sie dann den Codeblock in einen Text-Editor, z. B. Editor.

    Screenshot showing how to copy the PowerShell command from the file share connect portal.

  5. Verwenden Sie das Remote Desktop Protocol (RDP), um eine Verbindung zur SQL Server-VM mit dem Konto herzustellen, das Ihr SQL Server FCI für das Dienstkonto verwenden wird.

  6. Öffnen Sie eine administrative PowerShell-Befehlskonsole.

  7. Führen Sie den Befehl aus, den Sie zuvor aus dem Dateifreigabeportal in den Text-Editor kopiert haben.

  8. Navigieren Sie über den Datei-Explorer oder das Dialogfeld Ausführen (WINDOWS+R auf der Tastatur) zur Freigabe. Verwenden Sie den Netzwerkpfad \\storageaccountname.file.core.windows.net\filesharename. Zum Beispiel, \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare

  9. Erstellen Sie in der neu verbundenen Dateifreigabe mindestens einen Ordner, in dem Sie Ihre SQL-Datendateien ablegen können.

  10. Wiederholen Sie diese Schritte auf jeder SQL Server-VM, die zum Cluster gehört.

Wichtig

Erwägen Sie den Einsatz einer gesonderten Dateifreigabe für Sicherungsdateien, um die IOPS- (Input/Output Operations Per Second, Ein-/Ausgabevorgänge pro Sekunde) und Größenkapazität dieser Freigabe für Daten- und Protokolldateien zu reservieren. Sie können für Sicherungsdateien eine Dateifreigaben des Typs Standard oder Premium verwenden.

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

Der Cloud Witness ist die empfohlene Quorum-Lösung für diese Art von 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.

Validieren des Clusters

Validieren Sie den Cluster auf einer der virtuellen Maschinen mithilfe der Failover Cluster Manager-Benutzeroberfläche oder 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 und Direkte Speicherplätze, wie hier gezeigt:

    Screenshot showing how to 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 "Inventory", "Network", "System Configuration"

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 showing how to test cluster failover by moving the core resource to the other nodes.

Erstellen der SQL Server-FCI

Nachdem Sie den Failovercluster 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 Server 2017 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.

  5. Wählen Sie Setup aus.

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

  7. Wählen Sie Neue SQL Server-Failoverclusterinstallation aus, und befolgen Sie dann die Anweisungen im Assistenten, um die SQL Server-FCI zu installieren.

  8. 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 of the secondary IP address in the subnet of the first VM.

  9. In Database Engine Configuration müssen sich die Datenverzeichnisse auf der Premium-Dateifreigabe befinden. Geben Sie den vollständigen Pfad der Freigabe im folgenden Format ein: \\storageaccountname.file.core.windows.net\filesharename\foldername. Es erscheint eine Warnung, die Sie darauf hinweist, dass Sie einen Dateiserver als Datenverzeichnis angegeben haben. Diese Warnung ist erwartungsgemäß. Vergewissern Sie sich zur Vermeidung möglicher Fehler, dass das Benutzerkonto, mit dem Sie beim persistenten Speichern der Dateifreigabe über RDP auf die VM zugegriffen haben, dasselbe Konto ist, das der SQL Server-Dienst verwendet.

    Screenshot showing to use file share as SQL data directories.

  10. Nachdem Sie die Schritte im Assistenten abgeschlossen haben, installiert Setup eine SQL Server FCI auf dem ersten Knoten.

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

  12. Öffnen Sie das SQL Server-Installationscenter, und wählen Sie Installation aus.

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

  14. 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 entering the secondary IP address in the subnet of the second SQL Server VM subnet.

    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 showing multi subnet confirmation.

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

  16. 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. Nur eingeschränkte Funktionen sind 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.

Begrenzungen

  • MS DTC-Transaktionen (Microsoft Distributed Transaction Coordinator) werden unter Windows Server 2016 und früheren Versionen nicht unterstützt.
  • FILESTREAM wird für einen Failovercluster mit einer Premium-Dateifreigabe nicht unterstützt. Um Filestream zu verwenden, stellen Sie den Cluster stattdessen mithilfe von Direkte Speicherplätze oder von freigegebenen Azure-Datenträgern bereit.
  • 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.
  • Datenbankmomentaufnahmen werden bei Azure Files aufgrund von Einschränkungen für Sparsedateienderzeit nicht unterstützt.
  • Da Datenbankmomentaufnahmen nicht unterstützt werden, greift CHECKDB für Benutzerdatenbanken auf CHECKDB WITH TABLOCK zurück. TABLOCK beschränkt die ausgeführten Überprüfungen. DBCC CHECKCATALOG wird nicht für die Datenbank ausgeführt, und die Service Broker-Daten werden nicht überprüft.
  • DBCC CHECKDB wird in den Datenbanken master und msdb nicht unterstützt.
  • Datenbanken, die das In-Memory-OLTP-Feature verwenden, werden auf einer Failoverclusterinstanz, die mit einer Premium-Dateifreigabe bereitgestellt wird, nicht unterstützt. Wenn Ihr Unternehmen In-Memory-OLTP erfordert, sollten Sie stattdessen die Bereitstellung Ihrer FCI mit freigegebenen Azure-Datenträgern oder direkten Speicherplätzen in Betracht ziehen.

Eingeschränkte Erweiterungsunterstützung

Derzeit unterstützen SQL Server-Failoverclusterinstanzen auf virtuellen Azure-Computern, die bei der SQL-IaaS-Agent-Erweiterung registriert sind, nur eine begrenzte Anzahl von Features. Sehen Sie sich die Tabelle mit den Vorteilen an.

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 bei der Erweiterung aufheben, 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.