Partager via


Déployer un cluster Pacemaker pour SQL Server sur Linux

S’applique à :SQL Server sur Linux

Ce tutoriel décrit les tâches nécessaires pour déployer un cluster Pacemaker Linux pour un groupe de disponibilité Always On de SQL Server ou une instance de cluster de basculement (FCI). Contrairement à la pile Windows Server /SQL Server étroitement couplée, vous pouvez créer un cluster Pacemaker et configurer un groupe de disponibilité (AG) sur Linux avant ou après l’installation de SQL Server. Vous configurez l’intégration et les ressources pour la partie Pacemaker d’un déploiement de groupe de disponibilité ou DCI une fois le cluster configuré.

Importante

Un groupe de disponibilité avec un type de cluster None ne nécessite pas de cluster Pacemaker et ne peut pas être géré par Pacemaker.

  • Installer le module complémentaire de haute disponibilité et installer Pacemaker.
  • Préparez les nœuds pour Pacemaker (RHEL et Ubuntu uniquement).
  • Créez le cluster Pacemaker.
  • Installez les packages HA et SQL Server Agent de SQL Server.

Note

À compter de SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) n’est pas pris en charge.

Prerequisites

Installer SQL Server sur Linux.

Installer le module complémentaire de haute disponibilité

Utilisez la syntaxe suivante pour installer les packages qui composent le module complémentaire de haute disponibilité (HA) pour chaque distribution de Linux.

  1. Inscrivez le serveur à l’aide de la syntaxe suivante. Vous êtes invité à entrer un nom d’utilisateur et un mot de passe valides.

    sudo subscription-manager register
    
  2. Répertoriez les pools disponibles pour l’inscription.

    sudo subscription-manager list --available
    

    Pour RHEL 10, utilisez la commande suivante :

    sudo subscription-manager repos --list
    

    Dans la liste des pools disponibles, notez l’ID de pool pour l’abonnement à haute disponibilité.

  3. Exécutez la commande suivante pour associer la haute disponibilité RHEL à l’abonnement. Dans cet exemple, <PoolId> est l’ID de pool de l’abonnement haute disponibilité provenant de l’étape précédente.

    sudo subscription-manager attach --pool=<PoolID>
    
  4. Activez le dépôt pour utiliser le module complémentaire de haute disponibilité.

    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. Installez Pacemaker.

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    

Préparez les nœuds pour Pacemaker (RHEL et Ubuntu uniquement)

Pacemaker utilise un utilisateur nommé hacluster que vous créez sur la distribution. Sur RHEL et Ubuntu, l’installation de l'add-on haute disponibilité crée cet utilisateur.

  1. Sur chaque serveur qui servira de nœud dans le cluster Pacemaker, créez le mot de passe d’un utilisateur que le cluster utilise. Les exemples utilisent le nom hacluster, mais vous pouvez utiliser n’importe quel nom. Tous les nœuds du cluster Pacemaker doivent utiliser le même nom et mot de passe.

    sudo passwd hacluster
    
  2. Sur chaque nœud qui fera partie du cluster Pacemaker, activez et démarrez le pcsd service avec les commandes suivantes (RHEL et Ubuntu).

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    Ensuite, exécutez la commande suivante pour vous assurer que pcsd démarre.

    sudo systemctl status pcsd
    
  3. Activez le service Pacemaker sur chaque nœud possible dans le cluster Pacemaker.

    sudo systemctl start pacemaker
    

    Sur Ubuntu, l’erreur suivante s’affiche.

    pacemaker Default-Start contains no runlevels, aborting.
    

    Cette erreur est un problème connu. Malgré l’erreur, l’activation du service Pacemaker réussit. Ce bogue sera résolu dans une prochaine mise à jour.

  4. Ensuite, créez et démarrez le cluster Pacemaker. Il y a une différence entre RHEL et Ubuntu à ce stade. Bien que sur les deux distributions, l’installation pcs configure un fichier de configuration par défaut pour le cluster Pacemaker, sur RHEL, l’exécution de cette commande supprime toute configuration existante et crée un cluster.

Créez le cluster Pacemaker

Cette section explique comment créer et configurer le cluster pour chaque distribution Linux.

  1. Autoriser les nœuds. Dans ces exemples, <NodeX> il s’agit du nom de chaque nœud.

    RHEL 7

    Remplacez <password> par le mot de passe pour hacluster.

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

    RHEL 8 et versions ultérieures

    Entrez manuellement le nom d’utilisateur et le mot de passe pour hacluster lorsque vous y êtes invité.

    sudo pcs host auth <Node1> <Node2> <Node3>
    
  2. Créez le cluster. Dans cet exemple, PMClusterName est le nom que vous attribuez au cluster Pacemaker.

    RHEL 7

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

    RHEL 8 et versions ultérieures

    sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>
    
  3. Démarrez le cluster sur tous les nœuds.

    sudo pcs cluster start --all
    
  4. Activez le cluster pour démarrer au démarrage de l’ordinateur.

    sudo pcs cluster enable --all
    
  5. Vérifiez l’état du cluster.

    sudo pcs status
    

Installer SQL Server HA

Utilisez les commandes suivantes pour installer le package SQL Server de haute disponibilité et l’agent SQL Server s’ils ne sont pas encore installés. Si vous installez le package haute disponibilité après avoir installé SQL Server, vous devez redémarrer SQL Server pour que la modification prenne effet. Ces instructions supposent que les référentiels des packages Microsoft sont déjà configurés, car SQL Server doit être installé à ce stade.

  • Si vous n'utilisez pas SQL Server Agent pour la copie des journaux de transaction ou pour d'autres fonctions, il n'est pas nécessaire de le démarrer ou de le configurer.

  • Les autres packages facultatifs pour SQL Server sur Linux, à savoir la recherche en texte intégral SQL Server (mssql-server-fts) et Integration Services SQL Server (mssql-server-is), ne sont pas requis pour la haute disponibilité, que ce soit pour une instance de cluster de basculement (FCI) un groupe de disponibilité.

sudo yum install mssql-server-ha
sudo systemctl restart mssql-server

Étape suivante

Dans ce tutoriel, vous avez appris comment déployer un cluster Pacemaker pour SQL Server sur Linux. Vous avez appris à :

  • Installer le module complémentaire de haute disponibilité et installer Pacemaker.
  • Préparez les nœuds pour Pacemaker (RHEL et Ubuntu uniquement).
  • Créez le cluster Pacemaker.
  • Installez les packages HA et SQL Server Agent de SQL Server.

Pour créer et configurer un groupe de disponibilité pour SQL Server sur Linux, consultez :