14
BTS SIO Services Informatiques aux Organisations Option SISR Session 2018 Nom, Prénom de l’élève CAMARA Laye-Abdoulnaby Activité en formation N°3 3 NATURE DE L'ACTIVITE Gestion de la répartition de charge sur des serveurs WEB avec HAProxy. Contexte Réalisation d’un TP Objectifs L’objectif et de créer un serveur HAproxy, pour la répartition de charge Lieu de réalisation Salle de cours DESCRIPTION DE LA SOLUTION RETENUE Conditions initiales Le serveur HAproxy n’est pas configuré. Conditions finales Le serveur HAProxy est configuré. Outils utilisés Virtual box CONDITIONS DE REALISATION Matériels 3 VM Logiciels Haproxy Durée 1h Contraintes COMPETENCES MISES EN OEUVRE POUR CETTE ACTIVITE PROFESSIONNELLE A1.1.1 A1.2.4 A3.2.1 Analyse du cahier des charges d'un service à produire Détermination des tests nécessaires à la validation d'un service, Installation et configuration d'éléments d'infrastructure

Microsoft Word - Gestion de la répartition de charge sur ...€¦  · Web viewAuthor: Abdoulaye Camara Created Date: 06/24/2019 13:52:00 Title: Microsoft Word - Gestion de la répartition

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Microsoft Word - Gestion de la répartition de charge sur des serveurs WEB avec HAProxy.docx

BTS SIO

Services Informatiques aux Organisations

Option

SISR

Session

2018

Nom, Prénom de l’élève

CAMARA Laye-Abdoulnaby

Activité en formation N°3

3

NATURE DE L'ACTIVITE

Gestion de la répartition de charge sur des serveurs WEB avec HAProxy.

Contexte

Réalisation d’un TP

Objectifs

L’objectif et de créer un serveur HAproxy, pour la répartition de charge

Lieu de réalisation

Salle de cours

DESCRIPTION DE LA SOLUTION RETENUE

Conditions initiales

Le serveur HAproxy n’est pas configuré.

Conditions finales

Le serveur HAProxy est configuré.

Outils utilisés

Virtual box

CONDITIONS DE REALISATION

Matériels

3 VM

Logiciels

Haproxy

Durée

1h

Contraintes

COMPETENCES MISES EN OEUVRE POUR CETTE ACTIVITE PROFESSIONNELLE

A1.1.1

A1.2.4

A3.2.1

Analyse du cahier des charges d'un service à produire

Détermination des tests nécessaires à la validation d'un service, Installation et configuration d'éléments d'infrastructure

DEROULEMENT DE L'ACTIVITE

1. Serveur HAProxy sous GNU/Debian

Développée par le français Willy Tarreau en 2002, HAProxy est une solution libre, fiable et très performante de répartition de charge de niveau 4 (TCP) et 7 (HTTP).

Elle est particulièrement adaptée aux sites web fortement chargés qui nécessitent de la disponibilité.

HAProxy peut être utilisé comme un load-balancer, un proxy filtrant, ou les deux. Pour mettre en place ce serveur, nous utiliserons trois serveurs :

· Un serveur de répartition de charge avec HaProxy.

· Deux serveurs web avec Apache et PHP

Voici la topologie que nous allons mettre en place :

Dans Virtualbox, le réseau en 192.168.2.XXX est le réseau local (mode pont) et pour le réseau en

10.1.0.XXX la configuration de la carte est en mode Réseau interne.

Prérequis :

Les serveurs sont configurés de la façon suivante : Serveur de répartition de charge

· hostname: HAProxy (Debian 8)

· Deux carte réseaux

· eth0: 192.168.2.100

· eth1: 10.1.0.1

Serveurs Web

· Serveur web1 (Debian 8 avec apache 2)

· hostname: web1

· eth0: 10.1.0.21

· Serveur web2 (Debian 8 avec apache 2)

· hostname: web2

· eth0: 10.1.0.22

2. Installation du Load Balancer

Une fois les cartes réseau du serveur de répartition de charge, configurées correctement, nous pouvons installer et configurer HaProxy.

Config IP du serveur :

Installation d’HAproxy :

On tape : apt-get install haproxy

Une fois l’installation terminée, nous devons mettre la valeur ENABLED=0 à ENABLED=1 dans les fichiers /etc/default/haproxy et /etc/init.d/haproxy (ceci, afin de pouvoir lancer ou arrêter le service).

Nous pouvons faire avec les commandes suivantes :

3. Configuration de HaProxy

La configuration du HaProxy se fait dans le fichier de configuration : /etc/haproxy/haproxy.cfg.

· listen cluster_web 192.168.2.100:80 : Cette directive permet de spécifier sur quelle adresse IP HaProxy va fonctionner. Nous pourrons accéder au contenu web depuis cette adresse IP.

· mode http : permet de spécifier que le balancement de charge est utilisé pour du contenu web http, dans le cas contraire on peut utiliser le mode tcp (pour du myql par exemple ; …)

· balance roundrobin : permet de spécifier l’algorithme de répartition de charge. Il en existe plusieurs

· RoundRobin : La méthode Round-robin est une répartition équitable de la charge entre les serveurs d’un cluster. Chaque serveur traite le même nombre de requêtes, mais cela nécessite d’avoir des serveurs homogènes en termes de capacité de traitement.

· server web1 10.1.0.21:80 check et server web2 10.1.0.22:80 check: permet de déclarer les différents serveurs web qui vont être utilisé pour la répartition de charge

· Enfin stats, permet de configurer la page de statistiques de HaProxy, dans cette configuration, la page de statistiques sera disponible via l’adresse suivante http://192.168.2.100/stats avec les identifiants admin/admin.

Ensuite nous enregistrons les modifications puis on quitte. Pour démarrer le serveur, on tape : /etc/init.d/haproxy start

Pour vérifier que le serveur fonctionne, on tape : service –status-all

Haproxy doit apparaitre comme active (avec un +)

4. Configuration des serveurs WEB

Nous avons donc installé apache 2 sur les deux serveurs, il va donc falloir configurer les serveurs pour qu’ils utilise le proxy en tant que passerelle.

On va donc dans la configuration des interfaces du serveur web1

On tape : nano /etc/network/interfaces

On va donc dans la configuration des interfaces du serveur web1

On tape : nano /etc/network/interfaces

On remplit la gateway avec l’adresse locale du serveur HAProxy

Une fois que c’est fini on va aller modifier le fichier index.html des serveurs web1 et web2 que l’on remplit de la façon suivant, en fonction des postes.

Pour modifier le fichier, On tape : cd /var/www/html. > nano index.html

5. Test du HAProxy

A partir d’une machine connectée sur le réseau public on va se connecter à l’adresse du HAProxy :

On est tombé encore sur le WEB1 en actualisant plusieurs fois la page.

On va ensuite tester la page de stats en tapant dans le navigateur : 192.168.2.100/stats

Nous allons simuler la panne d’une serveur WEB1.

Pour ce faire on va simplement éteindre le serveur WEB1

EVOLUTION POSSIBLE

On voit que le serveur WEB1 apparait bien hors ligne, et maintenant si on va juste sur l’adresse web, on aura que la page du serveur WEB2 :

Il est possible d’utiliser HeartBeat pour la supervision de notre serveur HAproxy.