Teilen über


Bereitstellen eines Pacemaker-Clusters für SQL Server für Linux

Gilt für:SQL Server unter Linux

In diesem Lernprogramm werden die Aufgaben beschrieben, die erforderlich sind, um einen Linux Pacemaker-Cluster für eine SQL Server Always On-Verfügbarkeitsgruppe (AG) oder eine Failoverclusterinstanz (FCI) bereitzustellen. Im Gegensatz zum eng gekoppelten Windows Server/SQL Server-Stapel können Sie einen Pacemaker-Cluster erstellen und eine Verfügbarkeitsgruppe (AG) unter Linux vor oder nach der Installation von SQL Server konfigurieren. Sie konfigurieren die Integration und Ressourcen für den Pacemaker-Teil einer AG- oder FCI-Bereitstellung, nachdem der Cluster konfiguriert wurde.

Wichtig

Eine AG mit einem Clustertyp "None" erfordert keinen Pacemaker-Cluster und kann 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

Hinweis

Ab SQL Server 2025 (17.x) wird SUSE Linux Enterprise Server (SLES) nicht unterstützt.

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.

  1. Registrieren Sie den Server mithilfe der folgenden Syntax. Daraufhin werden Sie zur Eingabe eines gültigen Benutzernamens und Kennworts aufgefordert.

    sudo subscription-manager register
    
  2. Listen Sie die verfügbaren Pools für die Registrierung auf.

    sudo subscription-manager list --available
    

    Verwenden Sie für RHEL 10 den folgenden Befehl:

    sudo subscription-manager repos --list
    

    Notieren Sie sich aus der Liste der verfügbaren Pools die Pool-ID für das Hochverfügbarkeitsabonnement.

  3. Führen Sie den folgenden Befehl aus, um rhel hohe Verfügbarkeit mit dem Abonnement zu verknüpfen. In diesem Beispiel <PoolId> ist die Pool-ID für das Abonnement mit hoher Verfügbarkeit aus dem vorherigen Schritt angegeben.

    sudo subscription-manager attach --pool=<PoolID>
    
  4. Ermöglichen Sie dem Repository die Nutzung der Hochverfügbarkeits-Erweiterung.

    RHEL 7

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    

    RHEL 8

    sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
    

    RHEL 9

    sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
    

    RHEL 10

    sudo subscription-manager repos --enable=rhel-10-for-x86_64-highavailability-rpms
    
  5. 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 einen Benutzer mit dem Namen hacluster , den Sie für die Verteilung erstellen. Auf RHEL und Ubuntu erstellt die HA-Add-On-Installation diesen Benutzer.

  1. Erstellen Sie auf jedem Server, der als Knoten im Pacemaker-Cluster dient, das Kennwort für einen Benutzer, den der Cluster verwendet. In den Beispielen wird der Name haclusterverwendet, Sie können jedoch einen beliebigen Namen verwenden. Alle Knoten im Pacemaker-Cluster müssen denselben Namen und dasselbe Kennwort verwenden.

    sudo passwd hacluster
    
  2. Aktivieren und starten Sie auf jedem Knoten, der Teil des Pacemaker-Clusters ist, den pcsd Dienst mit den folgenden Befehlen (RHEL und Ubuntu).

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    Führen Sie dann den folgenden Befehl aus, um sicherzustellen, dass pcsd gestartet wird.

    sudo systemctl status pcsd
    
  3. Aktivieren Sie den Pacemaker-Dienst auf jedem möglichen Knoten im Pacemaker-Cluster.

    sudo systemctl start pacemaker
    

    Auf Ubuntu wird der folgende Fehler angezeigt.

    pacemaker Default-Start contains no runlevels, aborting.
    

    Bei diesem Fehler handelt es sich um ein bekanntes Problem. Trotz des Fehlers ist die Aktivierung des Pacemaker-Diensts erfolgreich. Dieser Fehler wird in einem zukünftigen Update behoben.

  4. Als Nächstes erstellen und starten Sie den Pacemaker-Cluster. Bei diesem Schritt gibt es einen Unterschied zwischen RHEL und Ubuntu. Während bei beiden Verteilungen die Installation von pcs eine Standardkonfigurationsdatei für den Pacemaker-Cluster konfiguriert, entfernt dieser Befehl auf RHEL alle vorhandenen Konfigurationen und erstellt einen neuen Cluster.

Erstellen eines Pacemaker-Clusters

In diesem Abschnitt wird beschrieben, wie Sie den Cluster für jede Linux-Verteilung erstellen und konfigurieren.

  1. Autorisieren Sie die Knoten. In diesen Beispielen ist <NodeX> der Name jedes Knotens.

    RHEL 7

    Ersetzen Sie <password> durch das Kennwort für hacluster.

    sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster -p <password>
    

    RHEL 8 und höhere Versionen

    Geben Sie den Benutzernamen und das Kennwort für hacluster manuell ein, wenn Sie dazu aufgefordert werden.

    sudo pcs host auth <Node1> <Node2> <Node3>
    
  2. Erstellen Sie den Cluster. In diesem Beispiel ist PMClusterName der Name, den Sie dem Pacemaker-Cluster zuweisen.

    RHEL 7

    sudo pcs cluster setup --name <PMClusterName> <Node1> <Node2> <Node3>
    

    RHEL 8 und höhere Versionen

    sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>
    
  3. Starten Sie den Cluster auf allen Knoten.

    sudo pcs cluster start --all
    
  4. Aktivieren Sie den Start des Clusters, wenn der Computer gestartet wird.

    sudo pcs cluster enable --all
    
  5. Überprüfen Sie den Clusterstatus.

    sudo pcs status
    

Installieren des SQL Server HA

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 HA-Paket nach der Installation von SQL Server installieren, müssen Sie SQL Server neu starten, damit die Änderung wirksam wird. 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 andere Verwendungen verwenden, müssen Sie ihn nicht starten oder konfigurieren.

  • 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
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: