Heartbeat, failover et quorum dans un cluster Windows, Linux et AIX

Comment fonctionne les heartbeats et le failover dans les clusters SafeKit sur Windows, Linux et AIX

Le mécanisme basique pour synchroniser deux serveurs et détecter les défaillances d'un serveur est le heartbeat (battement de cœur), qui consiste en un échange de petits paquets UDP entre les serveurs. Avec SafeKit, on peut mettre autant de heartbeats qu'il y a de réseaux connectant les deux serveurs.

Le mécanisme de heartbeat de SafeKit permet de mettre en œuvre des clusters Windows, Linux et AIX. Il est intégré aux autres fonctionnalités d'un module miroir et notamment à la la réplication temps réel et continue dans un cluster actif-passif.

Dans une situation normale, les deux serveurs échangent leurs états (PRIM, SECOND, les états des ressources) à travers les heartbeats et synchronisent ainsi les procédures de démarrage et arrêt applicatif. Notamment en situation de basculement sur panne logicielle ou sur opération manuelle, le script d'arrêt de l'application est exécuté sur le serveur primaire, avant d'exécuter le script de démarrage sur le serveur secondaire. Ainsi on récupère des données répliquées sur le secondaire dans un état sain correspondant à un arrêt applicatif propre.

Si tous les heartbeats sont perdus, cela signifie que l'autre serveur est en panne. Le serveur local décide de devenir ALONE. S'il s'agit du serveur SECOND qui passe ALONE, il y a alors un failover applicatif avec relance de l'applicatif sur le serveur secondaire. Bien que non obligatoire, il est préférable d'avoir deux voies de heartbeats sur deux réseaux différents afin de distinguer une panne réseau d'une panne serveur.

Problème du quorum avec un cluster écarté entre deux salles machines

La plupart du temps, un cluster de haute disponibilité sécurisant une application critique dans un data center est mis en œuvre dans deux salles géographiquement distantes pour supporter le sinistre d'une salle complète.

Dans la situation d'une isolation réseau transitoire entre les 2 salles machines, le problème dit de split brain se pose. Les 2 serveurs peuvent exécuter l'application.

Avec un cluster de failover matériel, cette situation ne doit pas se produire car une double exécution signifie un accès concurrent au disque partagé et une corruption potentielle des données de l'application critique. C'est pourquoi dans un cluster matériel, le mécanisme de quorum est mis en œuvre avec un troisième serveur de quorum ou un disque spécial de quorum ou même un reset hardware le machine distante.

Malheureusement, ce nouveau dispositif augmente le coût et la complexité de l'architecture de clustering global. Et le système n'est pas à l'abri d'un OS qui gèle: lorsque l'OS sort du gel, on se retrouve dans la situation de double exécution de l'application, même avec les mécanismes précédemment cités.

Simplicité du quorum dans un cluster SafeKit

Avec le logiciel de haute disponibilité SafeKit, la gestion du quorum dans un cluster Windows, Linux ou AIX ne nécessite pas de troisième serveur de quorum, ni de disque de quorum spécial, ni de reset hardware à distance. Un simple splitbrain checker est suffisant pour le quorum SafeKit et pour éviter la double exécution d'une application.

Sans splitbrain checker, un cluster de haute disponibilité SafeKit supporte une double exécution d'une application critique sans corruption de données. Envisageons le cas critique d'un gel OS ou d'une isolation réseau sans checker réseau configuré. Dans ce cas, le serveur primaire continue d'exécuter l'application dans l'état ALONE. Et le serveur secondaire redémarre l'application et passe aussi dans l'état ALONE. Les répertoires répliqués sont isolés et chaque application en cours d'exécution travaille sur ses propres données dans son propre répertoire.

Lorsque le réseau est reconnecté, un sacrifice doit être réalisé en arrêtant l'application sur un des deux serveurs. Ce sacrifice arrête l'application sur le serveur et provoque la réintégration des données à partir du serveur primaire. Après cette réintégration, les données sont à nouveau en mode mirroir entre le serveur primaire et secondaire.

Toutes ces opérations sont automatiques. La complexité de gestion des heartbeats, du failover et du quorum dans le cluster est intégrée au produit SafeKit et transparent pour les utilisateurs de SafeKit. Ainsi, les personnes déployant SafeKit sans compétence particulière peuvent le faire sur deux serveurs standards locaux ou distants. De plus, la configuration est la même que ce soit un cluster Windows, Linux ou AIX.

Comment concilier simplicité et haute disponibilité ?


Démonstration




Livres blancs



contact
CONTACT


contact
NEWS

Pour recevoir des informations d'Evidian, veuillez remplir le formulaire suivant.