Académique Documents
Professionnel Documents
Culture Documents
DEDICACE
À LA FAMILLE CHOUMELE
REMERCIEMENTS
Aucune œuvre humaine ne pouvant être le fruit d’efforts uniquement personnels, nous
souhaitons de ce fait remercier tous ceux qui nous ont aidés, de près ou de loin, quel que
soit le plan. Nous pensons spécialement à :
RÉSUMÉ
L’IAI intègre dans le cursus de formation en Systèmes et Réseaux, à la fin de la
troisième année d’études, un stage de formation pratique d’une durée de trois (03) mois en
entreprise. Cette formation tend à garantir aux futurs diplômés de l’IAI, leur intégration
rapide et efficace en milieu professionnel. C’est pour cette raison que le CENADI a bien
voulu nous accueillir en son sein, plus précisément à la Division de la Téléinformatique et
de la Bureautique où nous avons été affectés durant la période de stage.
Pendant cette période de stage, nous avons eu à participer à des activités diverses parmi
lesquelles : la mise en place d’un cluster dont l’objectif principal était de permettre la haute
disponibilité l’équilibrage de charges et la tolérance aux pannes.
Pour atteindre ces objectifs, il a été question de faire une collecte d’informations pour
connaître le réel besoin de l’entreprise (productivité), ensuite d’analyser et de proposer une
solution qui est la mise en place d’un système résolvant le problème posé selon les
spécifications du cahier des charges. En effet, au cours de ce travail nous avons eu à réaliser
un système de cluster de haute disponibilité dont les services sont repartis sur plusieurs
nœuds. Ce système permettant une continuité des activités même en cas de sinistre.
Mots clés : cluster, haute disponibilité, équilibrage de charge, tolérance aux pannes.
ABSTRACT
At the end of the third year of study, the AICs integrates a training course in Systems
and Networks into a three-month practical training course in a company. This training aims
to guarantee future AICs graduates their rapid and efficient integration into the workplace.
It is for this reason that CENADI has welcomed us to its heart, more specifically to the
Division of Teleinformatics and Office Technology where we have been assigned during
the internship period.
SOMAIRE
DEDICACE ......................................................................................................................... I
REMERCIEMENTS ........................................................................................................... II
RÉSUMÉ .......................................................................................................................... III
ABSTRACT...................................................................................................................... IV
SOMAIRE.......................................................................................................................... V
LISTE DES FIGURES ..................................................................................................... VI
LISTE DES TABLEAUX .............................................................................................. VIII
INTRODUCTION GENERALE ........................................................................................ 1
PARTIE I: PHASE D’INSERTION .................................................................................... 2
PARTIE II : DOSSSIER TECHNIQUE ............................................................................ 25
CHAPITRE I : CAHIERS DE CHARGES ................................................................... 26
CHAPITRE II : DOCUMENTATION DE L’EXISTANT ............................................ 36
CHAPITRE III : ETAT DE L’ART ............................................................................... 43
CHAPITRE IV : IMPLEMENTATION ........................................................................ 79
CHAPITRE V : RESULTATS ET TESTS..................................................................... 95
CONCLUSION GENERALE ......................................................................................... 104
ANNEXE .......................................................................................................................... IX
BIBLIOGRAPHIE ......................................................................................................... X
WEBOGRAPHIE .......................................................................................................... XI
GLOSSAIRE ................................................................................................................ XII
TABLE DES MATIERES .............................................................................................. XIV
INTRODUCTION GENERALE
Afin de remplir ces objectifs nous avons été retenus pour un stage académique de
trois mois (du 01 Juillet au 30 Septembre 2019 au CENADI), sur le thème « Mise en place
d’un cluster de haute disponibilité avec équilibrage de charge et tolérance aux pannes ». Le
présent rapport est un compte-rendu détaillé des différentes phases de travaux effectués au
sein de l’entreprise. Il sera constitué de deux grands axes, en conformité avec le cahier de
charges fourni par l’établissement :
RESUME
Le dossier d’insertion est la partie du travail qui présente la structure d’accueil, son
fonctionnement et les conditions dans lesquelles nous avons été accueillis, ainsi que les
sujets réalisés pendant le stage. Dans cette partie il était question pour nous de présenter
l’accueil au sein de la structure, présenter la structure, ses missions et ses ressources, sans
oublier sa localisation.
CONTENU
INTRODUCTION
V- RESSOURCES DU CENADI
VI- SECURITE
CONCLUSION
INTRODUCTION
Le rapport d’insertion peut être défini comme un document présentant de manière
brève le processus d’intégration d’un stagiaire au sein d’une structure. La phase d’insertion
est une phase très importante du stage ; c’est pendant celle-ci que l’étudiant découvre la
structure qui l’accueille, s’imprègne de son fonctionnement, de l’environnement logiciel et
matériel dans lequel il devra travailler. Ainsi, suivant le canevas demandé par le cahier de
charges, il sera question dans cette partie d’évoquer et mentionner le déroulement de notre
insertion au sein du CENADI par les axes que sont : l’accueil de l’entreprise, la présentation
générale de la structure et la description des tâches effectuées par celle-ci.
93/133 du 10 mai 1993 stipule qu’il est l’organe chargé de la mise en œuvre de la politique
du gouvernement dans le domaine de l’informatique et de la téléinformatique. Il est ainsi
le conseil du gouvernement, des administrations publiques et parapubliques, des
collectivités locales et même des entreprises privées, en matière d’informatique.
B. Missions
C. Attributions
Le CENADI a été institué par le décret n° 88/1087 du 12 août 1988 portant création et
organisation du Centre National de Développement de l’Informatique (CENADI) au
Ministère de l’Enseignement Supérieur, de l’Informatique et de la Recherche Scientifique
(MESIRES). Le décret n° 93/133 du 10 mai 1993 modifiant certaines dispositions du décret
n° 88/1087 du 12 août 1988 portant création et organisation du Centre National de
Développement de l’Informatique a placé le CENADI sous la tutelle du MINFI. Le
B. Organisation Du CENADI
• Un Secrétariat ;
• La Division des Etudes et des Projets (DEP) ;
• La Division de la Téléinformatique et de la Bureautique (DTB) ;
• La Division de l’Exploitation et des Logiciels (DEL) ;
• La Division de l’Informatique appliquée à la Recherche et à l’Enseignement
(DIRE) ;
• La Division des Affaires Administratives et Financières (DAAF).
Source : CENADI
1. Conseil De Direction
2. Administration Centrale
a. Secrétariat
Source : CENADI
B. Environnement D’exploitation
1. Salle Machine
L’environnement gros système de la salle machine est bâti autour d’un Mainframe
IBM z10BC qui utilise plusieurs partitions, chacune disposant d’un système d’exploitation
(zOS, zLinux...). Le système de gestion de bases de données est DATACOM,
l’environnement de développement est (L4G) CA IDEAL, le gestionnaire de bandothèque
est CA DYNAM-TLMS. Ce mainframe a remplacé le serveur IBM Multiprise 2000
précédemment utilisé La salle machine comprend également :
➢ Des serveurs tours et racks qui hébergent les services réseaux (messagerie, web
DNS…). Le courant régulé, injecté dans le réseau de distribution de l’électricité
aux équipements électroniques, qui dessert l’ensemble des bureaux et des locaux
techniques, est contrôlé par un onduleur central suppléé par un groupe électrogène.
La climatisation de la salle machine et des bureaux est assuré par des dispositifs
de systèmes autonomes (split system).
2. SALLE DE FACONNAGE
V. RESSOURCES DU CENADI
A. Ressources Humaines
o Ingénieurs de conception ;
o Analystes ;
o Programmeurs ;
o Pupitreurs ;
B. Ressources Logicielles
VI. SECURITE
Tableau 3 : Sécurité
CONCLUSION
Le CENADI, créé en 1988, dans le prolongement de la mutation des structures qui
l’ont précédé (SCM, SCI, DCIT, DIT) s’est acquitté plus ou moins des missions qui lui ont
été confiées. Il a participé activement à la conception et au développement des grandes
applications de l’Etat : ANTILOPE, PAGODE, IBIS, CAMPAC, Plan National
Informatique, SIGIPES, SYDONIA, ORDRE, CADRE, ERISIM, SIGEFI... Il a coordonné
techniquement et avec succès, le passage à l’an 2000 des systèmes informatiques de l’Etat.
Il continue d’apporter le conseil stratégique, ainsi que l’appui technique requis à plusieurs
administrations et organismes étatiques. L’essentiel du présent document a porté sur
l’historique, le cadre institutionnel, l’environnement technique y compris quelques grandes
réalisations du CENADI.
RESUME
Dans cette phase nous avons présenté le cas pratique qui nous a été soumis pour notre
étude. A travers ce cas nous avons ressorti la démarche à adopter et les outils nécessaires
pour la mise en place de ce projet.
CONTENU
CHAPITRE4 : IMPLEMENTATION
RESUME
Le cahier des charges est un document contractuel mettant en accord les deux
principaux intervenants dans un projet, à savoir le maître d’ouvrage et le maître d’œuvre.
Il est à la fois un outil de communication et de description du projet, pour éviter la
production de résultats inadéquats. Dans ce document nous avons décrit de manière
détaillée le projet, ses objectifs, les méthodes de réalisation et les ressources à utiliser
CONTENU
INTRODUCTION
I. CONTEXTE ET PROBLEMATIQUE
II. OBJECTIFS
V. PLANNING PREVISIONNEL
CONCLUSION
INTRODUCTION
Dans le but de conduire au mieux la réalisation progressive et effective qui nous a
été confié, il serait important pour nous d’établir un cahier des charges. C’est un document
qui nous donne des directives relatives aux produits à livrer, les conditions de leur livraison
et les spécifications techniques des livrables. Il est établi par le maître d’œuvre, en accord
avec le maître d’ouvrage. Il présente un ensemble d’étapes, d’orientations et de procédures.
En outre, c’est un document formulant les besoins du client, au moyen de fonction
détaillants les services rendus par les produits et les contraintes auxquelles il est soumis. Il
permet de dégager les limites de l’existant et d’en proposer les solutions tout en les
évaluant. Ainsi, afin de mieux appréhender cette notion, nous présenterons : le Contexte,
les attentes de l’entreprise, une estimation de la durée de vie du projet, le planning et les
livrables.
I. CONTEXTE ET PROBLEMATIQUE
A. Contexte
Les structures possèdent certains services réseaux qui sont considérés comme
primordiaux (serveur Intranet, messagerie, annuaire...). Les serveurs qui les hébergent
peuvent être fortement sollicités produisant alors des temps de réponse fortement dégradés.
La majorité des applications sur Internet sont accessibles via le protocole HTTP. Ces
applications sont hébergées sur des serveurs Web. Cependant avec l’augmentation du
nombre d’utilisateurs de ces applications, le temps de réponse aux requêtes des clients
devient assez important, en plus de cela la structure possède en son sein un certain nombre
de service primordiaux pour le bon fonctionnement de ses tâches quotidiennes. Répondre
efficacement aux requêtes des utilisateurs, la disponibilité continue des services hébergés
par la structure et la sécurité de ces services nécessite donc le déploiement des services sur
plusieurs machines (un cluster de machines) d’où le thème « Mise en place d’un cluster
de haute disponibilité avec équilibrage de charges et tolérance aux pannes ». Un
Cluster (une grappe en Français) est un groupe de machines rendant le même service de
manière transparente pour les Clients.
L’intérêt d’un tel projet réside dans son rendement du point de vue de la productivité,
de la réduction du temps de latence. L’étude sur la mise en place d’un cluster de haute
disponibilité permet d’obtenir des systèmes disponibles, extensibles, répondant à des
besoins de Puissance de calcul, Disponibilité, et de Tolérance aux fautes / pannes.
B. Problématique
En ce qui concerne notre projet nous nous sommes posés la question suivante :
II. OBJECTIFS
A. Objectif globale
B. Objectifs spécifiques
Nous atteindrons l’objectif global en passant par des objectifs spécifiques qui sont :
MATERIELLES QUANTITE
ROUTER NET GEAR TRIBAND WIFI NIGHTHAWK X6AC3200 1
B. Ressources logicielles
Tableau 10 : Ressources logicielles du projet
LOGICIELS QUANTITES
GNU/LINUX(CENTOS7) 4
GNU/LINUX (UBUNTU 18.04) 1
LOGICIEL MICROSOFT CORPORATION WINDOWS 10 1
VM WARE 1
LOGICIEL MICRISOFT OFFICE PROFESSIONNEL 2016 1
HAPROXY 2
KEEPALIVED 2
GANT PROJECT 1
APACHE 1
MYSQL 1
C. Ressources humaines
Tableau 11 : Ressources humaines du projet
Ressources Quantités
TECHNICIENS 2
CHEF DE PROJET 1
EVALUATION DU PROJET
RESSOURCES LOGICIELLES
LOGICIELS QUANTITES PRIX NOMBRE DE PRIX
UNITAIRE JOUR TOTAL
(FCFA)
GNU/LINUX(CENTOS7) 4 GRATUIT /
GNU/LINUX (UBUNTU 1 GRATUIT /
18.04)
LOGICIEL MICROSOFT 1 138.000 138.000
CORPORATION WINDOWS
10
VMware 1
LOGICIEL MICRISOFT 1 546.250 546.250
OFFICE PROFESSIONNEL
2016
HAPROXY Gratuit
KEEPALIVED Gratuit
GANT PROJECT
APACHE Gratuit
TOTAL RESSOURCES LOGICIELLES 684.250
RESSOURCES MATERIELLES
MATERIELLES QUANTITE PRIX NOMBRE PRIX
UNITAIRE DE JOUR TOTAL
V. PLANNING PREVISIONNEL
Dans l’optique de bien mener notre projet, nous avons mis sur pied un plan de travail
qui va nous permettre de classer nos taches par ordre d’exécution et de gérer notre temps
de telle sorte que chaque tache soit effectuée à une période donnée. Une première analyse
du projet nous a permis de définir une suite d’étapes à suivre pour sa réalisation :
➢ Insertion : durant cette étape, nous nous sommes imprégnés de la structure et nous
avons pu acquérir notre thème.
➢ Phase de documentation : Nous allons effectuer des recherches concernant notre
thème.
➢ Le cahier des charges : Nous allons présenter le contexte du projet, étudier
l’existant, problématique, la méthodologie, planning prévisionnel, l’estimation
financière et le résultat attendus…
➢ L’état de l’art : Ici nous présentons les différents outils et méthodes liés à la mise
en place des clusters.
➢ Phase d’implémentation : Elle constitue la grande partie de notre travail, sa
réalisation passe par la rédaction du cahier des charges et l’état de l’art ou la
méthodologie.
➢ Phase de test : Cette partie permet de s’assurer que toutes les fonctionnalités de la
solution mise en place sont présentes et en marche. Au cours de cette étape, nous y
avons aussi ajouté certaines fonctionnalités que nous jugeons importantes.
➢ Rédaction du rapport : Cette partie porte sur la mise en écrit de tous ce que nous
avons eu à implémenter tout au long de notre stage.
➢ Montage Powerpoint : étape durant laquelle nous allons monter la présentation de
notre travail.
Le diagramme ci-dessous illustre pour chaque étape la date de début et la date de fin
Source : GanttProject
CONCLUSION
Le cahier des charges est un guide véritable qui encadre toute les actions et
activités du maître d’ouvrage, les obligations administratives, techniques, financières...
Bien plus, il lui permet de s’entourer des différentes ressources humaines et matériels
susceptibles de répondre ses attentes selon des critères préalablement établis.
RESUME
La mise en place d’un système d’information nécessite une étude préalable du système
existant. Cette dernière permet de cerner les difficultés liées au fonctionnement De la
structure au niveau des serveurs. Il s’agissait en effet pour nous d’effectuer une étude du
système existant, de ressortir ses limites, afin de proposer une ébauche de résultats.
CONTENU
INTRODUCTION
I. ETUDE DE L’EXISTANT
CONCLUSION
INTRODUCTION
La documentation de l’existant de taille le fonctionnement réel de la solution
existante au sein de la structure, dans cette partie, nous nous attarderons sur l’étude du
domaine de travail. Il sera question de recenser en détail le fonctionnement d’un système
existant. Il nous importe donc de faire une étude assez détaillée, de recenser les difficultés
rencontrées.
I. ETUDE DE L’EXISTANT
A. Analyse du réseau
1. Analyse
Le CENADI est une structure qui est repartie sur deux bâtiments, il a pour fournisseur
d’accès internet CAMTEL qui lui attribue une bande passante de 130MB/s via la fibre
optique. Cette fibre optique est connectée à un tiroir optique qui lui-même est relié à un
convertisseur optique qui transforme le signal optique en signal électrique. Une fois
transformé, le signal électrique est reparti par le biais d’un switch dans deux routeurs : un
routeur MPLS et un router Internet, de telle sorte qu’une partie soit réservée au réseau
internet du CENADI et l’autre pour le réseau MPLS interconnectant le CENADI et les
autres ministères, et permettant d’accéder aux services hébergés par le CENADI dont le
SIGIPES, ANTILLOPE. Le CENADI étant une organisation qui a pour but de conseiller
l’Etat dans le domaine informatique, possède une salle serveur comptant un certain nombre
d’équipement informatique, dont un serveur qui reçoit les requêtes venant de tous les
ministères pour avoir accès à certains services dont ANTILOPE et des services
constamment utilisé par la structure. En fonction de la disponibilité du serveur ou des
équipements réseau le temps de réponse des requêtes peut être très rapide, très lent ou
totalement indisponible.
2. Topologie
3. Architecture du réseau
Source : CENADI
Source CENADI
B. Equipements
Routeurs 10
Qui permettent la
communication entre les
différents réseaux
Ordinateurs 200 MARQUE
(DELL /HP), RAM (2Go),
PROCESSEUR (Core duo
2.5 ghz), Disque Dur
(120Go)
Au CENADI il y a des serveurs physiques dans lesquels sont créés d’autres serveurs
virtualisés. Le serveur physique devient alors un serveur de serveurs. Chaque couche
virtualisée est un serveur et possède une adresse publique. Ce qui fait qu’on note les limites
suivantes.
Pour pallier à ces problèmes nous allons mettre en place un cluster de haute
disponibilité avec équilibrage de charges.
CONCLUSION
Dans cette partie du travail consacrée à l’analyse, il était question d’effectuer une
étude détaillée du système existant en vue de proposer des solutions pour un meilleur
rendement au fonctionnement de la solution à mettre en place. De ce fait un système de
cluster est une solution qui permettra à la structure de voir son processus de gestion
s’améliorer.
RESUME
L’état de l’art est l'état des connaissances dans tout domaine donné (scientifique,
technique, artistique, médical, etc.) à un instant donné. Dans notre cas il était question de
présenter les généralités sur les clusters, de présenter et de faire le choix sur les différentes
technologies permettant de mettre en œuvre un cluster, sans oublier l’architecture de la
solution.
CONTENU
INTRODUCTION
I. GENERAILTES
CONCLUSION
INTRODUCTION
Avant, le contenu Web était en majeure partie statique et donc très facile à délivrer
rapidement aux clients. Mais aujourd’hui, le contenu des pages Web est devenu
principalement dynamique ; permettant l’interaction entre l’utilisateur et les services
offerts, et induisant une forte charge sur les serveurs Web tout en exigeant des réponses
rapides, une haute performance ainsi qu’une disponibilité permanente des applications, et
autres services hébergés. Pour cela, les services doivent être en mesure de fonctionner sur
plusieurs serveurs de manière à exploiter pleinement leur performance. Cet exercice
permettra de supporter l’accroissement dynamique et soudain du nombre de clients et donc
de requêtes, grâce à des mécanismes de scalabilité, répartition de charge et haute
disponibilité.
I. GENERALITE
A. La Virtualisation
1. Historique et définition
a. Historique
Les années 70 : Une bonne part des travaux sur la virtualisation fut développée au
centre scientifique de Cambridge d’IBM en collaboration avec le MIT, où fut mis au point
le système expérimental CP/CMS, devenant ensuite le produit (alors nommé Hyperviseur)
VM/CMS. Par la suite, les mainframes (serveurs IBM) ont été capables de virtualiser leurs
systèmes d’exploitation avec des technologies spécifiques et propriétaires, à la fois
logicielles et matérielles. En 1979 fut annoncé par exemple sur les IBM 4331 et 4341 un
accélérateur VM optionnel et microcodé.
Les années 80-90 : Dans la deuxième moitié des années 1980 et au début des
années 1990, on a créé des embryons de virtualisation sur des ordinateurs personnels. Ces
solutions pouvaient être soit purement logicielles, soit couplées à du matériel additionnel
(ajout de processeur, carte réseau, etc.). Et c’est sur des ordinateurs Amiga équipé de
processeur hétérogène comme le 80386 et 80486, 68xxx, et PPC qu’il était possible de
lancer d’autres OS comme un Windows, Mac OS, voire des solutions Linux. Le tout en
multitâche sous AmigaOS. Pour les PC, il y avait des émulateurs comme le SideCar et PC
Task. Sur Macintosh, Emplant et ShapeShifter.
Fin des années 90, début 2000 : Dans la seconde moitié des années 1990, les
émulateurs sur x86 des vieilles machines des années 1980 ont connu un énorme succès,
notamment les ordinateurs Atari, Amiga, Amstrad et les consoles NES, SNES, Neo-Geo
AES. La société VMware développa et popularisa à la fin des années 1990 et au début des
années 2000 un système propriétaire de virtualisation logicielle des architectures de type
x86 pour les architectures de type x86. Les logiciels libres Xen, KVM, QEMU, Bochs,
Linux-VServer, Virtual Box et les logiciels propriétaires mais gratuits VirtualPC, Virtual
Server et VMware Server ont achevé la popularisation de la virtualisation dans le monde
x86.
b. Définition
La virtualisation de serveur :
La virtualisation d’application
Sources : https://www.supinfo.com/articles/single/2351-differents-types-virtualisation
La virtualisation de stockage
3. L’intérêt De La Virtualisation
a. QEMU
➢ Machine virtuelle ;
➢ Techniquement très aboutie ;
➢ Emulation complète de machine ;
➢ L’usage du module KQEMU pour une virtualisation accélérée ;
➢ Emulation par recompilation sur un modèle ;
➢ Gourmand en mémoire ;
➢ Sans accélération lent en et charge l’hôte ;
➢ (Virtualisation et KVM reposent sur DEMU).
c. Xen
d. VirtualBox
5. Avantages Et Inconvénients
a. Avantages
Pourquoi virtualiser ?
b. Inconvénients
➢ Un point de défaillance unique
➢ Un recours à des machines puissantes
➢ Une dégradation des performances
➢ Une complexité accrue de l’analyse d’erreurs
b. Définition
disponibles parmi lesquelles nous pouvons citer la répartition de charge réseau (Network
Load Balancing), le basculement automatique des requêtes entre les nœuds d'une même
grappe, qui sont des éléments importants lors de la mise en place des services amenés à
croître.
Source : https://microapp.com/contenus_propres/fiches_produits/extraits_livres/1095/extrait.pdf
Au sein d’une grappe de serveurs, chaque serveur possède et gère ses propres
appareils locaux et repose sur une copie du système d’exploitation, des applications et des
services qu’il gère. Les appareils communs de la grappe, comme les disques et le média de
connexion permettant d’accéder à ces disques, sont détenus et gérés par un seul serveur à
la fois. En cas de défaillance de l’un des serveurs, le logiciel de clustering isole le système
en question. Lorsque les ressources sont partagées entre plusieurs tâches, si un serveur est
surchargé, les tâches sont partagées avec un autre serveur. Les programmes exécutés sur
les clusters de serveurs reposent sur une API standard (Message Passing Interface). Cette
API assure la communication entre les divers processus répartis sur les nœuds par le biais
de messages.
Figure 8 : Load-balancer
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
Pour que le Load-Balancer soit transparent pour les Clients, l'astuce consiste à lui
faire porter, ce que nous appellerons une "adresse IP virtuelle" (VIP en abrégé). Chaque
serveur dispose toujours de son adresse IP réelle (RIP en abrégé). Le Client s'adresse alors
toujours au Load-Balancer par sa VIP et celui-ci peut relayer la requête sur un serveur réel.
Les groupes de serveurs sont conçus pour les applications dont les données sont
fréquemment mises à jour. Ils sont généralement utilisés pour les serveurs de fichiers, les
serveurs d’impression, les serveurs de bases de données, et les serveurs de messagerie.
a. Basculement de service
Cette capacité existe pour tout type d'équipement réseau : du serveur au routeur en
passant par les pares-feux et les commutateurs réseau (switch). Le basculement intervient
généralement sans action humaine et même bien souvent sans aucun message d'alerte. Le
basculement est conçu pour être totalement transparent.
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
➢ 1-Le client envoie une requête sur le serveur virtuel géré par le nœud ;
➢ 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 invisible pour le client.
Notons enfin que le retour à la situation originelle après correction du problème (en
anglais fail-back) est une action manuelle dans la majorité des cas de basculement.
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 nœud 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.
Figure 12:Failback
Source: http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
La tolérance aux pannes est l'ensemble des techniques de conception des systèmes
qui continuent de fonctionner même en présence de la panne de l'un de leurs composants.
L’ensemble de l'architecture, considérée comme un tout, continue par l'utilisation de
redondances de rendre le service attendu en dépit de l'existence de fautes.
c. Répartition de charges
Tout serveur a une capacité de traitement limitée. Lors de périodes de pointe, cette
capacité peut s'avérer insuffisante. Il est alors nécessaire d'ajouter un ou plusieurs serveurs
afin de répartir le travail (la charge) entre eux. La répartition de charge (load-balancing) est
« un ensemble de techniques permettant de distribuer une charge de travail entre différents
ordinateurs d'un groupe. Ces techniques permettent à la fois de répondre à une charge trop
importante d'un service en la répartissant sur plusieurs serveurs, et de réduire
l'indisponibilité potentielle de ce service que pourrait provoquer la panne logicielle ou
matérielle d'un unique serveur ». La répartition de charge est donc une des technologies
qui participe à la haute disponibilité. Elle s’entend le plus souvent au niveau des serveurs
HTTP (par exemple, sites à forte audience devant pouvoir gérer des centaines de milliers
de requêtes par secondes), mais le même principe peut s’appliquer sur n’importe quel
service aux utilisateurs ou service réseau. Les techniques de répartition de charge les plus
utilisées sont :
➢ Deux serveurs distants sur lesquels les données doivent être consistantes ;
➢ Deux serveurs, un comme serveur principal, l’autre comme serveur de
backup à chaud ;
➢ Plusieurs serveurs en cluster utilisés pour de l’équilibrage de charge et de la
tolérance à la panne.
2. Principe
Le principe de la réplication, qui met en jeu au minimum deux SGBD, est assez
simple et se déroule en trois temps :
2. Les modifications faites sur les données sont détectées et stockées (dans une
table, un fichier, une queue) en vue de leur propagation.
Bien entendu il est tout à fait possible de faire de la réplication dans les deux sens
(de l’esclave vers le maître et inversement). On parlera dans ce cas-là de réplication
bidirectionnelle ou symétrique. Dans le cas contraire la réplication est unidirectionnelle
(seulement du maître vers l’esclave) et on parle de réplication en lecture seule ou
asymétrique. De plus la réplication peut être faite de manière synchrone ou asynchrone.
Dans le premier cas la résolution des conflits éventuels entre deux sites intervient avant la
validation des transactions ; Dans le second cas, la résolution est faite dans des transactions
séparées. Il est donc possible d’avoir quatre modèles de réplication :
où la requête est exécutée. Ce type de réplication assure un haut degré d’intégrité des
données mais requiert une disponibilité permanente des serveurs et de la bande passante.
Ce type de réplication, fortement dépendant des pannes du systèmes, nécessite de gérer des
transactions multisites coûteuses en ressources.
compact. Par contre, le planning de réplication est dans ce cas plus complexe, puisqu’il
s’agit de gérer les conflits émanant d’un éventuel accès en écriture sur une base esclave
entre deux mises à jour.
Les avantages de la grappe de serveurs sont qu’elle offre une disponibilité élevée,
et parfois une répartition de la charge et des fonctionnalités de calcul parallèle. Les grappes
permettent aussi de faciliter la montée en charge, et la gestion des ressources (processeurs,
mémoire vive, disques durs, bande passante réseau…).
Quand une erreur survient sur l’un des ordinateurs de la grappe, les ressources sont
redirigées et le workload est redistribué vers un autre ordinateur du cluster. Ainsi, les
grappes garantissent un accès constant aux ressources basées serveur importantes.
Celles-ci sont garanties disponibles à 99,9% du temps. Dans le cas où l'un des nœuds
du cluster ne pourrait plus fournir des réponses aux requêtes des clients, alors les autres
nœuds du cluster prennent le relai. 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.
• Faciliter l'é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, couteux autorisant
l'ajout d'autres processeurs, des lecteurs et la mémoire supplémentaire.
• Faciliter l'adaptabilité
Le cluster d’équilibrage de charges, entant que tout système nous présente des
inconvénients qui sont les suivants :
LVS est un projet gratuit et open source lancée par Wensong Zhang en mai 1998,
sous licence GNU General Public License (GPL), version 2. La mission de ce projet était
de construire un serveur de haute performance pour Linux utilisant la technologie du
clustering. Il est principalement composé de IPVS : un logiciel d’équilibrage de charge IP
implanté dans le noyau Linux. Le code de LVS est fusionné dans les versions 2.4.x et plus
récentes du noyau Linux 1.
2. Load Balancing
a. Layer 4 Load Balancing (Ipvs)
serveur vers lequel la requête est envoyée. Une fois traitée, le serveur envoie une
réponse directement au client sans passer par le load-balancer (d’où le nom « routage
direct »). À noter que les serveurs et le load-balancer doivent être dans le même
réseau local.
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
Figure 14 : IP tunneling
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
Le système KTCPVS redirige les requêtes aux différents serveurs en se basant sur
le contenu de ces dernières. Les différents composants sont reliés à travers des LAN/WAN.
TCPVS)
3. Algorithmes D’ordonnancement
➢ Round robin : les serveurs sont choisis à tour de rôle de manière cyclique.
➢ Weighted round robin : les serveurs sont choisis à tour de rôle, mais relativement
à leur poids, c’est-à-dire que les serveurs ayant les poids les plus forts seront
désignés en premier et recevront plus de requêtes par rapport à ceux ayant des poids
plus faibles.
➢ Least connection : le serveur ayant le moins de connexions (donc le moins chargé)
est choisi.
➢ Weighted least connection : le serveur ayant le moins de connexions relativement
à son poids est choisi, c’est-à-dire que celui qui minimise le rapport Ci/Wi est
désigné (Avec Ci le nombre de connexions du serveur i et Wi son poids).
➢ Destination hashing : l’adresse IP destination est hachée et le choix du serveur se
fera selon cette valeur.
➢ Source hashing : l’adresse IP source est hachée et le choix du serveur se fera selon
cette valeur.
➢ Locality-based least connection : un groupe d’utilisateurs est affecté à chaque
serveur (il est choisi en utilisant l’algorithme du weighted least connection), et si
celui-ci n’est pas surchargé, il recevra les requêtes des clients qui lui sont attachés.
Dans le cas contraire, le serveur qui a un nombre de connexions inférieur à la moitié
de son poids est désigné.
➢ Locality-Based least connection with replication : cet algorithme suit le même
principe que celui du locality-based least connection, sauf que les groupes
d’utilisateurs sont affectés non pas à un seul serveur, mais à un ensemble de
serveurs, et dans cet ensemble, un serveur est désigné en utilisant l’algorithme Du
weighted least connection.
➢ Shortest expected delay : le serveur ayant le délai le plus court (estimé selon une
formule basée sur le nombre de connexions et le poids) est choisi.
➢ Never queue : s’il y a un serveur idle (au repos), il sera choisi, sinon, l’algorithme
du shortest expected delay sera utilisé.
Il arrive parfois que deux connexions d’un même client se doivent d’être attribuées au
même serveur pour des raisons fonctionnelles ou de performance. Par exemple, FTP qui
nécessite l’établissement d’une connexion entre le port 21 du serveur et le port du client
ainsi que l’envoi des données à travers le port 22. Le protocole SSL est également un
exemple puisqu’un ID de session est généré pour l’utilisateur, il serait donc intéressant de
le garder pour des connexions futures. LVS implémente cette fonctionnalité en utilisant des
« templates » de connexion. Lorsque l’utilisateur accède pour la première fois au serveur,
un template est créé entre cet utilisateur et le serveur qui a été choisi avec des informations
sur les ports utilisés, et pour chaque connexion, une entrée est générée dans une table de
hachage au niveau du load balancer. Le template peut expirer dans un délai configurable,
cependant, tant que toutes les connexions correspondant au template ne se terminent pas,
il n’expirera pas.
B. HAProxy
1. Description
HAProxy est une solution open source très flexible offrant des fonctionnalités de
répartiteur de charge, reverse proxy HTTP et proxy TCP (c’est-à-dire qu’il fonctionne aussi
bien sur la couche 4 que sur la couche 7 du modèle OSI) ainsi que des services de haute
disponibilité (HA). Il est utilisé généralement dans le cas d’un fort trafic et c’est d’ailleurs
l’une des raisons pour laquelle il est utilisé par plusieurs grands sites Web, notamment
GitHub, Instagram, Twitter, Stack Overflow, Reddit, Tumblr, Yelp et tant d’autres.
2. Fonctionnalités
serveurs pour permettre un service de qualité rapide et performant. Ceci se fait selon deux
modes : le mode TCP et le mode HTTP.
4. Fonctionnement
Source : http://mariepascal.delamare.free.fr/IMG/pdf/2_clusterCours.pdf
5. Algorithmes D’ordonnancement
Plus de neuf algorithmes d’ordonnancement sont offerts par HAProxy, nous citons
les plus fréquents d’usage :
HAProxy offre diverses méthodes pour assurer la persistance des sessions appelée
aussi « Stickiness », celle-ci peut être basée sur divers paramètres tels que l’adresse IP
source, l’URL, cookies, sessions, etc., afin de déterminer le bon serveur et assurer que le
client retombe toujours sur ce dernier et qu’il ne soit pas déconnecté à chaque envoi de
requête, car il ne tombe pas sur le serveur contenant les informations concernant sa session.
Les informations de mapping entre client/serveur sont gardées dans une table au niveau de
HAProxy appelée stickiness table, elle contient comme entrée le client et le serveur
contentant les informations de ce client
7. Haute Disponibilité
LVS HAPROXY
Points forts ➢ Implantation dans le ➢ Possibilité de faire un
noyau, ce qui entraine Heath check
un temps de réponse ➢ Possibilité d’utiliser des
minimal ACL
➢ Nécessite une faible ➢ Flexibilité en termes de
consommation du configuration
processeur ➢ Affichage des
➢ Installé par défaut sous statistiques sur une
linux interface web
➢ Flexibilité de reverse
proxy
Points faibles ➢ La mise à jour de LVS ➢ Consommation CPU
peut entrainer la mise à assez élevée
jour du kernel linux (relativement à LVS)
➢ Absence de Heath ➢ Nécessite des
check dépendances pour
l’installation
Suite à cette étude comparative notre choix pour l’implémentation de notre solution
sera porté sur HAproxy
Source : Edrawmax
CONCLUSION
Dans cette partie du travail consacré à l’état de l’art, il était question d’effectuer une
étude détaillée sur le cluster et les outils permettant de mettre en place ce système. De ce
fait nous avons fait une étude comparative de ces outils afin de choisir le meilleur pour
notre implémentation.
CHAPITRE IV : IMPLEMENTATION
RESUME
Cette phase consistait en la mise en œuvre du projet. Elle renferme en son sein les
informations sur les équipements, les différentes configurations et les différentes manières
d’installer les outils utilisés.
CONTENU
INTRODUCTION
II.INSTALLATIONS
III. CONFIGURATIONS
CONCLUSION
INTRODUCTION
L’implémentation est l’étape qui permet de reproduire concrètement les différentes
parties de notre projet et de donné vie au système d’information. Il sera question pour nous
tout au long de cette partie de présenter l’installation et la configuration des outils utiliser
pour la réalisation de ce projet.
Figure 17 : Firewall
II. INSTALLATIONS
A. Services Hébergés
1. Installation d’apache
Le serveur Apache est fourni par le paquet httpd. Donc pour l’installer il faut
2. Installation de MySQL
Le paquet MySQL étant obsolète sur certains système linux son installation passe par
certaines étapes :
- L’installation du paquet wget s’il ne l’ai pas encore : sudo yum install
wget ;
- Télécharger et ajouter un repository :
• sudo wget http://repo.mysql.com/mysql-community-release-el7-
5.noarch.rpm
• sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
2. keepalived
Keepalived permet de gérer la vip (Virtual IP) qui est 192.168.114.136. Il redistribue
la Vip en fonction de l’état du serveur HAproxy. Il utilise un protocole particulier appeler
vrpp (Virtual Router Redundancy Protocol)
a. Prérequis
b. Installation de keepalived
III. CONFIGURATIONS
A. Configuration haproxy
Information sur la
page de statistique
B. Configuration keepalived
Pour configurer keepalived nous dévons entrer dans le fichier keepalived.conf avec
la commande vim /etc/keepalived/keepalived.conf et le modifier comme suite pour le
load-balancer master
Server master
Interface de travail
Authentification entre
les 2 load-balancers
L’adresse virtuelle
Server backup
cent1
cent2
➢ Nous éditons par la suite le fichier /etc/my.cnf sur les deux serveurs en
modifiant le Server-id, le bind-address et auto-increment-offset.
cent1
cent2
cent1
cent2
CONCLUSION
Ce chapitre nous a permis de passer à l’implémentation effective du système. Tout ceci
en ressortant les différents outils pris en compte pour la réalisation d’un système de cluster
de haute disponibilité. Nous avons énoncé l’architecture sur laquelle elle repose. La suite
de notre travail consistera à faire des tests pour vérifier le bon fonctionnement de ce
système.
RESUME
CONTENU
INTRODUCTION
CONCLUSION
INTRODUCTION
La partie résultat et test est la feuille de route qui présente la fonctionnalité effective
du système mis en place, il permet de faire les tests sur le fonctionnement du système a un
moment donné de son fonctionnement de présenter les résultats obtenus.
Nous allons commencer par arrêter les services sur un nœud pour voir le comportement
du system
Nous pouvons constater qu’un des nœuds n’est plus actif mais le system est toujours
disponible via le second nœud
B. Disponibilité Du Load-Balancer
Notre system considère ‘lb2’ comme étant le load-balancer maitre de ce fait l’adresse ip
virtuel est donc sur son interface comme suite :
Après avoir coupé le load-balancer sur le second load-balancer nous constatons que
l’adresse IP virtuel s’est déplacée d’un load-balancer a l’autre comme suit :
Adresse IP virtuelle
Après avoir créé une nouvelle base de données dans un nœud nous vérifions les bases
de données du second nœud
Nous pouvons constater la même base de données a été créé dans le second nœud.
Par suite nous supprimons la base de données dans le second nœud
Nous constatons que la base de données a été supprimer ce qui veut dire que notre
réplication est fonctionnelle et bidirectionnelle.
CONCLUSION
Au terme de cette partie, il était question pour nous de présenter d’une manière
générale le fonctionnement du system, à l’aide de quelques captures d’écran. Ces aspects
marquant la fin de notre travail.
CONCLUSION GENERALE
ANNEXE
BIBLIOGRAPHIE
WEBOGRAPHIE
GLOSSAIRE
BIBLIOGRAPHIE
WEBOGRAPHIE
GLOSSAIRE
IP : Internet Protocol
DEDICACE ......................................................................................................................... I
REMERCIEMENTS ........................................................................................................... II
RÉSUMÉ .......................................................................................................................... III
ABSTRACT...................................................................................................................... IV
SOMAIRE.......................................................................................................................... V
LISTE DES FIGURES ..................................................................................................... VI
LISTE DES TABLEAUX .............................................................................................. VIII
INTRODUCTION GENERALE ........................................................................................ 1
PARTIE I: PHASE D’INSERTION .................................................................................... 2
INTRODUCTION ........................................................................................................... 3
I- ACCUEIL AU SEIN DE LA STRUCTURE............................................................ 4
II- PRÉSENTATION DU CENADI ........................................................................... 4
A. Rappels historiques............................................................................................ 4
B. Missions ................................................................................................................ 6
C. Attributions ........................................................................................................ 6
III. CADRE INSTITUTIONNEL DU CENADI ........................................................ 7
A. Textes Règlementaires ....................................................................................... 7
B. Organisation Du CENADI .................................................................................... 8
1. Conseil De Direction ......................................................................................... 9
2. Administration Centrale .................................................................................. 10
a. Secrétariat ................................................................................................... 10
b. Division des Etudes et des Projets .............................................................. 10
c. Division de l’Exploitation et des Logiciels ................................................. 10
d. Division de la Téléinformatique et de la Bureautique .................................11
e. Division de l’Informatique appliquée à la Recherche et à l’Enseignement 12
f. Division des Affaires Administratives et Financières ................................. 12
WEBOGRAPHIE .......................................................................................................... XI
GLOSSAIRE ................................................................................................................ XII
TABLE DES MATIERES .............................................................................................. XIV