Présentation de Sun Cluster pour SE Solaris

Chapitre 3 Architecture Sun Cluster

L'architecture Sun Cluster permet de déployer, de gérer et d'afficher un groupe de systèmes comme un grand système unique.

Ce chapitre comprend les rubriques suivantes :

Environnement matériel de Sun Cluster

Un cluster est formé des composants matériels suivants :

La Figure 3–1 représente les relations entre les composants matériels.

Figure 3–1 Composants matériels de Sun Cluster

Illustration : cluster à deux nœuds avec réseaux public et privé, matériel d'interconnexion, disques locaux et multihôtes, console et clients.

Environnement logiciel de Sun Cluster

Pour fonctionner comme un membre du cluster, un nœud doit être équipé des logiciels suivants :

La Figure 3–2 fournit une représentation fonctionnelle des composants logiciels constituant l'environnement logiciel de Sun Cluster.

Figure 3–2 Architecture logicielle de Sun Cluster

Illustration : composants du logiciel Sun Cluster comme le RGM, le CMM, le CCR, les gestionnaires de volumes et le système de fichiers de cluster.

Moniteur d'appartenance à la grappe

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

Le MAC reçoit des informations sur la connectivité aux autres nœuds 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 au cluster, le CMM effectue une configuration synchronisée du cluster. Dans cette configuration, les ressources du cluster peuvent être redistribuées, en fonction de la nouvelle appartenance au cluster.

Le CMM s'exécute entièrement dans le noyau.

Référentiel de configuration de la grappe (CCR)

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.

Systèmes de fichiers de grappe

Un système de fichiers de cluster est un proxy entre les éléments suivants :

Les systèmes de fichiers de cluster dépendent des périphériques globaux (disques, bandes, CD-ROM). Les périphériques globaux sont accessibles à partir de n'importe quel nœud du cluster à travers le même nom de fichier (par exemple, /dev/global/). Ce nœud n'a pas besoin de connexion physique au périphérique de stockage. Vous pouvez utiliser un périphérique global comme un périphérique normal , c'est-à-dire que vous pouvez créer un système de fichiers sur un périphérique global à l'aide de la commande newfs ou mkfs.

Le système de fichiers de cluster possède les caractéristiques suivantes :

Services de données évolutifs

L'objectif principal d'un réseau en cluster est de fournir des services de données évolutifs. L'évolutivité signifie qu'en dépit de l'accroissement de la charge offerte à un service, celui-ci peut maintenir un temps de réponse constant, grâce à l'ajout de nouveaux nœuds au cluster et à l'exécution de nouvelles instances de serveur. Un service Web est un bon exemple de ce type de service. Un service de données est généralement composé de plusieurs instances tournant chacune sur des nœuds différents du cluster. Ensemble, ces instances se comportent comme un service unique face à un client distant de ce service et implémentent la fonctionnalité de ce service. Dans un service Web évolutif avec plusieurs démons httpd s'exécutant sur différents nœuds, n'importe quel démon peut servir la requête d'un client. Le démon servant la requête dépend d'une règle d'équilibrage de la charge. La réponse au client semble venir du service, et non du démon servant la requête, ce qui préserve l'apparence d'un service unique.

La figure suivante représente l'architecture d'un service de données évolutif :

Figure 3–3 Architecture d'un service de données évolutif

Illustration : requête d'un service de données s'exécutant sur plusieurs nœuds.

Les nœuds n'hébergeant pas l'interface globale (nœuds proxy) hébergent l'adresse partagée sur leur interface de bouclage. Les paquets arrivant dans l'interface globale sont distribués à d'autres nœuds de cluster, en fonction de règles d'équilibrage de la charge configurables. Les différentes règles d'équilibrage de la charge sont décrites ci-dessous.

Règles d'équilibrage de la charge

L'équilibrage de la charge permet d'améliorer les performances du service évolutif, tant en matière de temps de réponse que de rendement.

Il existe deux sortes de services de données évolutifs : pur et sticky. Sur un service pur, n'importe quelle instance peut répondre aux requêtes du client. Sur un service sticky, le cluster équilibre la charge des requêtes au nœud. Ces dernières ne sont pas redirigées vers d'autres instances.

Un service pur utilise une règle d'équilibrage de la charge pondérée. Sous cette règle, les requêtes du client sont réparties de manière uniforme entre les instances de serveur du cluster. Par exemple, dans un cluster à trois nœuds où chaque nœud a le poids 1, chaque nœud traite un tiers des requêtes de n'importe quel client pour le service. Les poids peuvent être modifiés à tout moment grâce à l'interface de commande scrgadm(1M) ou à l'interface graphique Gestionnaire SunPlex.

Il y a deux types de services sticky : sticky ordinaire et sticky joker. Les services sticky permettent à plusieurs sessions d'application simultanées utilisant plusieurs connexions TCP de partager la mémoire d'état (état de la session d'application).

Les services sticky ordinaires permettent à un client de partager l'état entre plusieurs connections TCP simultanées. Le client est dit “sticky” envers l'instance du serveur écoutant sur un port unique. Le client a la garantie que toutes ses requêtes vont vers la même instance de serveur, sous réserve que cette instance soit active et accessible et que la règle d'équilibrage de la charge ne soit pas modifiée alors que le service est en ligne.

Les services sticky joker utilisent des numéros de ports assignés de manière dynamique, mais attendent toujours des requêtes du client qu'elles aillent vers le même nœud. Le client est dit “sticky joker” sur les ports et associé à la même adresse IP.

Stockage sur disques multihôtes

Le logiciel Sun Cluster rend les disques hautement disponibles en utilisant un stockage sur disques multihôtes, pouvant être connecté à plus d'un nœud à la fois. Le logiciel de gestion du volume peut être utilisé pour organiser ces disques dans un emplacement de stockage partagé géré par un nœud du cluster. Les disques sont ensuite configurés pour passer à un autre nœud en cas de panne. L'utilisation de disques multihôtes dans les systèmes Sun Cluster offre de nombreux avantages, notamment :

Interconnexion de cluster

Tous les nœuds doivent être connectés par l'interconnexion de cluster via au moins deux réseaux ou chemins d'accès redondants physiquement indépendants, afin d'éviter un point de panne unique. Alors que deux interconnexions sont requises pour la redondance, l'expansion du traffic peut en utiliser jusqu'à six afin d'éviter les goulots d'étranglement et améliorer la redondance et l'évolutivité. L'interconnexion de Sun Cluster utilise Fast Ethernet, Gigabit-Ethernet, Sun Fire Link ou l'interface SCI (SCI, IEEE 1596-1992), pour permettre des communications privées de cluster de haute performance.

Dans les environnements clustérisés, les interconnexions et protocoles à grande vitesse et faible latence sont essentiels pour les communications entre les nœuds. L'interconnexion SCI dans les systèmes Sun Cluster améliore les performances sur les cartes d'interface réseau typiques (NIC). Sun Cluster utilise l'interface Remote Shared Memory (RSMTM) pour la communication internodale sur un réseau Sun Fire Link. La RSM est une interface de messagerie Sun, extrêmement efficace pour les opérations de mémoire à distance.

Le pilote RSM Reliable Datagram Transport (RSMRDT) se compose d'un pilote créé sur l'API RSM et d'une bibliothèque qui exporte l'interface API RSMRDT. Ce pilote fournit des performances améliorées Oracle Parallel Server/Real Application Clusters. Les fonctions d'équilibrage de charge et de haute disponibilité sont également améliorées car étant fournies directement avec le pilote, elles sont disponibles de manière transparente pour les clients.

L'interconnexion de cluster se compose des éléments matériels suivants :

La Figure 3–4 représente l'interconnexion des trois composants.

Figure 3–4 Interconnexion de cluster

Illustration : deux nœuds connectés par un adaptateur de transport, des câbles et une jonction de transport.

Groupes de multiacheminement sur réseau IP

Les adaptateurs de réseau public sont organisés en groupes IPMP (groupes de multiacheminement). Chaque groupe de multiacheminement possède un ou plusieurs adaptateurs de réseau public. Chaque adaptateur d'un groupe de multiacheminement peut être actif. Vous pouvez aussi configurer des interfaces de réserve demeurant inactives jusqu'au moment d'un basculement.

Les groupes de multiacheminement fournissent à la base des ressources de nom d'hôte logique et d'adresse partagée. Sur un nœud, le même groupe de multiacheminement peut héberger un nombre indéfini de ressources de nom d'hôte logique ou d'adresse partagée. Pour contrôler la connectivité de réseau public des nœuds du cluster, vous pouvez créer un multiacheminement.

Pour plus d'informations sur les ressources de nom d'hôte logique et d'adresse partagée, reportez-vous au manuel Sun Cluster Data Services Planning and Administration Guide for Solaris OS.

Interfaces de réseau public

Les clients se connectent au cluster via des interfaces de réseau public. Chaque carte d'adaptateur réseau peut être connectée à un ou plusieurs réseaux publics, selon si elle possède plusieurs interfaces matérielles ou non. Vous pouvez définir des nœuds pour qu'ils prennent en charge plusieurs cartes d'interfaces de réseau public configurées de façon à ce qu'elles soient toutes actives, et puissent ainsi se servir mutuellement de sauvegarde en cas de basculement. En cas de défaillance d'un des adaptateurs, le logiciel Solaris de multiacheminement sur réseau IP sur Sun Cluster est invoqué pour effectuer le basculement de l'interface défaillante vers un autre adaptateur dans le groupe.