Comprendre la haute disponibilité (HA) sur SUSE Linux

La haute disponibilité et la continuité des activités sont cruciales pour que les applications et les services restent opérationnels.
Les grappes à haute disponibilité permettent aux services essentiels de continuer à fonctionner, même si les serveurs ou les composants matériels tombent en panne.
SUSE Linux offre un ensemble d’outils robustes pour créer et gérer ces grappes.
Dans cet article, nous explorons l’état actuel de la mise en grappe dans SUSE Linux, en nous concentrant sur les technologies clés telles que Pacemaker, Corosync, DRBD et d’autres.
Celles-ci, à quelques différences près, sont disponibles sur x86 et ppc64le.

Pacemaker : le cerveau de la grappe

Pacemaker est le moteur qui gère les grappes à haute disponibilité dans SUSE Linux.
Sa fonction principale est de gérer les ressources des clusters, en veillant à ce que les services critiques soient opérationnels et se rétablissent rapidement en cas de défaillance. Pacemaker surveille en permanence les ressources (bases de données, services Web, systèmes de fichiers, etc.) et, s’il détecte un problème, migre ces ressources vers d’autres nœuds de la grappe pour les maintenir en état de marche.
Pacemaker se distingue par sa flexibilité et sa capacité à gérer une grande variété de ressources.
Des simples services aux systèmes distribués plus complexes, il est capable de gérer la plupart des scénarios de haute disponibilité dont une entreprise peut avoir besoin.

Corosync : le système nerveux du cluster

Corosync est responsable de la communication entre les nœuds de la grappe.
Il veille à ce que tous les nœuds aient à tout moment la même vision de l’état de la grappe, ce qui est essentiel pour une prise de décision coordonnée.
Il gère également le quorum, qui détermine s’il y a suffisamment de nœuds actifs pour que la grappe fonctionne en toute sécurité.
Si le quorum est perdu, des mesures peuvent être prises pour éviter la perte de données ou même l’arrêt du service.

DRBD : l’épine dorsale des données

DRBD (Distributed Replicated Block Device) est une solution de réplication de stockage au niveau des blocs qui réplique les données entre les nœuds en temps réel.
Avec DRBD, les données d’un serveur sont répliquées sur un autre serveur presque instantanément, créant ainsi une copie exacte.
Ceci est particulièrement utile dans les scénarios où il est crucial que les données critiques soient toujours disponibles, même si un nœud tombe en panne.
Combiné à Pacemaker, DRBD permet aux services de continuer à fonctionner en ayant accès aux mêmes données, même s’ils se trouvent sur des nœuds différents.

Autres technologies clés dans les grappes SUSE Linux

En plus de Pacemaker, Corosync et DRBD, il existe d’autres technologies essentielles pour construire des clusters robustes sur SUSE Linux :

  • SBD (Storage-Based Death) : SBD est un outil de clôture qui permet d’isoler un nœud qui se comporte mal et de l’empêcher de causer des problèmes dans la grappe.
    Pour ce faire, on utilise un dispositif de stockage partagé que les nœuds utilisent pour communiquer leur état.
  • OCF (Open Cluster Framework) : les scripts OCF constituent la base des ressources gérées par Pacemaker.
    Ils définissent comment démarrer, arrêter et vérifier l’état d’une ressource, offrant ainsi la flexibilité nécessaire pour intégrer un large éventail de services dans le cluster.
  • Csync2 : Un outil pour synchroniser les fichiers entre les nœuds d’un cluster.
    Il permet de s’assurer que les fichiers de configuration et autres données critiques sont toujours à jour sur tous les nœuds.

Situation actuelle et tendances futures

Les clusters dans SUSE Linux ont mûri et s’adaptent aux nouvelles demandes des entreprises.
Avec l’adoption croissante des environnements de conteneurs et avec des parties dans différents clouds, les clusters dans SUSE Linux évoluent pour mieux s’y intégrer.
Cela inclut une meilleure prise en charge de l’orchestration des conteneurs et des applications distribuées qui nécessitent une haute disponibilité au-delà de la réplication de deux disques par DRBD et du maintien en vie d’une IP virtuelle :). Toujours est-il qu’aujourd’hui, la combinaison de Pacemaker, Corosync, DRBD et d’autres outils constitue une base solide pour créer des clusters à haute disponibilité qui peuvent évoluer et s’adapter aux besoins de SAP HANA et d’autres solutions qui nécessitent une disponibilité élevée, voire totale. Si tu as besoin d’aide, SIXE peut t’aider.

Fiche d’astuces pour créer et gérer des grappes avec Pacemaker sur SUSE Linux

Voici une modeste feuille de contrôle pour t’aider à créer et à gérer des clusters avec Pacemaker sur SUSE Linux.
Partager, c’est se soucier des autres !

Tâche Commande / Description
Installation des paquets
Installation de Pacemaker et Corosync zypper install -y pacemaker corosync crmsh
Configuration de base
Configure le fichier Corosync /etc/corosync/corosync.conf Édite pour définir le transport, les interfaces et le réseau.
Démarrer les services systemctl start corosync && systemctl start pacemaker
Activer les services au démarrage systemctl enable corosync && systemctl enable pacemaker
Gestion de la grappe
Voir l’état de la grappe crm status
Voir les détails du nœud crm_node -l
Ajouter un nouveau noeud crm node add <nombre_del_nodo>
Ejecter un noeud crm node remove <nombre_del_nodo>
Afficher les journaux de la grappe crm_mon --logfile <ruta_del_log>
Configuration des ressources
Créer une ressource crm configure primitive <nombre_recurso> <tipo_agente> params <parámetros>
Supprimer une ressource crm configure delete <nombre_recurso>
Modifier une ressource crm configure edit <nombre_recurso>
Afficher la configuration complète de la grappe crm configure show
Configuration des groupes et des assemblées
Créer un groupe de ressources crm configure group <nombre_grupo> <recurso1> <recurso2> ...
Crée un ensemble ordonné crm configure colocation <nombre_conjunto> inf: <recurso1> <recurso2>
Créer un ordre d’exécution crm configure order <orden> <recurso1> then <recurso2>
Restrictions et placements
Créer une restriction de placement crm configure colocation <nombre_restricción> inf: <recurso1> <recurso2>
Créer une restriction de localisation crm configure location <nombre_ubicación> <recurso> <puntaje> <nodo>
Basculement et récupération
Forcer la migration d’une ressource crm resource migrate <nombre_recurso> <nombre_nodo>
Efface le statut d’une ressource crm resource cleanup <nombre_recurso>
Désactive temporairement une ressource crm resource unmanage <nombre_recurso>
Activer une ressource après l’avoir désactivée crm resource manage <nombre_recurso>
Configuration avancée
Configure le quorum <`crm configure property no-quorum-policy= freeze
Configurer les clôtures crm configure primitive stonith-sbd stonith:external/sbd params pcmk_delay_max=<tiempo>
Configure le délai d’attente d’une ressource crm configure primitive <nombre_recurso> <tipo_agente> op start timeout=<tiempo> interval=<intervalo>
Validation et test
Valider la configuration de la grappe crm_verify --live-check
Simule une panne crm_simulate --run
Gestion des politiques
Configurer la politique de récupération crm configure rsc_defaults resource-stickiness=<valor>
Configurer la priorité des ressources crm configure resource default-resource-stickiness=<valor>
Arrêter et démarrer le cluster
Arrête la grappe entière crm cluster stop --all
Démarre l’ensemble de la grappe crm cluster start --all

 

2024 - SIXE Ingénierie | Formation, conseil, services professionnels et projets clés en main | IBM, Lenovo, Canonical, Red Hat , HCL, Sealpath & SUSE Partenaire commercial autorisé. Entreprise inscrite au catalogue des entreprises de cybersécurité d'INCIBE.
HQ - Madrid | Barcelone | Paris | Bruxelles
SiXe Ingeniería
×