CLUSTERING Grappe d'ordinateurs
CLUSTERING Présentation Haute disponibilité Partage de charges Autres clusters Produits et solutions Conclusion
Options d'architecture Client/Serveur
Définition d'un cluster Cluster : agrégat de machines dans un but de travail coopératif. Systèmes informatiques indépendants, à couplage lâche,se comportant comme un seul système. Architecture NORMA : NO Remote Memory Access Ce n'est pas une architecture SMP (machines parallèles) Architecture de cluster Systèmes en clustering : tâches réparties sur plusieurs machines (les sites web importants). Logiciels en clustering : une seule et une même tâches est répartie sur chaque machine (calculs).
Clustering : les besoins Augmentation de la puissance de traitement (scalability) : on veut que la puissance de traitement suive de manière linéaire le nombre de machines du cluster. Augmentation de la disponibilité (availability): on veut minimiser les inconvénients liées aux pannes par la redondance des machines entre elles. Calcul Haute-Performance et Partage de charge : configurations à plusieurs dizaines (centaines) de nœuds.
CLUSTERING Présentation Haute disponibilité Partage de charges Autres clusters Produits et solutions Conclusion
Clustering La haute disponibilité Assurer un redemarrage rapide en quelques minutes en cas de problème imprévu - redondance de machines. Pas de rupture de service perceptible aux utilisateurs. Ce n'est pas de la tolérance de panne
Architecture physique
Concepts de base Baie disque partagées (SCSI / Fiber Channel) L ’accès réseau : c’est le point de passage entre les machines du cluster et les machines de l’extérieur Le support du système de fichier : Baie disque partagées (SCSI / Fiber Channel) Disques locaux des machines Le coeur de calcul : n couples mémoire-CPU. Ressources matérielles et logicielles nécéssaires à l ’éxécution d’un service sur un nœud Un service est démarré sur un nœud que si ce dernier a accès à l ’ensemble du groupe de ressource nécessaire à l ’exécution du service.
CLUSTERING Présentation Haute disponibilité Partage de charges Autres clusters Produits et solutions Conclusion
Clustering Partage de charge La fonction de partage de charge peut être centralisée ou répartie. Toutes les machines éxecutent le même service simultanément.
Schéma général IP SLB Point d ’accès réseau FS service service service
Gestion par le réseau Systèmes par partage de charge grâce au DNS multiples IP pour un nom, priorités dans les entrées Mais - les entrées A sont cachées par les systèmes; - les entrées MX privilègie un serveur par rapport à l ’autre (Haute-Disponibilité).
Avantages Scalability : réponse à la demande Rajouts de serveurs. Administration aisée de n serveurs absolument identiques en données
Cadre d'utilisation Services à données statiques : serveur web, serveur ftp (en lecture seule). Services à données dynamiques : utilisation d ’un système de fichiers « cluster ». Problèmatique de la cohérence des données. Utilisation d ’un File System spécifique qui permettent la concurrence transparente des accès (Distributed Lock Manager). Emergence de solutions pour Linux.
Données partagées Solution de partage de charge à données partagées : le MUST ! Mais … Les applications écrites spécifiquement sont très chères (Oracle Parallel Server) Solution BdD OpenSource : MySQL Haute-disponibilité en écriture Lecture distribuée
CLUSTERING Présentation Haute disponibilité Partage de charges Autres clusters Produits et solutions Conclusion
Clustering Calculs scientifique L'ensemble des nodes cumulent leur puissance de calcul pour arriver à des performance égales à celles qu'atteignent les super calculateurs. Ce cluster utilise des applications spécialisées dans la paraléllisation de calcul à travers une couche de communication commune. Il est possible de gérer la mémoire partagée accessible par l'ensemble des processeurs du système à travers ses nodes.
Clustering Stockage de données Mise en place d'une vaste capacité de stockage virtuel afin de répondre à l'augmentation des flux de données et donc nécessitant une capacité de stockage supérieure à celle d'un seul disque dur. Le fichier est découpé en bloc de taille raisonnable et stocké par morceau sur plusieurs disque. Virtuellement, on a l'impression que l'espace de stockage et que notre fichier est stocké en un seul morceau sur un disque unique. Technologie : SAN et NAS
Clustering Stockage de données Le but est de disribuer les données par l'entremise de plusieurs disques répartis sur les nodes du cluster : stockage combiné. L'utilisateur peut travailler avec des fichiers de très grandes tailles, tout en minimisant les tranferts, dans l'éventualité ou la taille des blocs adoptée reste raisonnable.
CLUSTERING Présentation Haute disponibilité Partage de charges Autres clusters Produits et solutions Conclusion
Les solutions Globales Clusters propriétaires : IBM, SUN, Hewlet Packard, Compaq, Fujtsu, .... Clusters Commerciaux : systèmes proposés par des sociétés de prestations en informatique.
Les solutions Microsoft Clusters Microsoft : Windows 2000 Advanced et Datacenter Server. MSCS : haute disponibilité Network Load Balancing : répartition de charge Operating System Edition Network Load Balancing Component Load Balancing Server cluster Windows 2000 Advanced Server 32 8 2 Datacenter Server 4 Windows Server 2003 Enterprise Server
Les solutions linux Clusters Linux : LVS, Beowulf, PVFS, Linux HA-Project, Alinka, Mosix.
Clustering Microsoft Il répond aux besoins croissants des entreprises en terme de messagerie éléctronique, de base de données et depuis quelques années de serveurs web ou ftp Microsoft propose deux types de clustering : Le clustering de service, permettant de réaliser des cluster d'application et de rendu de service, c'est à dire un cluster de haute disponibilité, à tolérance aux faute. Le clustering à répartition de charge, c'est à dire une répartition de charge réseau sur un flux IP à travers un cluster constitués de 32 nodes au maximum.
Clustering Microsoft Les inconvénients : Toutes les applications doivent provenir de Microsoft. Les systèmes d'exploitations proposés subissent trop souvent de correctifs. Il faut u matériel robuste, puissant et pas très nombreux(<32). Les solutions de clustering Microsoft sont particulièrement onéreuses.
Avantages Linux Mise en place d'un clustering répondant à toutes les attentes. Des applications Open Source de cluster son disponible sur le réseau Internet. Quasi gratuité des applications.
Inconvénients Linux Le système n'est pas livré clé en main. Il faut un investissement humain considérable notamment en terme de formation De bonnes connaissances en informatique, sur le réseau et du monde Linux. Beaucoup de PATIENCE.
CLUSTERING Présentation Haute disponibilité Partage de charges Autres clusters Produits et solutions Conclusion
Il faut savoir répondre aux questions suivantes : Conclusion Il faut savoir répondre aux questions suivantes : Choix du système d’exploitation Quel existant ? Budget ? Choix du type de cluster Que veut on clusteriser ? Les données Les applications La charge …
Bibliographie et sites Internet Architecture de l’ordinateur – Andrew Tanenbaum – InterEditions Client serveur – S. Miranda, A. Ruols - Eyrolles http://clusters.top500.org/ http://www.sun.com/clusters/ http://hp-linux.cern.ch/ http://www.microsoft.com/windows2000/technologies/clustering/default.asp http://www.linuxvirtualserver.org/ http://www.beowulf.org/ http://www.mosix.org/