Déployer un cluster Pacemaker pour SQL Server sur Linux

S’applique à :SQL Server - Linux

Ce tutoriel décrit les tâches requises pour déployer un cluster Pacemaker Linux pour un groupe de disponibilité Always On SQL Server ou une instance de cluster de basculement(FCI). Contrairement à la pile Windows Server / SQL Server étroitement couplée, la création du cluster Pacemaker et la configuration du groupe de disponibilité sur Linux peuvent être effectuées avant ou après l’installation de SQL Server. L’intégration et la configuration des ressources pour la partie Pacemaker d’un déploiement de groupe de disponibilité ou d’instance de cluster de basculement (FCI) sont effectuées après la configuration du cluster.

Important

Un groupe de disponibilité avec un cluster de type Aucun ne requiert pas de cluster Pacemaker cluster et ne peut pas être managé 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.

Configuration requise

Installer SQL Server 2017.

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
    
  3. Exécutez la commande suivante pour associer la haute disponibilité RHEL à l’abonnement

    sudo subscription-manager attach --pool=<PoolID>
    

    ou PoolId est l’ID de pool pour l’abonnement de haute disponibilité de l’étape précédente.

  4. Activez le référentiel pour pouvoir utiliser le module complémentaire de haute disponibilité.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-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 proprement dit utilise un utilisateur créé sur la distribution nommée hacluster. L’utilisateur est créé lorsque le module complémentaire de haute disponibilité est installé sur RHEL et Ubuntu.

  1. Sur chaque serveur qui servira de nœud au cluster Pacemaker, créez le mot de passe d’un utilisateur qui sera utilisé par le cluster. Le nom utilisé dans les exemples est hacluster, mais vous pouvez utiliser n’importe quel nom. Le nom et le mot de passe doivent être identiques sur tous les nœuds participant au cluster Pacemaker.

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

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    Exécutez ensuite la commande suivante pour vous assurer que pcsd est démarré.

    sudo systemctl status pcsd
    
  3. Activez le service Pacemaker sur chaque nœud possible du cluster du même nom.

    sudo systemctl start pacemaker
    

    Sur Ubuntu, une erreur s’affiche :

    pacemaker Default-Start contains no runlevels, aborting.
    

    Cette erreur est un problème connu. En dépit de l’erreur, le service Pacemaker peut être activé et ce bogue sera corrigé à un moment donné dans le futur.

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

Créez le cluster Pacemaker

Cette section décrit comment créer et configurer le cluster pour chaque distribution de Linux.

  1. Autoriser les nœuds

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

    NodeX est le nom du nœud.

  2. Créer le cluster

    sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
    

    PMClusterName est le nom attribué au cluster Pacemaker et Nodelist la liste des noms des nœuds séparés par une espace.

Installez les packages HA et SQL Server Agent de SQL Server

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. L’installation du package de haute disponibilité après l’installation de SQL Server requiert un redémarrage de SQL Server pour pouvoir être utilisé. Ces instructions supposent que les référentiels des packages Microsoft ont déjà été configurés, car SQL Server doit être installé à ce stade.

  • Si vous n’utilisez pas l’agent SQL Server pour la copie des journaux de transaction ou pour toute autre utilisation, il n’est pas nécessaire de l’installer, pour le package mssql-server-agent peut être ignoré.
  • Les autres packages facultatifs pour SQL Server sur Linux, à savoir la recherche en texte intégral SQL Server (mssql-server-fts) et SQL Server Integration Services (mssql-server-is), ne sont pas requis pour la haute disponibilité, que ce soit pour une instance FC) un groupe de disponibilité.
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server

Étapes suivantes

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 :