Guide des notions fondamentales de Sun Cluster 3.1 10/03

Structure à haute disponibilité

Le système SunPlex rend tous les composants du « chemin d'accès » reliant les utilisateurs aux données hautement disponibles, y compris les interfaces réseaux, les applications elles-mêmes, le système de fichiers et les disques multihôtes. Un composant du cluster est dit hautement disponible s'il est capable de survivre à toute panne (matérielle ou logicielle) unique du système.

Le tableau suivant présente les types de pannes de SunPlex (matérielles et logicielles) et les types de récupération intégrés à la structure à haute disponibilité.

Tableau 3–1 Niveaux de détection et de récupération des pannes de SunPlex

Composant du cluster en panne 

Récupération logicielle 

Récupération matérielle  

Service de données  

API HD, structure HD  

N/A 

Adaptateur de réseau public 

multi-acheminement sur réseau IP  

Plusieurs cartes d'adaptateur de réseau public  

Systèmes de fichiers de cluster 

Répliques principales et secondaires 

Disques multihôtes 

Disque multihôte mis en miroir 

Gestion de volumes (Solaris Volume Manager et VERITAS Volume Manager) 

RAID-5 matériel (par exemple, Sun StorEdgeTM A3x00)

Périphérique global 

Répliques principales et secondaires 

Plusieurs chemins d'accès au périphérique, jonctions de transport de cluster 

Réseau privé 

Logiciel de transport HD  

Plusieurs réseaux matériels privés indépendants 

Noeud 

Moniteur d'appartenance au cluster, pilote failfast 

Plusieurs noeuds 

La structure à haute disponibilité de Sun Cluster détecte rapidement l'échec d'un noeud et crée un nouveau serveur équivalent pour les ressources de la structure sur un autre noeud. Les ressources de la structure ne sont toutes indisponibles à aucun moment. Celles n'ayant pas été affectées par l'échec d'un noeud sont totalement disponibles durant la récupération. En outre, celles du noeud défectueux redeviennent disponibles dès que la récupération est terminée. Une ressource de la structure récupérée n'a pas à attendre la récupération de toutes les autres.

La plupart des ressources de la structure à haute disponibilité sont récupérées de façon transparente pour les applications (services de données) les utilisant. La sémantique d'accès aux ressources de la structure est totalement préservée après l'échec d'un noeud. Les applications ne s'aperçoivent simplement pas que le serveur de la ressource a été déplacé vers un autre noeud. L'échec d'un seul noeud est totalement transparent pour les programmes sur les autres noeuds utilisant les fichiers, les périphériques et les volumes de disques rattachés à ce noeud, tant qu'il existe un autre chemin d'accès matériel aux disques depuis un autre noeud. On peut par exemple utiliser des disques multihôtes ayant des ports connectés à plusieurs noeuds.

Moniteur d'appartenance au cluster (MAC)

Le moniteur d'appartenance au cluster (MAC) est un ensemble d'agents répartis (un agent par membre du cluster). Ces agents échangent des messages sur l'interconnexion du cluster pour :

Contrairement à certaines versions antérieures du logiciel Sun Cluster, le MAC s'exécute entièrement dans le noyau.

Appartenance au cluster

La fonction principale du MAC est d'établir des accords au niveau du cluster entre tous les noeuds participant à l'activité du cluster à un moment donné. Cette contrainte s'appelle l'appartenance au cluster.

Pour déterminer l'appartenance au cluster et finalement assurer l'intégrité des données, le moniteur d'appartenance au cluster :

Reportez-vous à la rubrique Quorum et périphériques de quorum pour obtenir de plus amples informations sur la manière dont le cluster se protège lui-même des partitions en plusieurs clusters.

Reconfiguration du moniteur d'appartenance au cluster

Pour assurer que les données ne s'altèrent pas, tous les noeuds doivent arriver à un accord cohérent sur l'appartenance au cluster. Si nécessaire, le moniteur d'appartenance au cluster coordonne la reconfiguration des services (applications) du cluster en réponse à une panne.

Le MAC reçoit des informations sur la connectivité aux autres noeuds depuis la couche de transport du cluster. Il utilise l'interconnexion du cluster pour échanger des informations d'état au cours d'une reconfiguration.

Après avoir détecté une modification d'appartenance, le MAC réalise une configuration synchronisée du cluster, au cours de laquelle les ressources peuvent être redistribuées en fonction de la nouvelle appartenance au cluster.

Mécanisme failfast

Si le MAC détecte un problème critique sur un noeud, il fait appel à la structure du cluster pour arrêter le noeud de force (panique) et le supprimer de l'appartenance au cluster. Le mécanisme par lequel ce processus intervient est appelé failfast. Il provoque l'arrêt d'un noeud de deux manières.

Lorsque la mort d'un démon du cluster entraîne la panique d'un noeud, un message similaire à celui-ci s'affiche sur la console pour ce noeud :


panic[cpu0]/thread=40e60: Failfast: Aborting because "pmfd" died 35 seconds ago.
409b8 cl_runtime:__0FZsc_syslog_msg_log_no_argsPviTCPCcTB+48 (70f900, 30, 70df54, 407acc, 0)
%l0-7: 1006c80 000000a 000000a 10093bc 406d3c80 7110340 0000000 4001 fbf0

Après la panique, le noeud peut soit se réinitialiser et tenter de rejoindre le cluster, soit rester sur l'invite de la PROM OpenBootTM (OBP). L'action retenue est déterminée par la définition du paramètre auto-boot? de l'OBP.

Cluster Configuration Repository (CCR)

Le Cluster Configuration Repository (CCR) est une base de données privée sur le l'ensemble du cluster pour le stockage d'informations relatives à la configuration et à l'état du cluster. C'est une base de données distribuée. Chaque noeud maintient une copie complète de la base de données. Le CCR garantit que tous les noeuds ont une vue cohérente du « monde » du cluster. Pour éviter l'altération des données, chaque noeud a besoin de connaître l'état en cours des ressources du cluster.

Le CCR utilise un algorithme de validation à deux phases pour les mises à jour : si une mise à jour ne se déroule pas correctement sur tous les membres du cluster, elle est réexécutée. Le CCR utilise l'interconnexion du cluster pour appliquer les mises à jour distribuées.


Attention : Attention :

le CCR est constitué de fichiers texte, mais vous ne devez jamais les modifier manuellement. Chaque fichier contient une somme de contrôle enregistrée pour assurer la cohérence entre les noeuds. Une mise à jour manuelle de ces fichiers peut provoquer l'arrêt d'un noeud ou de l'ensemble du cluster.


Le CCR s'appuie sur le moniteur d'appartenance pour garantir qu'un cluster ne fonctionne que si un quorum a été atteint. Il est chargé de vérifier la cohérence des données au sein du cluster, d'effectuer des récupérations lorsque nécessaire et de faciliter les mises à jour des données.