Introduction aux systèmes de clustering
Les systèmes de clustering sont similaires aux systèmes parallèles car ils ont tous deux plusieurs processeurs. Cependant, une différence majeure est que les systèmes en cluster sont créés par deux ou plusieurs systèmes informatiques individuels fusionnés. Fondamentalement, ils ont des systèmes informatiques indépendants avec un stockage commun et les systèmes fonctionnent ensemble.
Les systèmes de clustering sont une combinaison de clusters matérielles et de clusters logicielles. Les clusters matérielles permettent de partager des disques à haute performance entre les systèmes. Les clusters logiciels permettent à tous les systèmes de fonctionner ensemble.
Le clustering est généralement utilisé pour fournir un service à haute disponibilité, c'est-à-dire un service qui continuera même si un ou plusieurs systèmes du cluster échouent. Généralement, on obtient une haute disponibilité en ajoutant un niveau de redondance dans le système. Une couche de logiciel de cluster s'exécute sur les nœuds du cluster. Chaque nœud peut surveiller un ou plusieurs des autres (sur le réseau). Si la machine surveillée échoue, la machine de surveillance peut prendre possession de son stockage et redémarrer les applications qui s'exécutaient sur la machine défaillante. Les utilisateurs et clients des applications ne voient qu'une brève interruption de service.
Types de systèmes de clustering
Il existe principalement deux types de systèmes de clustering, à savoir le système de clustering asymétrique et le système de clustering symétrique.
- Dans le clustering asymétrique, une machine est en mode de secours (tandis que l'autre exécute les applications. La machine hôte de secours (hot-standby) ne fait que surveiller le serveur actif. Si ce serveur tombe en panne, l'hôte de secours devient le serveur actif.
- Dans le clustering symétrique, deux hôtes ou plus exécutent des applications et se surveillent mutuellement. Cette structure est évidemment plus efficace, car elle utilise tout le matériel disponible. Cependant, elle exige que plus d'une application soit disponible pour fonctionner.
Il existe d'autres formes de clusters, notamment les clusters parallèles et les clusters sur un réseau étendu (WAN). Les clusters parallèles permettent à plusieurs hôtes d'accéder aux mêmes données sur un stockage partagé. Comme la plupart des systèmes d'exploitation ne prennent pas en charge l'accès simultané aux données par plusieurs hôtes, les clusters parallèles nécessitent généralement l'utilisation de versions spéciales de logiciels et de versions spéciales d'applications. Par exemple, Oracle Real Application Cluster est une version de la base de données Oracle qui a été conçue pour fonctionner sur un cluster parallèle. Chaque machine exécute Oracle, et une couche de logiciel suit l'accès au disque partagé. Chaque machine a un accès complet à toutes les données de la base de données. Pour fournir cet accès partagé, le système doit également fournir un contrôle d'accès et un verrouillage afin de garantir qu'aucune opération conflictuelle ne se produise. Cette fonction, connue sous le nom de gestionnaire de verrouillage distribué (DLM), est incluse dans certaines technologies de cluster.