La continuité de service I INTRODUCTION Si la performance est un élément important de satisfaction de l'utilisateur de réseau, la permanence de la disponibilité des ressources l'est encore davantage. Ici nous nous intéressons aux serveurs et aux solutions de continuité de service de type cluster. Les solutions de continuité de service de bas niveau (RAID, DRDB, DFS) ayant été étudiées précédemment. II LES CLUSTERS DE SERVEURS Il suffit de prendre l exemple d un serveur de messagerie qui ne fonctionne plus pendant une demi-journée suite à un disque dur défectueux, le temps de le remplacer et de faire la restauration ; le service commercial ainsi que la direction ne peuvent plus répondre aux appels d offres, le service clients ne peut pas faire le suivi des réclamations, le service technique ne peut plus passer de commandes. La structure est paralysée pour tous les échanges de courrier électronique, qui représente un pourcentage conséquent de la gestion des activités au sein d une structure commerciale. Les résultats sont radicaux puisque l entreprise cumule des contrats perdus, des bénéfices en moins, des heures de travail perdues, des sanctions pour l équipe de commerciaux et pour le service informatique. Pour éviter ce genre de scénario catastrophe certains architectes ou administrateurs de systèmes d informations décident d implémenter un service de cluster sur les serveurs hébergeant les applications critiques : serveur de messagerie, serveur ERP, serveur Web commerce électronique, serveur de base de données, serveur de fichiers ou autres. III LES CLUSTERS TERMINOLOGIE La technologie de clustering permet d'avoir une haute disponibilité des ressources publiées. On utilise cette technologie pour avoir une disponibilité et stabilité des ressources proche de 100 %. Tolérance zéro pour les pannes matérielles ou logicielles. Il y a également éventuellement une répartition des charges entre les nœuds d'un cluster. Un serveur de cluster est un groupe de serveurs gérant des ressources stockées généralement sur des disques partagés. Les nœuds et les disques sont généralement connectés par un bus de liaison (SCSI ou Fibre Channel). Un serveur dans le cluster est appelé nœud dit node en anglais. Les données publiques sont appelées ressources, chaque disque du bus partagé représente un groupe de ressources ; pour publier un groupe de ressources accessible par les clients externes, il est nécessaire de créer un serveur virtuel en lui adressant une adresse IP virtuelle et un nom d'hôte. Lorsqu un client externe se connecte pour faire une requête sur les données, celle-ci transite par le serveur virtuel, qui fait office de «passerelle» entre les nœuds connecté aux disques partagés du cluster et le client. Par défaut chaque groupe de ressources est attribué à un nœud. Dans le cas où le nœud a une défaillance, l autre nœud prend en charge les groupes de ressources de son homologue, et répond aux requêtes distantes. C est la phase de basculement entre les 2 nœuds, appelé failover, en conséquent la mise en place d'un cluster permet d avoir une disponibilité des ressources proche de 100%. 1 Marie-pascale Delamare d après «Clustering» de J.Y. Repetti et L. Cardona
Haute disponibilité (Availability) des ressources sur le cluster, celles-ci sont garanties disponibles à 99,9 % du temps. Dans le cas où un des nœuds ne pourrait plus fournir des réponses aux requêtes des clients, alors les autres nœuds du cluster prennent le relais. Ainsi la communication avec les clients et l application hébergée ou autres ressources sur le cluster ne subit pas d interruption ou une très courte interruption. Adaptabilité : (Scalability) : il est possible d ajouter un à plusieurs nœuds, ou d ajouter des ressources physiques (disques, processeurs, mémoire vive) à un nœud du cluster. En effet, il est possible que de part les trop nombreuses requêtes sur le serveur que celui-ci soit en saturation au niveau de la charge processeur, mémoire ou autre, dans quel cas il est nécessaire d ajouter des éléments, voir un autre nœud. Évolutivité : Lorsque la charge totale excède les capacités des systèmes du cluster, d autres systèmes peuvent lui être ajoutés. En architecture multiprocesseur, pour étendre les capacités du système, il faut dès le départ opter pour des serveurs haut de gamme coûteux autorisant l'ajout d'autres processeurs, de lecteurs et de la mémoire supplémentaires. IV LES CLUSTERS : ARCHITECTURE Sur le plan technique, le clustering consiste à mettre en grappe des serveurs (nœuds) qui partagent des périphériques communs en se répartissant éventuellement la charge du traitement. Les unités de stockage doivent être communes, et il faut un bus de communication entre les différents serveurs. Un cluster est constitué de plusieurs nœuds. Ce sont des serveurs classiques ne nécessitant aucune particularité mais malgré tout il est fortement conseillé d'estimer la charge des requêtes clients pour déterminer la configuration optimale processeur(s) puissant(s), carte réseau, RAM, carte mère. Pour une plus grande stabilité du système il est nécessaire de posséder des configurations identiques sur les 2 nœuds à savoir même processeur(s), mémoire quantité RAM, accès disque SCSI ou IDE 7200tr/min ou 10000 tr/min, ainsi en cas de basculement les applications seront prises en charge de la même façon, et n'affecteront pas les temps entrée/sortie sur les ressources. Les applications serveur sont installées de façons identiques sur les deux nœuds du cluster. 2 Marie-pascale Delamare d après «Clustering» de J.Y. Repetti et L. Cardona et
IV.1 ARCHITECTURE DISQUES Les disques de cluster sont des disques durs partagés, chaque nœud peut accéder aux disques via le bus partagé. Le stockage de toutes les ressources publiables, fichiers de données, files d'impression, applications, ressources, et services se font sur les disques partagés. Il est nécessaire de partager les disques sur un bus, il y a deux méthodes d'implémentation pour le partage des disques sur un bus, la technologie SCSI et la technologie Fibre Channel sur un système SAN(Storage Area Network). IV.1.1 LA CHAÎNE SCSI La technologie SCSI est une technologie qui peut supporter jusqu à 15 périphériques par contrôleur. Il est possible de connecter les périphériques de stockage à l extérieur ou à l intérieur du serveur pour constituer la chaîne de périphérique SCSI, il est conseillé dans le cas du clustering de connecter les disques partagés à l extérieur dans un boîtier spécifique. Les avantages : - Rapidité de transfert sur le bus pour les E/S - Coût moins élevé par rapport à la fibre optique Les inconvénients: - Limitation à 2 nœuds par cluster - Limitation par la distance des nœuds, une nappe SCSI est fragile et sa longueur doit être limitée. IV.1.2 FIBRE CHANNEL La fibre permet de diffuser des signaux optique sur une très longue distance mais surtout à une vitesse de 200MB/sec et 400MB/sec en full duplex. Les signaux lumineux sont traduits en bits à trés grande vitesse par les cartes possédant un contrôleur de fibre optique. La fibre channel est totalement insensible aux rayonnements électromagnétiques, supprimant ainsi tout problème de parasites. L'atténuation du signal est inférieure à celle d'un conducteur électrique. L'accès est supérieur à ce que l'on peut obtenir avec une nappe SCSI Dans ce cas de figure les disques sont stockés dans un SAN (Storage Area Network), périphérique de stockage externe interfacé avec de la fibre optique. Les avantages : - Une vitesse de communication supérieure entre les serveurs - Permet de faire évoluer la montée en charge de son réseau - 2, 3 ou 4 nœuds dans le cluster - Pas de limitation de distance entre les nœuds et les disques partagés. Les inconvénients: - Coût élevé - Déploiement technique complexe - Coût de maintenance TCO élevé. - Tous les nœuds doivent être équipés d'une carte avec un contrôleur de fibre optique, son coût n'est pas négligeable. 3 Marie-pascale Delamare d après «Clustering» de J.Y. Repetti et L. Cardona et
IV.2 ARCHITECTURE LOGICIELLE : LE QUORUM Le quorum est un disque dans lequel s o n t stockées toutes les informations concernant le paramétrage et la configuration du cluster à savoir les adresses IP des serveurs virtuels, leurs noms réseaux, les groupes de ressources, les fichiers log, retraçant les événements du cluster et autres informations portant sur la configuration du cluster. Le quorum est considéré comme le cerveau du cluster. Il maintient une cohérence et un équilibre dans le cluster pour tous les nœuds. Il manage les données et joue le rôle d'arbitre au sein du cluster pour déterminer quel nœud contrôle le cluster à un instant T et il gère également l'attribution des groupes de ressources. V CLUSTERS MICROSOFT Depuis la version NT4 de son système d'exploitation (OS) Windows, Microsoft propose de mettre en place un cluster constitué de serveurs (Microsoft! bien entendu!) pour répondre aux besoins croissants des entreprises en terme de messagerie électronique, de base de données et depuis quelques années de serveurs WEB ou FTP. Microsoft a implémenté deux technologies de clustering sur ses serveurs Windows. V.1 LE SERVICE DE CLUSTER MSCS Le service MSCS fournit une haute disponibilité pour les applications critiques, telles que les bases de données, les serveurs de messagerie, serveur de fichier et d impression. V.1.1 LE FAILOVER En cas de défaillance du noeud il y a un basculement automatique de prise en charge de toutes les ressources vers l'autre noeud du cluster, ce processus est appelé failover. 1-Le client envoie une requête sur le serveur virtuel géré par le nœud 1. 2-Le nœud 1 ne peut pas répondre au client car il est hors service 3-Le nœud 1 n émet plus de «heartbeat»sur le réseau privé ce qui entraîne le basculement des ressources du nœud 1 vers le nœud 2 4-Le nœud 2 prend le relais et publie les ressources du serveur virtuel 1 pour les clients externes 5-La requête client est alors correctement acheminée et la mise hors service du nœud 1 est obsolète pour le client. 4 Marie-pascale Delamare d après «Clustering» de J.Y. Repetti et L. Cardona et
V.1.2 LE FAILBACK Après les diverses opérations de maintenance et/ou de remise à niveau sur le nœud hors ligne, la remise en production se fait grâce au procédé de failback. Il est possible de paramétrer l'instant où le serveur sera remis en production dans le cluster. Il est préférable dans le cas d'un failback de restaurer le noeud durant les périodes creuses des entrées sorties sur le cluster, la nuit ou le matin avant l'arrivée des utilisateurs. Le nœud reprend ensuite le management des groupes de ressources qui lui étaient attribués initialement. 1-Le problème technique est résolu et le noeud est remis en production. 2-Les datagramme UDP, battements de coeurs sont de nouveaux générés sur le réseau entre les deux nœuds 3-Depuis le réseau privé, le noeud 2 est informé de la remise en production du noeud 1. Les groupes de ressources qui étaient initialement attribués au noeud 1 lui sont alors restitué. 4-Le noeud 1 synchronise les groupes de ressources et les publie via le serveur virtuel (dont l'ip n'a pas changé). 5-Les clients peuvent continuer à faire leur requête, et le failback reste obsolète du côté client, on peut note parfois en fonction des applications utilisées une micro-coupure de connexion au serveur. V.2 NETWORK LOAD BALANCING NLB permet d équilibrer le trafic IP entrant. A travers différentes règles établies les connexions entrantes sont réparties entre les différents nœuds du cluster, il peut y avoir jusqu à 32 nœuds pour équilibrer la charge IP en mode Network Load Balancing. Le service d'équilibrage de charge de réseau augmente la disponibilité et la montée en charge des applications serveur basées sur l accès Internet, tels que des serveurs WEB, des serveurs médias streaming, serveur Windows Terminal serveur ou autres. 5 Marie-pascale Delamare d après «Clustering» de J.Y. Repetti et L. Cardona et
V.3 COMPONENT LOAD BALANCING - APPLICATION CENTER 2000 Il existe une troisième technologie de clustering implémentée sur les serveurs Application Center. Equilibrage de Composants, le service CLB est intégré à Application Center 2000 (ou versions antérieures), ce type de clustering permet de répartir la charge sur plusieurs nœuds du cluster, pour les applications basées sur la technologie des objets COM et COM+, une mise a jour pour les objets WMI et la gestion du framework.net est désormais disponible. On parle de clustering d'application dit clustering de puissance. L'architecture CLB est souvent couplé à la l'architecture de cluster NLB, dans le cas de serveur WEB basé sur le commerce électronique. 6 Marie-pascale Delamare d après «Clustering» de J.Y. Repetti et L. Cardona et