documentation.suse.com / Présentation de SUSE Linux Enterprise High Availability
SUSE Linux Enterprise High Availability 16.0

Présentation de SUSE Linux Enterprise High Availability

Date de publication : 03 nov 2025
CONTENU

Cet article explique les fonctionnalités, l'architecture, les concepts de base et les avantages de SUSE Linux Enterprise High Availability.

MOTIF

Cet article vous permet de découvrir SUSE Linux Enterprise High Availability pour vous aider à décider si vous l'utilisez ou pas. Il est également utile de le lire avant de configurer une grappe pour la première fois.

EFFORT

La lecture de l'article prend environ 20 minutes.

1 Qu'est-ce que SUSE Linux Enterprise High Availability ?

SUSE® Linux Enterprise High Availability est une suite intégrée de technologies de mise en grappe Open Source. Une grappe haute disponibilité («high availability») est un groupe de serveurs (noeuds) qui fonctionnent ensemble pour garantir la plus haute disponibilité possible des données, des applications et des services. Si un noeud échoue, les ressources qui s'exécutaient dessus passent sur un autre noeud avec peu ou pas de temps d'arrêt. Vous pouvez également déplacer manuellement des ressources entre les noeuds pour équilibrer la charge ou pour effectuer des tâches de maintenance avec un temps d'arrêt minimal. Les ressources de grappe peuvent notamment être des sites Web, des serveurs de messagerie, des bases de données, des systèmes de fichiers, des machines virtuelles et tout autre service ou application basé(e) sur un serveur qui doit être accessible en permanence aux utilisateurs.

1.1 Disponibilité du produit

SUSE Linux Enterprise High Availability est disponible avec les produits suivants :

SUSE Linux Enterprise Server

High Availability est disponible sous forme d'extension. Celle-ci nécessite un code d'enregistrement supplémentaire.

SUSE Linux Enterprise Server pour les applications SAP

High Availability est inclus en tant que module. Celui-ci ne nécessite aucun code d'enregistrement supplémentaire.

1.2 Fonctionnalités et avantages

SUSE Linux Enterprise High Availability élimine les points de défaillance uniques pour améliorer la disponibilité et la gérabilité des ressources critiques. Cela vous aide à assurer la continuité des activités, à protéger l'intégrité des données et à réduire les temps d'arrêt non planifiés pour vos charges de travail essentielles.

Nombreuses options de mise en grappe

Les grappes SUSE Linux Enterprise High Availability peuvent être configurées de différentes manières :

  • Grappes locales : grappe unique à un seul emplacement (par exemple, tous les noeuds sont situés dans un même centre de données). La latence du réseau est minimale. Le stockage est généralement accessible de manière synchrone par tous les noeuds.

  • Grappes Metro (grappes « étendues ») : grappe unique pouvant s'étendre sur plusieurs bâtiments ou centres de données, tous les sites étant connectés par Fibre Channel. La latence du réseau est généralement faible. Le stockage est fréquemment répliqué à l'aide de la mise en miroir ou de la réplication synchrone.

  • Grappes hybrides : des serveurs virtuels peuvent être mis en grappe avec des serveurs physiques. Cela améliore la disponibilité des services et l'utilisation des ressources.

Important
Important : architectures mixtes non prises en charge

Les grappes avec des architectures mixtes ne sont pas prises en charge. Tous les noeuds d'une même grappe doivent disposer de la même plateforme processeur : AMD64/Intel 64, IBM Z ou POWER.

Gestion souple et évolutive des ressources

SUSE Linux Enterprise High Availability prend en charge des grappes comportant jusqu'à 32 noeuds. Les ressources peuvent être automatiquement migrées vers un autre noeud si le noeud actuel échoue, ou elles peuvent être déplacées manuellement pour dépanner du matériel ou équilibrer la charge de travail. Les ressources peuvent également être configurées pour revenir sur les noeuds réparés à un moment précis. La grappe peut arrêter et démarrer les ressources en fonction de règles configurables.

Large gamme d'agents de ressources

La grappe gère les ressources via des agents de ressources (RA). SUSE Linux Enterprise High Availability prend en charge de nombreux agents de ressources conçus pour gérer des types spécifiques d'applications ou de services, notamment Apache, IPv4, IPv6, NFS et bien d'autres. Il est également livré avec des agents de ressources pour des applications tierces telles que IBM WebSphere Application Server.

Stockage et réplication des données

SUSE Linux Enterprise High Availability prend en charge les réseaux de zone de stockage (SAN) Fibre Channel ou iSCSI, ce qui vous permet d'assigner et de réaffecter de manière dynamique le stockage sur serveur selon vos besoins. Il est également livré avec GFS2 et le gestionnaire de volumes logiques de grappe (Cluster LVM). Pour la réplication des données, utilisez DRBD* pour mettre en miroir les données d'une ressource du noeud actif vers un noeud de secours.

Prise en charge des environnements virtualisés

SUSE Linux Enterprise High Availability prend en charge la mise en grappe mixte de serveurs Linux à la fois physiques et virtuels. La grappe peut reconnaître et gérer les ressources s'exécutant sur les serveurs virtuels et sur les serveurs physiques, et peut également gérer les machines virtuelles KVM en tant que ressources.

Reprise après sinistre

SUSE Linux Enterprise High Availability est livré avec Relax-and-Recover (ReaR), un cadre de reprise après sinistre qui aide à sauvegarder et à restaurer les systèmes.

Outils d'administration conviviaux

SUSE Linux Enterprise High Availability comprend des outils de configuration et d'administration :

  • Le shell CRM (crmsh) est une interface de ligne de commande permettant d'installer et de configurer des grappes High Availability, de configurer des ressources et d'effectuer des tâches de surveillance et d'administration.

  • Hawk est une interface graphique basée sur le Web pour la surveillance et l'administration des grappes High Availability. Elle est accessible à l'aide d'un navigateur Web à partir de toute machine Linux ou autre pouvant se connecter aux noeuds de grappe.

1.3 Comment fonctionne High Availability ?

La figure suivante représente une grappe à trois noeuds. Chacun des noeuds est équipé d'un serveur Web et héberge deux sites Web. L'ensemble des données, des graphiques et du contenu des pages Web de chaque site Web est stocké sur un sous-système disque partagé connecté à chacun des noeuds.

Ce diagramme représente trois noeuds de grappe : Serveur Web 1, serveur Web 2 et serveur Web 3. Chaque serveur Web comporte deux sites Web. Chaque serveur Web est également connecté à un commutateur Fibre Channel, qui est ensuite connecté au stockage partagé.
Figure 1 : Grappe à trois noeuds

Lors du fonctionnement normal de la grappe, chaque noeud est en communication permanente avec les autres noeuds de la grappe et contrôle régulièrement les ressources pour détecter les éventuelles défaillances.

La figure suivante montre comment la grappe déplace les ressources lorsque le serveur Web 1 échoue en raison de problèmes matériels ou logiciels.

Ce diagramme représente trois noeuds de grappe : Serveur Web 1, serveur Web 2 et serveur Web 3. Le serveur Web 1 est barré. Les serveurs Web 2 et 3 comptent chacun trois sites Web. Les sites Web A et B sont surlignés en orange pour montrer qu'ils se sont éloignés du serveur Web 1 barré.
Figure 2 : Grappe à trois noeuds après l'échec d'un de ces derniers

Le site Web A passe au serveur Web 2 et le site Web B passe au serveur Web 3. Les sites Web continuent d'être disponibles et sont répartis de manière équitable entre les autres noeuds de la grappe.

Lorsque le serveur Web 1 a échoué, le logiciel High Availability a effectué les tâches suivantes :

  1. Il a détecté un échec et vérifié que le serveur Web 1 était vraiment en panne.

  2. Il a remonté sur les serveurs Web 2 et 3 les répertoires de données partagées qui étaient montés sur le serveur Web 1.

  3. Il a redémarré les applications qui étaient exécutées sur le serveur Web 1 sur les serveurs Web 2 et 3.

  4. Il a transféré les certificats et les adresses IP vers les serveurs Web 2 et 3.

Dans cet exemple, le basculement s'est produit rapidement et les utilisateurs ont récupéré l'accès aux sites Web en quelques secondes, généralement sans avoir besoin de se connecter à nouveau.

Lorsque le serveur Web 1 reviendra à un état de fonctionnement normal, les sites Web A et B pourront revenir (« rebasculer ») vers le serveur Web 1 automatiquement. Étant donné que cela entraîne un certain temps d'arrêt, vous pouvez configurer les ressources pour qu'elles ne rebasculent qu'à un moment spécifié qui provoque une interruption de service minimale.

2 Concepts de base

Cette section explique les concepts de base de SUSE Linux Enterprise High Availability.

2.1 Grappes et noeuds

Une grappe haute disponibilité («high availability») est un groupe de serveurs qui fonctionnent ensemble pour garantir la disponibilité des applications ou des services. Les serveurs configurés comme membres de la grappe sont appelés noeuds. Si un noeud échoue, les ressources qui s'y exécutent peuvent se déplacer vers un autre noeud de la grappe. SUSE Linux Enterprise High Availability prend en charge des grappes comportant jusqu'à 32 noeuds. Cependant, les grappes relèvent généralement de l'une des deux catégories suivantes : les grappes à deux noeuds ou les grappes avec un nombre impair de noeuds (habituellement trois ou cinq).

2.2 Canaux de communication

La communication interne de la grappe est gérée par Corosync. Le moteur de grappe Corosync est un système de communication de groupe qui fournit des informations sur la messagerie, l'appartenance et le quorum concernant la grappe. Sous SUSE Linux Enterprise High Availability 16, Corosync utilise kronosnet (knet) comme protocole de transport par défaut.

Il est vivement recommandé de configurer au moins deux canaux de communication pour la grappe. La méthode préférée consiste à utiliser la liaison de périphérique réseau. Si vous ne pouvez pas utiliser une liaison réseau, vous pouvez configurer un canal de communication redondant dans Corosync (également connu comme étant un deuxième « anneau »).

2.3 Gestion des ressources

Dans une grappe High Availability, les applications et services qui doivent être hautement disponibles sont appelés ressources. Les ressources de grappe peuvent notamment être des sites Web, des serveurs de messagerie, des bases de données, des systèmes de fichiers, des machines virtuelles et tout autre service ou application basé(e) sur un serveur que vous voulez rendre accessible en permanence aux utilisateurs. Vous pouvez démarrer, arrêter, surveiller et déplacer les ressources au besoin. Vous pouvez également spécifier si des ressources spécifiques doivent s'exécuter ensemble sur le même noeud, ou démarrer et s'arrêter dans un ordre séquentiel. Si un noeud de grappe échoue, les ressources qui s'y exécutent basculent (passent) sur un autre noeud au lieu d'être perdues.

Dans SUSE Linux Enterprise High Availability, le gestionnaire de ressources de grappe (CRM) est Pacemaker, qui gère et coordonne tous les services de grappe. Pacemaker utilise des agents de ressources (RA) pour démarrer, arrêter et surveiller ces dernières. Un agent de ressource abstrait la ressource qu'il gère et présente son statut à la grappe. SUSE Linux Enterprise High Availability prend en charge de nombreux agents de ressources conçus pour gérer des types spécifiques d'applications ou de services.

2.4 Isolation de noeuds

Dans un scénario de grappes divergentes, les noeuds de grappe sont divisés en plusieurs groupes (ou partitions) qui ne se connaissent pas. Cela peut être dû à une défaillance matérielle ou logicielle, ou à l'échec d'une connexion réseau, par exemple. Un scénario de grappes divergentes peut être résolu en isolant (réinitialisant ou éteignant) un ou plusieurs des noeuds. L'isolation au niveau des noeuds empêche un noeud défaillant d'accéder aux ressources partagées et évite que les ressources de la grappe s'exécutent sur un noeud dont le statut est incertain.

SUSE Linux Enterprise High Availability utilise STONITH comme mécanisme d'isolation de noeud. Pour être prises en charge, toutes les grappes SUSE Linux Enterprise High Availability doivent disposer d'au moins un périphérique STONITH. Pour les charges de travail critiques, il est recommandé d'utiliser deux ou trois périphériques STONITH. Il peut s'agir d'un périphérique physique (un bouton marche/arrêt) ou d'un mécanisme logiciel (SBD associé à un watchdog).

2.5 Détermination du quorum

Lorsque la communication échoue entre un ou plusieurs noeuds et le reste de la grappe (scénario de grappes divergentes), une partition de grappe se produit. Les noeuds ne peuvent communiquer qu'avec les autres noeuds de la même partition et ignorent les noeuds séparés. Une partition de grappe dispose du quorum si elle détient la majorité des noeuds (ou « votes »). Cela est déterminé par le calcul du quorum. Le quorum doit être calculé pour permettre l'isolation des noeuds ne disposant pas du quorum.

Corosync calcule le quorum selon la formule suivante :

N ≥ C/2 + 1

N = minimum number of operational nodes
C = number of cluster nodes

Par exemple, une grappe à cinq noeuds a besoin d'au moins trois noeuds opérationnels pour maintenir le quorum.

Les grappes avec un nombre pair de noeuds, en particulier celles à deux noeuds, peuvent avoir un nombre égal de noeuds dans chaque partition et donc pas de majorité. Pour éviter cette situation, vous pouvez configurer la grappe pour qu'elle utilise QDevice en association avec QNetd. QNetd est un arbitre qui fonctionne en dehors de la grappe. Il communique avec le daemon QDevice qui s'exécute sur les noeuds de grappe pour fournir un nombre configurable de votes pour le calcul du quorum. Cela permet à une grappe de supporter davantage d'échecs de noeud que ne le permettent les règles de quorum standard.

2.6 Stockage et réplication des données

Les grappes High Availability peuvent inclure un sous-système disque partagé connecté via Fibre Channel ou iSCSI. En cas de défaillance d'un noeud, un autre noeud dans la grappe monte automatiquement les répertoires de disque partagés auparavant montés sur le noeud défaillant. Cela permet ainsi aux utilisateurs de pouvoir accéder en permanence aux répertoires du sous-système disque partagé. Le contenu stocké sur le disque partagé peut inclure des données, des applications et des services.

La figure ci-dessous montre une configuration de grappe Fibre Channel classique. Les lignes vertes représentent les connexions à un commutateur Ethernet, qui peut redémarrer un noeud si une requête ping échoue.

Ce diagramme représente un stockage partagé connecté à un commutateur Fibre Channel. Le commutateur est alors connecté à six serveurs. Chacun des six serveurs est également connecté à un concentrateur réseau, qui est ensuite connecté à un commutateur Ethernet.
Figure 3 : Configuration de grappe Fibre Channel classique

La figure ci-dessous montre une configuration de grappe iSCSI classique.

Ce diagramme représente un stockage partagé connecté à un commutateur Ethernet. Le commutateur est alors connecté à six serveurs. Chacun des six serveurs est également connecté à un concentrateur réseau, qui est ensuite connecté à un commutateur Ethernet et soutenu par une épine dorsale de réseau.
Figure 4 : Configuration de grappe iSCSI classique

Bien que la plupart des grappes incluent un sous-système disque partagé, vous pouvez également créer une grappe sans sous-système disque partagé. La figure suivante montre à quoi pourrait ressembler une grappe sans sous-système disque partagé.

Ce diagramme représente un commutateur Ethernet connecté à un concentrateur réseau. Le concentrateur est alors connecté à six serveurs.
Figure 5 : Configuration de grappe classique sans stockage partagé

3 Présentation de l'architecture

Cette section explique l'architecture d'une grappe SUSE Linux Enterprise High Availability et comment les différents composants interagissent.

3.1 Couches de l'architecture

SUSE Linux Enterprise High Availability présente une architecture en couches. La figure suivante montre les différentes couches et leurs composants associés.

Ce diagramme représente les couches de composants sur deux noeuds de grappe. Certains composants sont locaux au noeud et certains communiquent entre les noeuds, comme Corosync et la CIB.
Figure 6 : Architecture d'une grappe SUSE Linux Enterprise High Availability
Appartenance et messagerie (Corosync)

Le moteur de grappe Corosync est un système de communication de groupe qui fournit des informations sur la messagerie, l'appartenance et le quorum concernant la grappe.

Gestionnaire de ressources de grappe (Pacemaker)

Pacemaker est le gestionnaire de ressources de grappe (ou CRM) qui réagit aux événements se produisant dans la grappe. Il peut s'agir de noeuds qui rejoignent ou quittent la grappe, d'une défaillance de ressources ou d'activités planifiées telles qu'une maintenance, par exemple. Le daemon pacemakerd lance et surveille tous les autres daemons associés.

Les composants suivants font également partie de la couche Pacemaker :

  • Base de données d'informations sur la grappe (CIB)

    Sur chaque noeud, Pacemaker tient à jour la base de données d'informations de la grappe (CIB). Il s'agit d'une représentation XML de la configuration de la grappe (notamment les options de la grappe, les noeuds, les ressources, les contraintes et les relations entre ces éléments). La CIB reflète également le statut actuel de la grappe. Le gestionnaire de la CIB (pacemaker-based) assure la synchronisation de cette dernière dans l'ensemble de la grappe et gère la configuration de lecture et d'écriture de la grappe ainsi que son statut.

  • Coordinateur désigné (DC)

    Le daemon pacemaker-controld est le contrôleur de grappe qui coordonne toutes les actions. Ce daemon dispose d'une instance sur chaque noeud de grappe, mais une seule instance est choisie pour faire office de coordinateur désigné. Le coordinateur désigné est élu au démarrage des services de grappe, ou lorsque le DC actuel échoue ou quitte la grappe. Le coordinateur désigné décide si une modification à l'échelle de la grappe doit être effectuée, telle que l'isolation d'un noeud ou le déplacement de ressources.

  • Planificateur

    Le planificateur s'exécute sur chaque noeud en tant que daemon pacemaker-schedulerd, mais n'est actif que sur le coordinateur désigné. Lorsqu'une transition de grappe est nécessaire, le planificateur calcule l'état suivant attendu de la grappe et détermine les actions à planifier pour atteindre ce dernier.

Exécuteur local

L'exécuteur local est situé entre la couche Pacemaker et la couche des ressources sur chaque noeud. Le daemon pacemaker-execd permet à Pacemaker de démarrer, d'arrêter et de surveiller les ressources.

Ressources et agents de ressources

Dans une grappe High Availability, les services qui doivent être hautement disponibles sont appelés ressources. Les agents de ressources (RA) sont des scripts qui démarrent, arrêtent et surveillent les ressources de la grappe.

3.2 Flux du traitement

De nombreuses actions effectuées dans la grappe provoquent un changement à l'échelle de celle-ci, par exemple, l'ajout ou la suppression d'une ressource de grappe ou la modification des contraintes de ressource. L'exemple suivant explique ce qui se passe dans la grappe lorsque vous effectuez une telle action :

Exemple 1 : Traitement de la grappe lorsque vous ajoutez une nouvelle ressource
  1. Vous utilisez le shell CRM ou Hawk pour ajouter une nouvelle ressource de grappe. Vous pouvez effectuer cette opération à partir de tout noeud de la grappe. L'ajout de la ressource modifie la CIB.

  2. La modification de la CIB est répliquée sur tous les noeuds de la grappe.

  3. À partir des informations contenues dans la CIB, pacemaker-schedulerd calcule l'état idéal de la grappe et la manière dont il doit être atteint. Il fournit une liste d'instructions au coordinateur désigné.

  4. Le coordinateur désigné envoie, via Corosync, des commandes qui sont reçues par les instances pacemaker-controld sur les autres noeuds.

  5. Chaque noeud utilise son exécuteur local (pacemaker-execd) pour effectuer des modifications de ressources. Le daemon pacemaker-execd ignore la grappe et interagit directement avec les agents de ressources.

  6. Tous les noeuds rendent compte des résultats de leurs opérations au coordinateur désigné.

  7. Si une isolation est nécessaire, pacemaker-fenced appelle l'agent d'isolation pour isoler le noeud.

  8. Une fois que le coordinateur désigné a conclu que toutes les opérations requises ont été effectuées avec succès, la grappe revient à un état inactif et attend d'autres événements.

  9. Si une quelconque opération n'a pas été effectuée comme prévu, pacemaker-schedulerd est à nouveau invoqué avec les nouvelles informations enregistrées dans la CIB.

4 Options d'installation

Cette section décrit les différentes options d'installation d'une grappe SUSE Linux Enterprise High Availability et inclut des liens vers les guides d'installation disponibles.

Les guides de démarrage rapide suivants expliquent comment configurer une grappe minimale avec des paramètres par défaut :

Installing a basic two-node High Availability cluster

Ce guide de démarrage rapide décrit la procédure de configuration d'une grappe High Availability de base à deux noeuds avec QDevice, un SBD sans disque et un watchdog logiciel. Cette configuration nécessite QDevice afin que le SBD sans disque puisse gérer des scénarios de grappes divergentes pour la grappe à deux noeuds.

Installing a basic three-node High Availability cluster

Ce guide de démarrage rapide décrit la procédure de configuration d'une grappe High Availability de base à trois noeuds avec un SBD sans disque et un watchdog logiciel. Cette configuration nécessite trois noeuds pour que le SBD sans disque puisse gérer des scénarios de grappes divergentes sans l'aide de QDevice.

5 informations supplémentaires

Pour plus d'informations sur SUSE Linux Enterprise High Availability, consultez les ressources suivantes :

https://clusterlabs.org/

Le projet en amont pour de nombreux composants dans SUSE Linux Enterprise High Availability.

https://www.clusterlabs.org/pacemaker/doc/

Documentation pour Pacemaker. Pour SUSE Linux Enterprise High Availability 16, consultez la documentation de Pacemaker 3.