Les utilisations des clusters dans les entreprises



Documents pareils
La continuité de service

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Livre blanc Haute disponibilité sous Linux

«clustering» et «load balancing» avec Zope et ZEO

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

SafeKit. Sommaire. Un livre blanc de Bull Evidian

LE CLUSTERING DANS LES ENTREPRISES

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Solution Haute Disponibilité pour Linux

La haute disponibilité

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Windows serveur 2008 installer hyperv

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Haute Disponibilité High-Availability : HA. Les enjeux

Sybase High Avalaibility

Windows Internet Name Service (WINS)

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Proce dure Installation Cluster de basculement SQL Server 2005

WebSphere MQ & Haute Disponibilité

Chapitre 1 : Introduction aux bases de données

Haute Disponibilité, concepts et principes

1 LE L S S ERV R EURS Si 5

Les modules SI5 et PPE2

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server

Cours 20412D Examen

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé

Chapitre 01 Généralités

VMWare Infrastructure 3

Consolidation de stockage

CA XOsoft. Suite logiciels. WANSync Solution de réplication des données en LAN ou WAN.

Présentation du déploiement des serveurs

La surveillance réseau des Clouds privés

La haute disponibilité de la CHAINE DE

en version SAN ou NAS

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Edition de février Numéro 1. Virtualisation du Poste de Travail

Module 0 : Présentation de Windows 2000

Détection d'intrusions en environnement haute performance

Table des matières. Chapitre 1 Les architectures TSE en entreprise

SECURIDAY 2012 Pro Edition

FACILITER LES COMMUNICATIONS. Le gestionnaire de réseau VPN global de Saima Sistemas

NOTIONS DE RESEAUX INFORMATIQUES

vbladecenter S! tout-en-un en version SAN ou NAS

Load Balancing MASSAOUDI MOHAMED CHAHINEZ HACHAICHI AMENI DHAWEFI ERIJ MAIJED EMNA BOUGHANMI

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l

Fiche Technique Windows Azure

PostgreSQL. Formations. Calendrier... 14

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

Clients et agents Symantec NetBackup 7

Le cluster à basculement

Technologie SDS (Software-Defined Storage) de DataCore

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

Virtualiser ou ne pas virtualiser?

L annuaire et le Service DNS

Dossier Solution - Virtualisation CA arcserve Unified Data Protection

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Présentation du modèle OSI(Open Systems Interconnection)

Consolidation. Grid Infrastructure avec la 11gR2

PostgreSQL. Formations. SQL avancé Calendrier... 18

Guide de déploiement

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Ebauche Rapport finale

Cisco Certified Network Associate

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

Guide de prise en main Symantec Protection Center 2.1

Virtualisation du poste de travail. Denis CASANOVA UFR Sciences & Technologies CUME - 29 Mars 2012

Sage 100 CRM - Guide d installation Version Mise à jour : 2015 version 8

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Continuité d activité : le choix des armes

Spécifications de l'offre Surveillance d'infrastructure à distance

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Redondance de service

Surveiller les applications et les services grâce à la surveillance réseau

Fonctions Réseau et Télécom. Haute Disponibilité

Extrait de Plan de Continuation d'activité Octopuce

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Automatisation de la découverte, de la surveillance et de l analyse des causes premières dans le datacenter virtualisé (VDC) EMC SERVER MANAGER

Easy as NAS Supplément Entreprises. Guide des solutions

Guide de configuration de SQL Server pour BusinessObjects Planning

FAMILLE EMC RECOVERPOINT

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration

Enterprise Intégration

AccessMaster PortalXpert

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION

ACQUISITION DE MATERIEL INFORMATIQUE

Les méthodes de sauvegarde en environnement virtuel

Optimisation WAN de classe Centre de Données

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Technologie de déduplication de Barracuda Backup. Livre blanc

Transcription:

Les utilisations des clusters dans les entreprises Référence Auteur Version Date Biblio_M2SIR_Cluster.doc Christophe BARBERET Philippe VILMINT V.1.1 24/12/2004 Les utilisations des clusters dans les entreprises Page : 1

SOMMAIRE INTRODUCTION...3 1. DEFINITION DU CLUSTERING...4 1.1 HISTORIQUE... 4 1.2 CLASSIFICATION DES ORDINATEURS... 4 1.3 PROBLEMATIQUE POSEE PAR LES CLUSTERS... 6 2. CLUSTERS DE CALCULS...7 3. CLUSTERS DE HAUTE DISPONIBILITE...8 3.1 RISQUES ET ENJEUX DE L INDISPONIBILITE INFORMATIQUE... 8 3.2 CARACTERISATION DE LA HAUTE DISPONIBILITE... 11 3.3 COMMENT ASSURER LA HAUTE DISPONIBILITE... 12 3.3.1 Duplication de composants... 12 3.3.2 Mise en cluster... 13 3.3.3 Répartition de charge... 16 4. CLUSTERS DE REPARTITION DE CHARGE...18 4.1 ILLUSTRATION DE LOAD-BALANCING POUR UN SERVEUR WEB... 18 4.2 LES ARCHITECTURES N-TIERS... 19 4.2.1 Plusieurs couches logiques avec un rôle spécifique... 19 4.3 TOPOGRAPHIE DES DIFFERENTS TYPES DE CLUSTERS... 21 4.4 CLUSTER A UNE SEULE COUCHE (CLUSTER DE BASE)... 21 4.5 CLUSTER A DEUX COUCHES, DISPONIBILITE ET EVOLUTIVITE ELEVEES... 22 4.6 CLUSTER MULTICOUCHES, COMPLEXE MAIS DISPONIBILITE EXTREME... 24 5. EXEMPLES DE SOLUTIONS...25 5.1 CLUSTERS ORACLE... 25 5.2 CLUSTERS MICROSOFT... 25 5.3 CLUSTERS LINUX... 32 5.3.1 Les Cluster Beowulf... 32 5.3.2 OpenMosix : un exemple de clustering simple et efficace.... 33 5.4 EXEMPLES DE CLUSTERS DANS LE MONDE... 35 6. CONCLUSION...36 7. SOURCES BIBLIOGRAPHIQUES...37 Les utilisations des clusters dans les entreprises Page : 2

Introduction Des origines de l ordinateur en 1945 jusqu à 1985, l utilisation de l ordinateur dans nos sociétés ne cessait de progresser, mais le prix du matériel étaient encore très élevé. Les entreprises disposaient de peu de machines et étaient dans l incapacité de les faire collaborer ensemble. Dans les années 1980, cette situation fut bouleversée par l arrivée de deux avancées technologiques : la première étant liée aux progrès des microprocesseurs (de plus en plus rapides et peu onéreux) et la deuxième est l invention des réseaux rapides. De ces deux facteurs naquirent les systèmes distribués qui s opposaient à l approche centralisée des mainframes qui régnait alors. Aujourd hui, la technologie du parallélisme est devenue un pilier de l informatique moderne. C est une méthode permettant de fragmenter un problème en plusieurs morceaux plus petits qui peuvent être résolus en parallèle. Cette solution est la seule à pouvoir répondre à des problématiques de vitesse et de volume de données importants. Son développement fut permis par la création de processeurs massivement parallèles mais extrêmement coûteux et par la diffusion des systèmes distribués qui eux, en revanche ne nécessitent que l utilisation de machines existantes. Cette recherche bibliographique s intéresse à une partie des systèmes distribués, les clusters qui sont un groupe de machines traitant ensemble des données et des instructions. Dans un premier temps nous définirons la notion de cluster, puis les parties suivantes traiteront des trois grandes applications de ce type d architecture : Calculs Haute disponibilité Répartition de charge Nous illustrerons notre recherche par quelques exemples avant de conclure. Les utilisations des clusters dans les entreprises Page : 3

1. Définition du Clustering 1.1 Historique SAGE était un cluster construit pour le NORAD par IBM en 1950. Avec la technologie des tubes à transistors, SAGE était constitué de machines autonomes qui collaboraient pour détecter préventivement des missiles arrivant sur le continent américain. Des bonds technologiques aussi bien matériels que logiciels eurent des impacts durables sur les clusters. Les premières générations de microprocesseurs conçus par le développement initial du VLSI (Very Large Scale Intégration) apparurent en favorisant l émergence des premières stations de travail et des premiers ordinateurs personnels. Ethernet en se répandant popularisa les réseaux locaux et créa un standard industriel peu coûteux pour le transport des données. Les années 1980 marquèrent un intérêt accrus pour les clusters par des expérimentations dans la recherche et l industrie. La NSA utilisa 160 stations Apollo interconnectées entre elles pour ses besoins. DEC réunit 750 machines. La communauté scientifique explora, durant cette période de nombreuses voies dans le domaine du parallélisme dont celle qui aboutit au domaine du message passing. Une étape fut franchie avec la naissance de PVM (Parallel Virtual Machine) qui implémentait ce modèle. PVM, développé à Oak Ridge National Laboratory, a été le précurseur des systèmes distribués disponibles sur plusieurs types de plateformes. En 1993, Le réseau Myrinet fut inventé pour offrir au cluster une meilleure bande passante et une meilleure latence. Les premiers clusters Beowulf furent développés pour la NASA en 1994. Cette année vit la naissance d une nouvelle API de message passing MPI (Message Passing Interface) qui devint le modèle dominant. Les clusters ne cessent de devenir de plus en plus performants. En 2000, le laboratoire de Los Alamos annonça un cluster pouvant atteindre les 30 Gflops. 1.2 Classification des ordinateurs Flynn range les matériels selon les services qu ils rendent aux flux de données et aux flux d instructions : SISD: Single Instruction Single Data. Les processeurs séquentiels appartiennent à cette famille, SIMD Single Intruction Multiple Data Stream MISD Multiple Instruction Single Data Stram (sans réelle application). MIMD Multiple Instruction Multiple Data, les systèmes multiprocesseurs et les architectures distribuées figurent dans cette famille. En 1988, ce schéma fut étoffé par Johnson en se basant sur la structure de la mémoire (Distribuée ou globale) et sur les mécanismes de communications (variables partagées ou passage de messages). La Figure 1 présente la classification de Flynn-Johnson. Les utilisations des clusters dans les entreprises Page : 4

Flux de données Flux d instructions Multiple Simple SISD MISD GMSV GMMP MIMD DMSV DMMP Variables partagées SIMD Message Passing Distribué Global Mémoire Communication Synchronisation Figure 1 Classification de Flynn-Johnson Les nouvelles divisions sont : GMSV Global Memory Shared variables GMMP Global Memory Message Passing (sans réelle application). DMSV Distributed Memory Shared Variables DMMP Distributed Memory Message Passing La plupart des clusters sont de la famille DMMP, c est à dire que ce sont des architectures à mémoire distribuée utilisant le passage de messages. Les utilisations des clusters dans les entreprises Page : 5

1.3 Problématique posée par les Clusters Définition : Un cluster (grappe) est un ensemble d'ordinateurs connectés les uns aux autres en réseau dans le but de partager des ressources. Ces ordinateurs sont alors appelés nodes (noeuds) et l'ensemble forme le cluster. Lenteur de diffusion du code vers les nodes Toutes les machines interconnectées ne partagent pas la même mémoire. Ainsi, il est indispensable de diffuser le code à exécuter à chaque node cliente. A noter que les temps de propagation sur le réseau sont très longs comparés aux temps de propagation sur le bus interne d'un ordinateur (ce qui tente à changer aujourd hui). la redondance Les clusters utilisent un mécanisme permettant une redondance importante. Les nodes serveurs utilisent une adresse IP virtuelle négociée en permanence. Dans le cas ou un serveur connaîtrait une défaillance, un autre prendrait immédiatement la relève. Ce mécanisme fonctionne également lorsqu'un serveur connaît une trop grosse charge réseau. Il n'est plus en mesure de répondre donc il perd son adresse virtuelle et un autre serveur moins surchargé prend la relève. le coût Une structure en clusters peut être mise en place à partir de machines standards monoprocesseur. les performances architecturelles Mise en place d'une machine virtuelle disposant d'une puissance de calcul démultipliée et d'une capacité en mémoire et disque inégalable. Points forts - Optimisation des performances - Haute disponibilité - Sécurité - Redondance - Rapidité Points faibles - Coût important - Nécessite de solides connaissances informatiques - Technique gourmande en bande passante et en temps. Tableau 1 Avantages et inconvénients des clusters Les utilisations des clusters dans les entreprises Page : 6

2. Clusters de calculs Ce type de clusters est destiné à permettre la mise en commun de ressources de calculs. Ils sont utilisés pour résoudre des problèmes calculatoires en distribuant les parties indépendantes du calcul sur les différents noeuds. Lorsque l'on met en place un système de calculs distribués ou un système de calculs parallèles, le but est le même : la mise en commun de la puissance de calculs de plusieurs processeurs. Les calculs sont considérés comme parallèles s ils sont effectués sur plusieurs processeurs. Dans le cas d une machine parallèle les processeurs sont regroupés dans le même châssis et probablement relié par un bus spécifique. Alors que dans le cas de calculs distribués, les données, mais également les traitements, peuvent être réparties sur différentes machines. Dans ce dernier cas, les communications jouent un rôle très important et influencent énormément les performances du calcul. Formellement, il y a peu de différences entre les calculs parallèles et les calculs distribués. L'une d'entres elle que l'on peut citer, est l'absence de communications explicites entre les processeurs dans le cas d'un calcul parallèle. Les principales difficultés de mise en place sont les mêmes dans les deux cas. La communication interprocessus peut se faire par l'intermédiaire d'une mémoire partagée, par échanges de fichiers ou par envois de messages à l'aide d'un réseau. Il existe plusieurs solutions très différentes, aussi bien pour l'architecture matérielle que pour les algorithmes de calculs. Chaque solution répond à un problème particulier. Il faut donc bien étudier le problème afin de déterminer la solution qui va le mieux y répondre. Les utilisations des clusters dans les entreprises Page : 7

3. Clusters de haute disponibilité Notre vie quotidienne est rythmée par des activités comme les transactions bancaires, les télécommunications, l audiovisuel, Internet, nos transports. Elles demandent toujours plus d une technologie qui repose sur des systèmes matériels et logiciels qui gagnent en puissance et en complexité. Plus nous serons dépendant d eux, plus leur défaillance deviendra critique et coûteuse. Nous pouvons accroître la fiabilité d un serveur en dupliquant ses ressources critiques et augmenter la disponibilité d un service en le faisant reposer sur plusieurs serveurs. Dans un premier paragraphe, nous verrons l impact que peut avoir une indisponibilité sur une organisation. Un second paragraphe caractérisera un système hautement disponible. Un troisième paragraphe montrera comment approcher cette haute disponibilité. 3.1 Risques et enjeux de l indisponibilité informatique Toute organisation est exposée à une défaillance de son système d information; en cas d incident. Les conséquences peuvent être la destruction des données, des applications et des codes. Mais aussi l indisponibilité partielle ou totale du réseau et des services (potentiellement prolongée). Il est particulièrement important d'en mesurer les conséquences possibles d autant que les pénalités financières peuvent être conséquentes (Tableau 2). Application Secteur d activité Coût de l indisponibilité Courtage Finance $6,45 millions Vente pas carte de paiement Finance $2,6 millions Films à la demande Loisirs $150 000 Téléachat Distribution $113 000 Ventes sur catalogue Distribution $90 000 Réservation aérienne Transport $89 500 Tableau 2 Coût moyen d'une heure d'indisponibilité Les utilisations des clusters dans les entreprises Page : 8

Figure 2 Conséquence de l'indisponibilité Ainsi les coûts engendrés pour l indisponibilité du système d information sont les suivants : Perte d'un investissement Cet investissement peut consister dans le coût de mise en place du réseau et des systèmes d information (ressources internes consacrées au projet, du développement des applications, ) Coût de remise en place du service Il convient d'évaluer le coût nécessaire à la remise en fonctionnement du réseau ou des systèmes d informations par des ressources internes et/ou externes. Le cœur de certains systèmes peut être endommagé (données ou code / développements manquants), il convient d'inclure le coût de rétablissement, de reconstruction, de reconfiguration ou de re-développement). Perte de productivité et / ou de revenus Si le système touché est un outil important dans l'activité de votre organisation et de ses partenaires, l'indisponibilité totale ou partielle, courte ou prolongée, entraînera une perte de productivité dont il convient d'évaluer le coût. Si votre réseau héberge des applications ou un site commercial, l'indisponibilité engendrera une perte de revenus directs durant la période d'indisponibilité et risque d avoir des conséquences sur les relations commerciales futures. Perte de crédibilité L'indisponibilité de votre plate-forme ou l'incapacité à livrer un service peuvent engendrer une perte de crédibilité de votre organisation auprès de ses clients et partenaires et / ou de votre département vis-à-vis du reste de l'organisation. Il peut en résulter une atteinte à la notoriété de votre entreprise difficile à restaurer. Mise en cause de la responsabilité Les utilisations des clusters dans les entreprises Page : 9

o o Risque de condamnation à des dommages et intérêts au titre de la responsabilité contractuelle (services non rendus ou non conformes au contrat) Responsabilité délictuelle, basée sur la notion de fautes ; le professionnel étant présumé initié (connaissance du risque, non mise en oeuvre des moyens adéquats) aura des difficultés à prouver qu il n a pas commis de fautes. L'enjeu que représente la fiabilité du système d information est similaire à tout outil de production : c est d'assurer la continuité de fonctionnement d'une organisation et un service optimal. Les utilisations des clusters dans les entreprises Page : 10

3.2 Caractérisation de la haute disponibilité Chacun des composants d un serveur (processeur, disque dur, mémoire, carte réseau) constitue une ressource critique pouvant être à l origine d une panne. Ces composants sont appelés en anglais SPOF (Single Point Of Failure). Leur fiabilité repose sur ces définitions : MTBF (Mean Time Between Failure) Il s agit du temps moyen qui s écoule entre deux pannes. Le constructeur fournit généralement une évaluation de cette valeur. MTTF (Mean Time To Failure) Il s agit du temps moyen avant une panne définitive. MTTR (Mean Time To Repair) Il s agit de l intervalle de temps moyen où le service est indisponible avant d être rétablis. Le taux de disponibilité peut s exprimer comme suit : MTTF MTTF+ MTTR Dans la pratique, il est plus simple de calculer sur une année, le rapport entre la durée où le service a été rendu sur le temps et la durée totale. Ceci a amené le principe normalisé des «9» (Tableau 2). Un système dont la disponibilité est de 99,99% est dit système à «4 neufs». Type de Système Indisponibilité Disponibilité (%) Classe de disponibilité (Min/an) Non géré 50 000 90 1 Géré 5000 99 2 Bien géré 500 99.9 3 Tolérant les fautes 50 99.99 4 Haute disponibilité 5 99.999 5 Très haute disponibilité 0.5 99.9999 6 Ultra Haute disponibilité 0.05 99.99999 7 Tableau 3 Principe normalisé des "9" La fiabilité et la disponibilité ne sont pas des notions qui s opposent. La première est l aptitude d un système à ne pas tomber en panne. La seconde caractérise un système qui rend un service en dépit des pannes. Maintenant que nous savons estimer le taux de disponibilité d un système, nous allons aborder les techniques permettant de le rendre hautement disponible. Les utilisations des clusters dans les entreprises Page : 11

3.3 Comment assurer la haute disponibilité Les techniques permettant d assurer la haute disponibilité reposent sur la redondance des équipements afin de les rendre moins critiques. Il en existe trois principales : Duplication des composants En multipliant les ressources critiques (physiques ou logicielles) d un serveur, la défaillance de l un d eux devient moins critique. Le Tableau 4 donne des exemples de duplication de composants. Mise en cluster La redondance est utilisée cette fois au niveau du serveur. La panne d une machine peut être compensée par une autre. La continuité du service pourra être garantie après un temps de basculement (FOS, Fail Over Service) Répartition de charge Cette technique est mise en pratique dans les clusters. En général, elle est assurée par un des nœuds (le dispatcher) qui répartit le travail sur les autres. S il découvre qu un des nœuds esclaves ne fonctionne plus, il peut le supprimer de sa liste. 3.3.1 Duplication de composants Le Tableau 4 donne des exemples de techniques de duplication de composants. Eléments Alimentation redondée Utilisation de grappes de disques durs Multiplication des cartes réseaux Commentaire Certains constructeurs proposent de fournir deux ou trois alimentations pour prévenir la perte de ce composant. Les alimentations sont des composants critiques et il n'est pas rare de voir celles-ci faillir bien avant les autres composants du système L'utilisation des technologies RAID est un bon moyen de sécuriser vos données et prendre en compte notamment la perte d'un disque. Une carte réseau peut tomber en panne ou un câble réseau peut simplement être débranché. Une réponse possible est d agréger les liens. Channel Bonding sous Linux, EtherChannel (Cisco) Tableau 4 Duplication de composants Un exemple de duplication de composant est apporté par le channel bonding. C est une technologie permettant de faire de l agrégation de liens sous Linux. Elle est comparable à l EtherChannel de Cisco ou au trunking de SUN qui implémentent la norme 802.3ad. Il s agit de regrouper plusieurs interfaces Ethernet en une interface virtuelle unique. Ceci permet de supporter la perte d un ou plusieurs liens physiques et de multiplier la bande passante par le nombre de cartes réseaux impliquées dans l agrégation. Les utilisations des clusters dans les entreprises Page : 12

Figure 3 Channel bonding La Figure 3 présente deux configurations possibles. La première consiste à faire de l agrégation de lien entre un serveur linux et un commutateur supportant cette technologie. La seconde consiste à faire de l agrégation de lien entre deux serveurs linux. 3.3.2 Mise en cluster La fiabilité d un serveur étant amélioré par la redondance de ses composants, nous pouvons augmenter la disponibilité du service par la redondance de serveurs. Malheureusement, ce but n est pas atteint en se contentant de mettre en marche plusieurs machines. Différentes techniques doivent être implémentées sur le cluster pour pallier à la défaillance d un nœud (confère Tableau 5). Techniques Heartbeat FailSafe Fake STONITH LVS Keepalived Commentaire Heartbeat [5] est la brique de base de bon nombre de cluster. Il permet à deux machines de se surveiller l une l autre. Le service est assuré par un nœud maître. Si Heartbeat détecte une défaillance de ce dernier, il fait basculer les services sur un nœud esclave. Puisqu il ne détecte que des défaillances matérielles, une association avec un outil de surveillance des services tel que mon est possible FailSafe [7] est une contribution de SGI qui nous permet de disposer d'un outil similaire à Heartbeat pour basculer des services entre plusieurs noeuds d'un cluster Fake [6] permet de prendre l'identité d'un service présent dans un cluster en démarrant une adresse IP virtuelle (alias IP) et en s'occupant de mettre à jour les caches ARP des machines connectées pour qu'ils tiennent compte du basculement. Heartbeat intègre ce logiciel en standard STONITH (Shoot The Other Node In The Head!). Il permet d arrêter l alimentation électrique d une machine. Ainsi, nous sommes sur qu une machine supposée ne plus fonctionner l est vraiment! LVS [8] (Linux Virtual Server) met en place un cluster à répartition de charge. Un nœud (le dispatcher) répartit le travail à des nœuds esclaves. Si l un d eux faillis, le dispatcher se contente de le retirer de sa liste. Le dispatcher étant critique, il est souvent redondé grâce à Heartbeat Keepalived surveille la santé des serveurs. Tableau 5 Défaillance d'un nœud La disponibilité d'un service est indissociable de la disponibilité des données. Dans la constitution de votre architecture HA, parvenir à garantir l'intégrité de vos données est l'un des paliers parmi les plus importants à franchir. Des systèmes de fichiers spécifiques offrent aussi des fonctionnalités de tolérance aux pannes intéressantes : On parle alors de systèmes de fichiers distribués ou partagés. Les utilisations des clusters dans les entreprises Page : 13

L'utilisation d'une baie de disques partagée qui va permettre de centraliser les données sur un support unique accessible en concurrence ou non (selon le type de la solution) par l'un ou l'autre des noeuds. Intranet HeartBeat sur liaison série Heartbeat et communications inter-cluster Onduleur Onduleur Figure 4 Exemple de cluster avec HeartBeat et STONITH La Figure 4 présente un exemple de configuration typique d un cluster. Deux serveurs sont mis en cluster et se surveille l un l autre en s échangent des messages HeartBeat, des pulsations cardiaques. Ces derniers peuvent transiter par des liens ethernet. Parfois les échanges ne se font plus, non pas à cause de la défaillance d un nœud mais à cause d un problème réseau. C est pourquoi, Heartbeat peut utiliser en plus une liaison série pour effectuer ses communications. Si le secondaire pense que le maître est défaillant, il prend la main. Pour que les clients s adressent à lui, il s accapare l adresse IP virtuelle du maître avec un logiciel tel que fake. Dans certains cas, les deux machines sont vivantes et considèrent l autre comme absente. Cette situation est dramatique. Les deux voudront se promouvoir maître et monter les systèmes de fichiers au risque de les corrompre. Pour être sûr de devenir la seule machine active, le nœud arrête l autre en envoyant un ordre à son onduleur(stonith). Nous pouvons citer plusieurs techniques de disponibilité de données : RAID [3] Mécanisme permettant d'agréger virtuellement plusieurs disques durs DRDB [12] Outil de réplication réseau de données localisées sur deux serveurs distincts. La synchronisation peut se faire de façon partielle (après une déconnexion réseau par exemple) ou complète (dans le cadre d'un changement de média ou d'une première utilisation). L'utilisation d'une telle couche de réplication (livré sous la forme d'un driver) est absolument transparente pour les applications ENDB Version améliorée du driver NBD (Network Block Device) que l'on trouve habituellement sous Linux. Ce driver nous permet de disposer en local d'une ressource présente sur un serveur Les utilisations des clusters dans les entreprises Page : 14

distant ; Les échanges de données se faisant par l'intermédiaire du réseau. L'accès aux données est ensuite absolument transparente pour le système et les applications. SafeKit [13] Ce produit de la société Evidian (Groupe BULL) offre un large panel de solutions clefs en main pour répliquer des données, équilibrer la charge et basculer des services dans des clusters Linux. Il fonctionne, au moins sur la partie réplication, sur un principe équivalent à DRBD. NFS Ce produit de la société Evidian (Groupe BULL) offre un large panel de solutions clefs en main pour répliquer des données, équilibrer la charge et basculer des services dans des clusters Linux. Baie de stockage partagée Plutôt que de chercher à répliquer les données entre tous les noeuds d'un cluster, une solution idéale consiste à utiliser une baie de disques partagée pour stocker les données. Afin d'éviter les accès concurrents, seul un noeud du cluster à la possibilité de monter les données présentes sur la baie. En cas de panne, le noeud de secours réagit en récupérant la ressource et en redémarrant les services (adresse IP inclus). OpenGFS [15] Le Global File System (GFS) réalisé par la société SISTINA (auteurs de LVM) est un système de fichiers journalisé qui permet de manipuler sans risque des données présentes sur un support de stockage partagé par plusieurs machines. InterMezzo [16] Système de fichiers distribué permettant de propager des modifications apportées à des données entre plusieurs machines CodaFS [17] On pourrait dire que CodaFS est l'ancêtre d InterMezzo car ce dernier est fait par quasiment la même équipe. Il offre donc les mêmes fonctionnalités tout est étant plus stable et plus aboutit au niveau technique RSYNC Petit programme assez sympathique qui peut nous permettre de synchroniser à la demande deux répertoires localisés sur deux machines distantes. CodaFS est un système de fichiers répartis descendant d AFS2. Il est développé à l Université de Carnegie Mellon depuis 1987. C est un système puissant mais aussi gros et complexe. Un de ses principaux avantages est d autoriser les nomades à travailler en mode déconnecter. Les communications entre les serveurs et les clients se font avec les RPC. La sécurité se fait par Kerberos et l emploi d ACL. Sur un poste client, le système de fichier distribué est toujours monté sous /coda. Contrairement à NFS, le client se connecte au système de fichier directement et non à un des serveurs. L utilisateur retrouvera ses données au même endroit quelque soit le client qu il utilise. Les utilisations des clusters dans les entreprises Page : 15

Programme Client Appel Système Retour de l appel système Venus Cache Mgr RPC Serveur VFS NFS E/S EXT2 NOYAU Coda FS Machine client Figure 5 Interaction Coda avec le noyau Supposons que nous souhaitons visualiser le contenu d un de nos fichiers stockés par CODA. Notre commande fera des appels au système de fichiers virtuels (VFS) su noyau LINUX qui les transmettra au module CodaFS. La demande est passée au gestionnaire de cache de Coda, Venus qui vérifiera son cache sur le disque dur du client. Si le fichier existe, Venus répond au noyau sinon il interroge tous les serveurs pour ramener le fichier. Pour des raisons de tolérance aux pannes, le fichier peut exister sur plusieurs serveurs. 3.3.3 Répartition de charge Une solution pour faire de la répartition de charge sous LINUX est LVS (Linux Virtual Server). Commencé en 1998, ce projet combine plusieurs serveurs réels en un unique serveur virtuel. Les applications clientes interagisse avec le cluster comme si il s agissait d un unique serveur bénéficiant d une haute performance et d une haute disponibilité. Réponse Serveur 1 Internet/Intranet Client Requete Retransmission de la Dispatcher requête Serveur 2 Système de fichier partagé Serveur 3 Figure 6 Architecture d'un cluster LVS Comme le montre la Figure 6, LVS est basé sur une architecture trois tiers : Les utilisations des clusters dans les entreprises Page : 16

Un dispatcher (load balancer) sert de frontal avec les clients dont il redistribue les requêtes aux serveurs réels. Les serveurs réels font tourner les services réseaux (Web, email, FTP, DNS). Une solution de stockage partagé fournit un espace de stockage partagé afin que les serveurs disposent des mêmes données. Le dispatcher constitue un point d entrée unique pour le cluster. Un client dirige ses requêtes vers lui qui les transfère vers un des serveurs réels. Ce dernier peut répondre directement aux clients, afin que le dispatcher ne devienne pas un goulot d étranglement (Figure 6). Couplé avec d autres outils que nous avons introduis dans le Tableau 5, LVS est capable de faire de la haute disponibilité (. L idée est de permettre à LVS de détecter les serveurs réels défaillants pour les retirer de sa liste. Dans cet exemple, nous utilisons le logiciel mon. La solution stockage partagé sera rendue plus sure par Coda, un système de fichier distribué et tolérant aux fautes. Une fois, ces améliorations achevées, le dispatcher est une ressource critique. Nous pouvons lui adjoindre un serveur de secours qui prendra la main quand Heartbeat détectera une défection du dispatcher actif. Le logiciel fake permettra au dispatcher de secours de récupérer l adresse IP du dispatcher défaillant. La Figure 7 illustre cet exemple : mon Serveur 1 Dispatcher Internet/Intranet Client fake mon Retransmission de la requête Serveur 2 Système de fichier distribué Coda Dispatcher Serveur 3 Figure 7 - Haute disponibilité de LVS Les utilisations des clusters dans les entreprises Page : 17

4. Clusters de répartition de charge La répartition de charge ou load-balancing est un mécanisme très utilisé dans le domaine des entreprises, elle permet de répartir l exécution des processus ou des flux réseaux vers les différents nœuds de notre cluster en fonction du type de service attendu et de la charge des différents nœuds. Le load-balancer (Node Server) a pour rôle d aiguiller le trafic en fonction de plusieurs critères de service et d indices de congestion des différents noeuds, on parle d «équilibrage de charge», le traitement de la requête est alors optimale (Qualité de services). Exemple : Figure 8 : Architecture simpliste Un cluster server (load-balancer) reçoit les requêtes de services provenant de l Internet est les réparti entre deux serveurs. A noter qu un système très simple de load-balancing pourrait être l utilisation du mécanisme de Round Robin du DNS qui lors de la résolution de nom donnerait à tour de rôle l adresse IP du serveur 1 et du serveur2. 4.1 Illustration de load-balancing pour un serveur WEB Plusieurs serveurs travaillant conjointement pour gérer le trafic HTTP provenant d'internet constituent un exemple de cluster d'équilibrage de la charge réseau. Chaque serveur exécute une instance du serveur Web, et toutes les requêtes de clients sont réparties entre les serveurs du cluster. Cette approche permet d'accélérer le traitement normal de telle sorte que les clients Internet obtiennent un délai d'exécution plus rapide de leurs requêtes. Toutes les instances du serveur Web s'exécutent indépendamment et accèdent uniquement à leurs disques locaux pour récupérer des pages Web. En général, elles ne partagent pas d'informations sauf en cas d'accès à une base de données principale dans certaines applications (type 3-tiers). Les utilisations des clusters dans les entreprises Page : 18

Dans le cas où un serveur présente une défaillance ou est placé en mode hors connexion, l'équilibrage de la charge réseau détecte automatiquement le problème et redistribue le trafic HTTP sur les serveurs restants, assurant ainsi la continuité du service aussi longtemps qu'au moins un serveur est disponible. Les connexions actives à un serveur défaillant sont perdues au moment où le serveur est mis hors connexion ; toutes les autres connexions restent inchangées. Les clients touchés par la panne du serveur établissent une nouvelle connexion avec un serveur survivant du cluster. 4.2 Les architectures n-tiers 4.2.1 Plusieurs couches logiques avec un rôle spécifique Hors mis la gestion du trafic http classique, actuellement de nombreux sites Web ont une architecture un peu plus complexe, alliant Base de données et composants métiers (chargé d effectuer un traitement précis), on peut alors envisager d utiliser un cluster d'équilibrage de la charge réseau pour adapter et équilibrer la charge des composants métiers Les serveurs qui exécutent des composants métiers constituent souvent des éléments clés des sites de commerce électronique. L'évolutivité (capacité que possède une application à accepter un nombre croissant d'utilisateurs) et la disponibilité sont obtenues à l'aide d'équilibreurs de charge et par mise en cluster, applications en différentes couches. Nous utiliserons par la suite l abréviation EA (Enterprise Application) pour nommer l Application d entreprise. Couches application d'entreprise. L'application d'entreprise située à l'extrémité serveur peut être subdivisée en plusieurs "couches" logiques. Ces couches sont des subdivisions logiques des services applicatifs, mais pas nécessairement des divisions physiques entre matériels et logiciels. Dans certains cas, toutes ces couches peuvent être exécutées sur le même ordinateur. Couche web. Cette couche fournit un contenu statique (Pages Html statiques) au client. Il s'agit en principe de l'extrémité frontale de l EA. Une EA simple possède une couche web qui peut être dotée d'un ou plusieurs ordinateurs exécutant un serveur Web (Apache, Netscape Entreprise Server,IIS ). L'équilibreur de charge transmet les requêtes à la couche web. Couche de présentation. La couche de présentation fournit un contenu dynamique (servlets, asp, jsp ) aux clients de l'ea. En règle générale, la couche de présentation comprend un cluster de serveurs (Tomcat, WebLogic, WebSphere, MTS/IIS) qui héberge les composants dynamiques d affichage. Si ce cluster dessert également des pages Html statiques à votre application, il englobe à la fois la couche web et la couche de présentation. Les utilisations des clusters dans les entreprises Page : 19

Couche objet. La couche objet fournit en ensemble d objets métiers (EJB,COM ), et leur logique opérationnelle associée, à une EA. Figure 9 Schéma global de l'architecture dite à 3 niveaux (3-tiers) Les utilisations des clusters dans les entreprises Page : 20