Bereitstellen eines Pacemaker-Clusters für SQL Server für Linux
Gilt für: SQL Server – Linux
In diesem Tutorial werden die Aufgaben dokumentiert, die zum Bereitstellen eines Linux Pacemaker-Clusters für eine SQL Server Always On-Verfügbarkeitsgruppe oder eine Failoverclusterinstanz (FCI) durchgeführt werden müssen. Im Gegensatz zum eng gekoppelten Windows Server-/SQL Server-Stapel, kann die Erstellung des Pacemaker-Clusters und die Konfiguration der Verfügbarkeitsgruppe unter Linux sowohl vor als auch nach der Installation von SQL Server durchgeführt werden. Die Integration und Konfiguration von Ressourcen für den Pacemaker-Teil der Bereitstellung einer Verfügbarkeitsgruppe oder Failoverclusterinstanz wird abgeschlossen, nachdem der Cluster konfiguriert wurde.
Wichtig
Eine Verfügbarkeitsgruppe mit dem Clustertyp „None“ (Keiner) erfordert keinen Pacemaker-Cluster und kann auch nicht von Pacemaker verwaltet werden.
- Installieren von Pacemaker und des Hochverfügbarkeits-Add-Ons
- Vorbereiten der Knoten für Pacemaker (nur RHEL und Ubuntu)
- Erstellen eines Pacemaker-Clusters
- Installieren der SQL Server-Hochverfügbarkeits- und -Agent-Pakete
Voraussetzungen
Installieren von SQL Server für Linux.
Installieren des Hochverfügbarkeits-Add-Ons
Verwenden Sie die folgende Syntax, um die Pakete zu installieren, aus denen das Hochverfügbarkeits-Add-On für die verschiedenen Verteilungen von Linux besteht.
Registrieren Sie den Server mithilfe der folgenden Syntax. Daraufhin werden Sie zur Eingabe eines gültigen Benutzernamens und Kennworts aufgefordert.
sudo subscription-manager register
Listen Sie die verfügbaren Pools für die Registrierung auf.
sudo subscription-manager list --available
Führen Sie den folgenden Befehl aus, um die Hochverfügbarkeit von RHEL zum Abonnement zuzuordnen:
sudo subscription-manager attach --pool=<PoolID>
Fügen Sie hierbei für PoolId die Pool-ID für das Hochverfügbarkeitsabonnement aus dem vorherigen Schritt ein.
Aktivieren Sie die Verwendung des Hochverfügbarkeits-Add-Ons für das Repository.
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
Installieren Sie Pacemaker.
sudo yum install pacemaker pcs fence-agents-all resource-agents
Vorbereiten der Knoten für Pacemaker (nur RHEL und Ubuntu)
Pacemaker verwendet eine von einem Benutzer erstellte Verteilung namens hacluster. Der Benutzer wird erstellt, wenn das Hochverfügbarkeits-Add-On unter RHEL und Ubuntu installiert wird.
Erstellen Sie auf jedem Server, der als Knoten des Pacemaker-Clusters fungieren soll, die Kennwörter für die Benutzer, die vom Cluster verwendet werden sollen. In den Beispielen dieses Artikels wird der Name hacluster verwendet, jedoch kann ein beliebiger Name verwendet werden. Der Name und das Kennwort muss auf allen Knoten, die am Pacemaker-Cluster teilnehmen, identisch sein.
sudo passwd hacluster
Aktivieren und starten Sie den
pcsd
-Dienst mithilfe der folgenden Befehle (RHEL und Ubuntu) auf allen Knoten, die Teil des Pacemaker-Clusters sind:sudo systemctl enable pcsd sudo systemctl start pcsd
Führen Sie dann den folgenden Befehl aus, um sicherzustellen, dass
pcsd
gestartet ist.sudo systemctl status pcsd
Aktivieren Sie den Pacemaker-Dienst auf allen möglichen Knoten des Pacemaker-Clusters.
sudo systemctl start pacemaker
Die folgende Fehlermeldung wird Ihnen unter Ubuntu angezeigt:
pacemaker Default-Start contains no runlevels, aborting.
Bei diesem Fehler handelt es sich um ein bekanntes Problem. Die Aktivierung des Pacemaker-Diensts ist trotz der Fehlermeldung erfolgreich. Dieser Fehler wird zu einem späteren Zeitpunkt behoben.
Als Nächstes erstellen und starten Sie den Pacemaker-Cluster. Bei diesem Schritt gibt es einen Unterschied zwischen RHEL und Ubuntu. Bei der Installation von
pcs
wird zwar auf beiden Verteilungen eine Standardkonfigurationsdatei für den Pacemaker-Cluster konfiguriert, jedoch wird die vorhandene Konfiguration bei der Ausführung dieses Befehls unter RHEL gelöscht und ein neuer Cluster erstellt.
Erstellen eines Pacemaker-Clusters
In diesem Abschnitt wird erläutert, wie der Cluster für jede Linux-Verteilung erstellt und konfiguriert wird.
Autorisieren Sie die Knoten.
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
Fügen Sie für NodeX den Namen des Knotens ein.
Erstellen Sie den Cluster.
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
PMClusterName
entspricht dem Namen des Pacemaker-Clusters, undNodelist
entspricht der Liste der Namen der Knoten, die durch ein Leerzeichen voneinander getrennt sind.
Installieren der SQL Server-Hochverfügbarkeits- und -Agent-Pakete
Verwenden Sie die folgenden Befehle, um das SQL Server-Hochverfügbarkeits- und das SQL Server-Agent-Paket zu installieren, wenn diese noch nicht installiert sind. Wenn Sie das Hochverfügbarkeitspaket nach SQL Server installieren, ist ein Neustart von SQL Server erforderlich. In diesen Anweisungen wird vorausgesetzt, dass die Repositorys für die Microsoft-Pakete bereits eingerichtet sind, da SQL Server bereits installiert sein sollte.
Wenn Sie den SQL Server-Agent nicht für den Protokollversand oder einen anderen Zweck verwenden, müssen Sie ihn nicht installieren. Das Paket mssql-server-agent kann also übersprungen werden.
Die anderen optionalen Pakete für SQL Server für Linux, für die SQL Server-Volltextsuche (mssql-server-fts) und für die SQL Server-Integration Services (mssql-server-is) sind nicht für Hochverfügbarkeit erforderlich, und zwar weder für Failoverclusterinstanzen noch für Verfügbarkeitsgruppen.
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server
Nächster Schritt
In diesem Tutorial haben Sie gelernt, wie Sie einen Pacemaker-Cluster für SQL Server für Linux bereitstellen. Sie haben Folgendes gelernt:
- Installieren von Pacemaker und des Hochverfügbarkeits-Add-Ons
- Vorbereiten der Knoten für Pacemaker (nur RHEL und Ubuntu)
- Erstellen eines Pacemaker-Clusters
- Installieren der SQL Server-Hochverfügbarkeits- und -Agent-Pakete
Informationen zum Erstellen und Konfigurieren von Verfügbarkeitsgruppen für SQL Server für Linux finden Sie unter: