Guide des notions fondamentales de Sun Cluster pour SE Solaris

Utilisation de l'interconnexion de cluster pour le trafic des services de données

Un cluster doit avoir de multiples connexions réseau entre les nœuds pour former une interconnexion de cluster. Le logiciel de clustering fait appel à de nombreuses interconnexions pour optimiser la disponibilité et les performances. Pour le trafic interne (par exemple, les données des systèmes de fichiers ou des services évolutifs), les messages sont répartis à tour de rôle sur toutes les interconnexions disponibles.

L'interconnexion de cluster est également mise à la disposition des applications pour garantir une communication hautement disponible entre les nœuds. Par exemple, une application répartie peut avoir des composants exécutés sur différents nœuds et ayant besoin de communiquer entre eux. En utilisant l'interconnexion de cluster plutôt que le transport public, ces connexions peuvent résister à l'échec d'un lien individuel.

Pour utiliser l'interconnexion de cluster dans le cadre des communications, l'application doit adopter les noms d'hôtes privés configurés lors de l'installation du cluster. Par exemple, si le nom d'hôte privé pour le nœud 1 est clusternode1-priv, utilisez ce nom pour communiquer sur l'interconnexion de cluster vers le nœud 1. Les sockets TCP ouverts avec ce nom sont routés sur l'interconnexion de cluster et peuvent être reroutés de manière transparente en cas de panne réseau.

Veuillez noter que comme les noms d'hôte privés peuvent être configurés durant l'installation, l'interconnexion de cluster peut utiliser n'importe quel nom choisi à ce moment-là. Le nom réel peut être obtenu à l'aide de la commande scha_cluster_get(3HA) suivie de l'argument scha_privatelink_hostname_node.

Lors de l'utilisation de l'interconnexion du cluster pour les applications, une seule interconnexion est établie entre deux nœuds d'une paire, mais des interconnexions distinctes sont, si possible, utilisées entre les différentes paires de nœuds. Supposons par exemple qu'une application tournant sur trois nœuds SPARC communique sur l'interconnexion de cluster. La communication entre les nœuds 1 et 2 peut avoir lieu sur l'interface hme0 et la communication entre les nœuds 1 et 3 sur l'interface qfe1. Autrement dit, les communications d'une application entre deux nœuds sont limitées à une simple interconnexion, tandis que les communications sur cluster interne sont réparties sur toutes les interconnexions.

Veuillez noter que l'application partage l'interconnexion avec le trafic de cluster interne et, de ce fait, que la bande passante à la disposition de l'application dépend de la bande passante utilisée par le reste du trafic. En présence d'une défaillance, le trafic interne est acheminé tour à tour vers les autres interconnexions et les connexions des applications sont basculées vers une interconnexion en état de marche.

Deux types d'adresse prennent en charge l'interconnexion du cluster, et la commande gethostbyname(3N) sur un nom d'hôte privé renvoie normalement deux adresses IP. La première adresse est appelée adresse de paire logique et la seconde adresse logique par nœud.

Une adresse de paire logique distincte est attribuée à chaque paire de nœuds. Ce petit réseau logique prend en charge la reprise des connexions. Une adresse par nœud fixe est également attribuée à chaque nœud. Autrement dit, les adresses de paires logiques de clusternode1-priv sont différentes sur chaque nœud, tandis que l'adresse logique par nœud de clusternode1-priv est la même sur chaque nœud. Un nœud ne comporte toutefois pas d'adresse de paire logique le désignant, de ce fait, la commande gethostbyname(clusternode1-priv) sur le nœud 1 ne renvoie que l'adresse par nœud logique.

Veuillez noter que les applications acceptant des connexions sur l'interconnexion de cluster et vérifiant ensuite l'adresse IP pour des raisons de sécurité doivent procéder à une nouvelle vérification de toutes les adresses IP renvoyées par la commande gethostbyname, et non pas simplement la première.

Si vous avez besoin d'adresses IP cohérentes à tout moment dans votre application, configurez-la pour être liée à l'adresse par nœud du côté client et du côté serveur de sorte que toutes les connexions semblent provenir et se diriger vers cette adresse par nœud.