Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Konfigurieren von AlwaysOn-Verfügbarkeitsgruppen auf SQL Server

EINFÜHRUNG

Dieses Dokument beschreibt die Schritte und zusätzliche Informationen, die zum Konfigurieren von AlwaysOn-Verfügbarkeitsgruppen für HA und DR auf MS SQL Server erforderlich sind. AlwaysOn-Verfügbarkeitsgruppen ist eine in SQL Server 2012 eingeführte HA-DR-Lösung, die wie eine Kombination aus Transaktionsprotokollversand und Datenbankspiegelung konzipiert ist.

Die AlwaysOn AG implementiert HA auf Datenbankebene, obwohl die Knoten, die SQL-Instanzen hosten und an der Konfiguration teilnehmen, Teil eines Windows-Failover-Clusters sind. Wir bezeichnen jeden Knoten als ein Verfügbarkeitsreplikat.

In einer typischen Konfiguration gibt es ein primäres Replikat und ein oder mehrere schreibgeschützte sekundäre Replikate. Eine Gruppe von Datenbanken, die in einer Verfügbarkeitsgruppe konfiguriert sind können zusammen auf ein alternatives Replikat umgeschaltet werden.

VORAUSSETZUNGEN

1.1 Voraussetzungen

1.1.1 Zwei oder mehr Server mit Windows 2012 oder höher (Enterprise Edition) mit den neuesten Patches
1.1.2 Dienstkonten für SQL Server-Instanzen
1.1.3 Eine Dateifreigabe auf einem anderen vertrauenswürdigen Server als den Servern, die am Cluster teilnehmen
1.1.4 SQL 2012 oder höheres Installationsmedium zusammen mit Service Packs
1.1.5 Zwei zusätzliche IP-Adressen neben den öffentlichen IP-Adressen der teilnehmenden Server
1.1.6 Ein DBA, ein Windows AD-Administrator, ein Netzwerkadministrator

ZUSAMMENFASSUNG

1.2 Das Konfigurationsverfahren umfasst die folgenden Phasen:

1.2.1 Clustering auf allen Knoten aktivieren
1.2.2 Validieren Sie die Knoten für das Clustering
1.2.3 Einen Cluster erstellen
1.2.4 Quorum konfigurieren
1.2.5 Installieren Sie SQL Server auf allen Knoten
1.2.6 Aktivieren Sie AlwaysOn-Verfügbarkeitsgruppen auf allen Instanzen
1.2.7 Erstellen Sie eine Verfügbarkeitsgruppe
1.2.8 Hinzufügen eines AG-Listeners

VERFAHREN

1.3 Clustering auf allen Knoten aktivieren

1.3.1 Öffnen Sie den Server-Manager unter Windows

1.3.2 Starten Sie Rollen und Funktionen hinzufügen Assistent

Windows Failover Clustering ist eine Windows-Funktion. Sie können es über den Assistenten aktivieren.

1.3.3 Akzeptieren Sie die Standardeinstellungen, bis Sie die Features-Phase erreichen.

In diesem Stadium müssen wir einen zu konfigurierenden Server auswählen. In diesem Szenario haben wir es mit dem lokalen Server zu tun (siehe Abbildung 4).

Wir haben die Servernamen aus Sicherheitsgründen ausgeblendet, aber Sie sehen sie im unteren Bereich (Abbildung 4).

Derzeit planen wir nicht, eine Rolle zu konfigurieren. Also klicken wir auf WEITER und folgen, bis wir zu Features (Abbildung 6) gelangen.

Aktivieren Sie das Kontrollkästchen für Failover-Clustering. Klicken Sie dann auf INSTALLIEREN.

1.3.4 Wählen Sie Failover-Clustering in der Features-Phase aus

1.3.5 Schließen Sie den Assistenten, wenn Sie fertig sind

1.4 Server für Clustering validieren

Wir haben das Clustering aktiviert, indem wir die Schritte im vorherigen Abschnitt ausgeführt haben. Wir müssen diese Schritte für jeden Server wiederholen, der am Failover-Cluster teilnehmen soll.

Windows unterstützt derzeit bis zu 64 Knoten in einem Failovercluster. Windows 2019 verbessert die Nützlichkeit dieser großen Anzahl, indem es eine Funktion namens Cluster Sets bereitstellt. Das Validieren potenzieller Mitgliedsserver eines Clusters bedeutet, zu überprüfen, ob sie alle entsprechend konfiguriert wurden, um am Cluster teilzunehmen.

1.4.1 Öffnen Sie den Failover-Cluster-Manager

1.4.2 Öffnen Sie die Konfiguration validieren Rechts der Assistent.

1.4.3 Auf der Seite Server auswählen Phase, geben Sie alle an Server, die für den Cluster vorgesehen sind. Wieder einmal haben wir ausgewählte Server ausgeblendet.

Von diesem Bildschirm aus können wir alle teilnehmenden Server hinzufügen.

1.4.4 Akzeptieren Sie die Standardoption „Alle Tests ausführen“.

1.4.5 Ignorieren Sie die festplattenbezogenen Warnungen. Sie benötigen keine freigegebenen Festplatten für die AlwaysOn-Konfiguration.

1.4.6 Den Assistenten abschließen

An dieser Stelle können Sie den Validierungsbericht überprüfen. Sollten Probleme auftreten, können Sie diese beheben, bevor Sie fortfahren. Einige Warnungen können ignoriert werden, aber überprüfen Sie unbedingt ihre Bedeutung.

1.5 Einen Cluster erstellen

1.5.1 Starten Sie im Failover-Cluster-Manager Cluster erstellen Assistent.

1.5.2 Fügen Sie alle für Clustering vorgesehenen Server hinzu.

Dieser Bildschirm ist wie Konfiguration validieren Bildschirm . Wir können auch alle erforderlichen Knoten auf einmal hinzufügen.

Um Server hinzuzufügen, klicken Sie auf Durchsuchen Schaltfläche.

1.5.3 Geben Sie den gewünschten Clusternamen und eine zugehörige IP-Adresse an

Dieser Name dient zum Erstellen eines Computernamenobjekts auf der Domäne. Daher benötigen Sie Berechtigungen zum Erstellen von Computerobjekten für das Konto, das die Installation durchführt. Beachten Sie außerdem, dass sich alle IP-Adressen, die für alle Mitglieder des Clusters verwendet werden, im selben Subnetz befinden müssen, außer wenn Sie einen Multi-Site-Cluster erstellen.

Beim Erstellen eines Failoverclusters für AlwaysOn-Verfügbarkeitsgruppen müssen dem Cluster keine Datenträger hinzugefügt werden. Lassen Sie die Option daher deaktiviert (siehe Abbildung 19).

1.5.4 Schließen Sie das Cluster erstellen ab Assistent

1.6 Quorum konfigurieren

Quorum gibt die Anzahl der Cluster-Mitglieder an, die online sein müssen, um anzugeben, dass der Cluster verfügbar ist. Microsoft lässt verschiedene Quorumoptionen zu. Einige von ihnen lassen die Festplatten oder Dateifreigaben als Clustermitglieder zu.

Normalerweise sollte es eine ungerade Anzahl von Mitgliedern sein. Einige Konfigurationen ermöglichen es uns jedoch, eine gerade Zahl zu verwenden und Stimmrechte von einem Knoten zu entfernen. Ein Zeuge ist ein Nicht-Server-Objekt, das Sie verwenden können, um die ungerade Anzahl von Wählern zu bilden. Ein Dateifreigabezeuge wird in der AlwaysOn-Konfiguration bevorzugt, da es in einer AlwaysOn-Konfiguration keine freigegebene Festplatte gibt.

1.6.1 Erstellen Sie eine Freigabe auf einem zuverlässigen Server, der nicht am Cluster teilnimmt. Gewähren Sie dann dem Computernamensobjekt vollständige Berechtigungen denselben Namen tragen wie Ihr Cluster (Schritt 4.3.3).

1.6.2 Klicken Sie mit der rechten Maustaste auf den soeben erstellten Cluster und wählen Sie Weitere Aktionen> Cluster-Quorum-Einstellungen konfigurieren. aus

1.6.3 Wählen Sie die Option zum Konfigurieren eines Quorum-Zeugen

1.6.4 Wählen Sie die Option zum Konfigurieren eines Dateifreigabe-Zeugen

1.6.5 Wählen Sie die Dateifreigabe (siehe 4.4.1):

1.6.6 Schließen Sie die Witness-Konfiguration ab

1.7 Installieren Sie den SQL-Server

Installieren Sie einzelne Instanzen von SQL Server auf allen Servern, die am Cluster teilnehmen. Es ist möglich, diese Konfiguration erfolgreich abzuschließen, auch wenn die vorherige Konfiguration von SQL Server vor dem Erstellen des Clusters stattgefunden hat.

Beachten Sie, dass die SQL Server-Instanzen nicht sind geclustert in einer AlwaysOn-Konfiguration. Sie konfigurieren und verwalten HA auf Datenbankebene für die Datenbankgruppen. Informationen zur Installation des SQL Servers finden Sie in der entsprechenden Dokumentation.

1.8 AlwaysOn-Verfügbarkeitsgruppen aktivieren

1.8.1 Öffnen Sie den SQL Server Configuration Manager auf jedem Knoten

1.8.2 Klicken Sie mit der rechten Maustaste auf den SQL Server-Dienst. Öffnen Sie die Registerkarte AlwaysOn High Availability.

1.8.3 Wählen Sie AlwaysOn-Verfügbarkeitsgruppen aktivieren aus Kontrollkästchen

Beachten Sie, dass Sie zu diesem Zeitpunkt bereits eine Identifizierung des zuvor konfigurierten Clusters erhalten. Auf diese Weise verstärken Sie die Reihenfolge der Schritte. Sie müssen Clustering auf jedem Clusterknoten aktivieren, bevor Sie AlwaysOn auf jeder SQL Server-Instanz aktivieren.

1.8.4 SQL Server-Dienst neu starten

1.9 Eine neue Verfügbarkeitsgruppe erstellen

1.9.1 Öffnen Sie das SQL Server Management Studio

1.9.2 Klicken Sie mit der rechten Maustaste auf AlwaysOn High Availability> Verfügbarkeitsgruppen und wählen Sie Assistent für neue Verfügbarkeitsgruppen aus .

1.9.3 Dem Assistenten folgen

1.9.4 Geben Sie den Namen der Verfügbarkeitsgruppe an. Dieser Name wird verwendet, um eine Clusterrolle zu erstellen.

Der Name der Verfügbarkeitsgruppe ist ebenfalls ein virtuelles Namensobjekt mit einem Eintrag in Microsoft Active Directory. Bevor dies funktioniert, wird also das Computernamensobjekt als Clustername verwendet muss über Berechtigungen zum (1) Erstellen von Computerobjekten verfügen und (2) Alle Eigenschaften lesen auf Active Directory .

1.9.5 Wählen Sie die Datenbanken aus, die Teil dieser Verfügbarkeitsgruppe sein sollen. Es kann mehrere Verfügbarkeitsgruppen in einem Satz von Instanzen geben. Die beteiligten Datenbanken müssen mit dem Vollständigen Wiederherstellungsmodell konfiguriert sein , und Sie müssen ein Backup erstellen. Der Assistent prüft diese Voraussetzungen.

1.9.6 Wählen Sie die Instanzen aus, die als sekundäre Replikate fungieren sollen

Bestimmen Sie, ob Sie eine synchrone oder asynchrone Replikation und ein automatisches oder nur manuelles Failover benötigen. Einzelheiten zu den Auswirkungen dieser Auswahlmöglichkeiten finden Sie in der Microsoft-Dokumentation, die am Ende dieses Dokuments definiert ist.

In der Regel dient der Synchronous-Commit-Modus mit automatischem Failover der lokalen Belastbarkeit und der Asynchronous-Commit-Modus der Verwendung von AlwaysOn als DR-Lösung aufgrund von Latenzproblemen.

1.9.7 Erstellen Sie eine Dateifreigabe für die erste Sicherung

Diese Dateifreigabe wird verwendet, um die Replikation zu initialisieren. Das SQL Server-Dienstkonto sollte über vollständige Berechtigungen für diese Dateifreigabe verfügen. Es ist selbstverständlich, dass die an dieser Konfiguration beteiligten SQL Server-Instanzen dasselbe Domänenkonto verwenden wie das SQL Server-Dienstkonto.

1.9.8 Wählen Sie die in Schritt 4.7.9 erstellte Freigabe als anfänglichen Sicherungsspeicherort für die Datenbank aus.

1.9.9 Überprüfung der Validierungsphase. Beachten Sie, dass der Listener noch nicht erstellt wurde. Sie können es später tun.

1.9.10 Überprüfen Sie die Zusammenfassung der Optionen und schließen Sie die Konfiguration ab

1.10 Hinzufügen eines AG-Listeners

Ein Verfügbarkeitsgruppen-Listener ermöglicht es Anwendungen, sich mit dem primären Knoten zu verbinden, unabhängig davon, welcher Knoten derzeit diese Rolle spielt. Es hilft, Failover für Anwendungen transparent zu machen.

1.10.1 Klicken Sie mit der rechten Maustaste auf AlwayOn High Availability> Verfügbarkeitsgruppen-Listener und wählen Sie Listener hinzufügen aus .

Ein Availability Group Listener ist auch ein Virtual Name Object (VNO), das Sie in der Domäne erstellen. Daher ist eine zugehörige IP-Adresse erforderlich.

Wie bereits erwähnt, muss das beim Erstellen des Clusters angegebene Cluster Name Object (CNO) zwei Berechtigungen für die Active Directory-Domäne haben, damit dies funktioniert:

ich. Erstellen Sie Computerobjekte
ii. Alle Eigenschaften lesen

1.10.2 Die Konfiguration ist abgeschlossen. Sie können das Dashboard anzeigen:

1.11 Bestehende Probleme

Cluster-Speicher

Während der ersten Ausführung der Cluster-Erstellung werden alle Festplatten auf den Cluster-Knoten dem Cluster hinzugefügt. Dies ist nicht der gewünschte Zustand für AlwaysOn-Verfügbarkeitsgruppen.

Die Lösung bestand darin, den Cluster zu zerstören, ihn anschließend zu bereinigen und ihn mit dem Kontrollkästchen Alle berechtigten Speicher zum Cluster hinzufügen neu zu erstellen gelöscht in Schritt 4.3.3.

Es war unmöglich, den Cluster neu zu erstellen, bis die Knoten mit dem Clear-ClusterNode bereinigt wurden PowerShell-Commandlet.

Automatisches Failover

Das Testen des automatischen Failovers durch Beenden des SQL Server-Diensts im SQL Server-Konfigurations-Manager hat nicht funktioniert. Das PowerShell-Cmdlet Get-ClusterLog generierte das Clusterprotokoll -Node -TimeSpan 10, und es hat den folgenden Fehler identifiziert:

000007f4.00002320::2016/07/07-06:10:59.654 WARN [RCM] Kein Failover der Gruppe EPG-SERVER-AG, failoverCount 25, failoverThresholdSetting 20, lastFailover 1601/01/01-00:00:00.000

Die Lösung bestand darin, die „maximale Anzahl von Fehlern“ im angegebenen Zeitraum für die Verfügbarkeitsgruppen-Clusterrolle auf einen viel höheren Wert zu ändern.

1.12 Referenzen

  1. AlwaysOn-Verfügbarkeitsgruppen
  2. Failover und Failover-Modi
  3. Verfügbarkeitsmodi