Présentation de Sun Cluster pour SE Solaris

Périphériques de quorum

Un périphérique de quorum est un disque, partagé par deux nœuds ou plus, participant aux votes utilisés pour calculer le quorum du cluster utilisé. Le cluster ne peut fonctionner que si un quorum de votes a été établi. Le périphérique de quorum est utilisé lorsqu'un cluster est segmenté en plusieurs ensembles de nœuds pour déterminer quel ensemble de nœuds constitue le nouveau cluster.

Les nœuds du cluster et les périphériques de quorum votent tous pour former un quorum. Par défaut les nœuds du cluster acquièrent un nombre de vote de quorum égal à un lorsqu'ils sont initialisés et deviennent membres du cluster. Les nœuds peuvent aussi avoir un nombre de vote égal à zéro, lorsqu'ils sont en cours d'installation ou ont été placés à l'état de maintenance par un administrateur.

Les périphériques de quorum acquièrent des votes de quorum en fonction du nombre de nœuds connectés au périphérique. Lorsqu'un périphérique de quorum est défini, il acquiert un maximum de votes égal à N-1, où N correspond au nombre de nœuds connectés au périphérique de quorum. Par exemple, un périphérique de quorum connecté à deux nœuds avec un nombre de votes différent de zéro possède un nombre de quorums égal à un (deux moins un).

Intégrité des données

Le système Sun Cluster tente d'empêcher toute corruption des données et veille à leur intégrité. Comme les nœuds du cluster partagent des données et des ressources, un cluster ne doit jamais se diviser en partitions distinctes actives en même temps. Le CMM veille à ce qu'il n'y ait toujours qu'un seul cluster opérationnel à tout moment.

Des partitions de cluster peuvent provoquer deux types de problèmes : le split brain et l'amnésie. Le split brain a lieu lorsque l'interconnexion entre les nœuds du cluster est perdue et que le cluster est partitionné en sous-clusters, chaque sous-cluster croyant être la seule partition. Un sous-cluster ignorant l'existence d'autres sous-clusters peut entraîner un conflit au niveau des ressources partagées tel que la duplication des adresses réseau et la corruption de données.

L'amnésie apparaît si tous les nœuds quittent le cluster en groupes successifs. Prenons l'exemple d'un cluster à deux nœuds avec les nœuds A et B. Si le nœud A tombe en panne, les données de configuration du CCR ne sont mises à jour que sur le nœud B, et pas sur le nœud A. Si le nœud B tombe en panne par la suite, et que le nœud A est réinitialisé, ce dernier s'exécutera avec l'ancien contenu du CCR. Cet état est appelé amnésie et peut conduire à exécuter un cluster avec des informations de configuration obsolètes.

Le split brain et l'amnésie peuvent être évités en donnant un vote à chaque nœud et en attribuant une majorité de votes à un autre cluster opérationnel. Une partition dotée d'une majorité de votes possède un quorum et est autorisée à fonctionner. Ce mécanisme de majorité de votes fonctionne bien si le cluster compte plus de deux nœuds. Dans un cluster à deux nœuds, la majorité est deux. Si ce cluster est partitionné, un vote externe permet à une partition d'obtenir le quorum. Ce vote externe est alors fourni par un périphérique de quorum. Un périphérique de quorum peut être n'importe quel disque partagé entre les deux nœuds.

Le Tableau 2–1 décrit la manière dont le logiciel Sun Cluster utilise le quorum pour éviter les problèmes de split brain et d'amnésie.

Tableau 2–1 Quorum du cluster et problèmes de split brain et d'amnésie

Type de partition 

Solution du quorum 

Split brain 

N'autorise que les partitions (sous-cluster) ayant une majorité de votes à s'exécuter comme le cluster (avec une telle majorité, il ne peut exister qu'une seule partition). Lorsqu'un nœud a perdu la course au quorum, il panique.  

Amnésie 

Garantit, lors de l'initialisation, que le cluster possède au moins un nœud faisant partie des derniers membres du cluster (possédant donc les données de configuration les plus à jour).  

Séparation en cas d'échec

Une panne entraînant la partition du cluster (appelée split brain) est un des problèmes majeurs que peut rencontrer un cluster. Lorsque ce phénomène se produit, les nœuds ne peuvent pas tous communiquer, ainsi, des nœuds individuels ou des sous-ensembles de nœuds risquent de tenter de former des clusters individuels ou des sous-ensembles. Chaque partition ou sous-ensemble peut « croire » qu'il est le seul à être propriétaire des disques multihôtes et à en posséder l'accès. Les tentatives d'écriture des différents nœuds sur les disques peuvent entraîner une corruption des données.

La séparation en cas d'échec limite l'accès des nœuds aux disques multihôtes en les empêchant d'accéder aux disques. Lorsqu'un nœud quitte le cluster (parce qu'il a échoué ou a été partitionné), la séparation en cas d'échec assure qu'il ne peut plus accéder aux disques. Seuls les membres actuels des nœuds ont accès aux disques, garantissant ainsi l'intégrité des données.

Le système Sun Cluster utilise le mode de réservation des disques SCSI pour implémenter la séparation en cas d'échec. Grâce au système de réservation SCSI, les nœuds défectueux sont « isolés » à l'extérieur des disques multihôtes, pour les empêcher d'accéder à ces disques.

Lorsqu'un membre détecte qu'un autre nœud ne communique plus sur l'interconnexion du cluster, il lance une procédure de séparation en cas d'échec pour empêcher le nœud défaillant d'accéder aux disques partagés. Lors de la séparation en cas d'échec, le nœud séparé panique et un message de « conflit de réservation » s'affiche sur la console.

Mécanisme failfast pour la séparation en cas d'échec

Le mécanisme failfast fait paniquer un nœud défaillant, mais ne l'empêche pas de redémarrer. Après la panique, le nœud peut redémarrer et tenter de rejoindre le cluster.

Si un nœud perd la connectivité aux autres nœuds du cluster et qu'il ne fait pas partie d'une partition pouvant atteindre un quorum, il est supprimé de force du cluster par un autre nœud. Un autre nœud faisant partie de la partition pouvant atteindre le quorum effectue des réservations sur les disques partagés. Le nœud n'ayant pas de quorum panique alors en conséquence du mécanisme failfast.