Télécharger la présentation
Publié parFelicien Perin Modifié depuis plus de 10 années
1
L'équilibrage de charge Utilisation, principe et solutions
2
Introduction L'équilibrage ou répartition de charge prend une importance particulière avec la montée en puissance des application web
3
Principes En anglais Load-Balancing
Répartition des connexions à une machine vers un ensemble de machines Mis en oeuvre grâce à un boîtier d'équilibrage de charge
4
Objectifs Adaptation à la charge (Scalability)
Amélioration des temps de réponse Augmentation de la qualité de service Tolérance de panne
5
Quelques solutions Linux LVS Haproxy Microsoft NLB Varnish
6
Premier cas de figure : DNS round robin
Tourniquet DNS: à un nom DNS on associe plusieurs adresses (multiples enreg. A) Simple à mettre en oeuvre Peu de contrôle
7
Microsoft NLB Network Load Balancing
Intégré à Windows serveur 2000/2003 Pas plus de 32 serveurs Répartition de charge calculée uniquement sur la charge réseau Serveurs situés dans le même sous-réseau
8
Microsoft NLB - suite Utilise une adresse MAC virtuelle pour l'ensemble des membre du cluster Mode unicast Chaque carte du cluster dispose de la même adresse MAC et IP : impossible de communiquer sans ajout de carte supplémentaire ou Mode multicast Chaque carte du cluster dispose de 2 adresses MAC => pb avec de nombreux routeurs et switch
9
Linux LVS/IPVS Linux Virtual Server Dans le noyau Linux depuis 2001
Solution éprouvée utilisée par Wikipedia, Clubic, ... Dispose d'un application d'équilibrage de charge de niveau 7 (KTCPVS) Solution généraliste pas limitée au seul http
10
Linux LVS/IPVS -2 supporte de nombreux algorithmes de répartition
round-robin, weighted round-robin, least-connection scheduling, weighted least-connection, locality- based least-connection, locality-based least- connection with replication, destination hashing, source hashing, shortest expected delay, never queue. Synchronisation des information d'état
11
Schéma de principe
12
Les mode de fonctionnement
* Tunnel Virtuel avec la NAT Tunnel Virtuel avec le TUN Tunnel Virtuel avec le Direct Routing
13
VS/NAT
14
VS/NAT Son principe de fonctionnement ne permet pas un grand nombre de serveurs (~10) Simple à mettre en oeuvre
15
VS/Tunneling
16
VS/Tunneling Permet un plus grand nombre de serveurs (~ 100) : charge élevée
17
VS/Direct Routing
18
VS/Direct Routing Permet un plus grand nombre de serveurs (~ 100)
19
Les modes de répartition de charge
Round-Robin : répartition uniforme Round-Robin pondéré Machine la moins chargée Machine la moins chargée avec pondération
20
Le paquetage ipvsadm Permet de mettre en place un serveur LVS
exemple : répartition Web en Round-Robin ipvsadm -A -t :80 -s rr ipvsadm -a -t :80 -r :80 -m ipvsadm -a -t :80 -r :80 -m ipvsadm -a -t :80 -r :80 -m ipvsadm -a -t :80 -r :80 -m ipvsadm -a -t :80 -r :80 -m
21
HAProxy Dispositif d'équilibrage de charge pour TCP et les applications HTTP Solution stable et éprouvée S'adapte automatiquement à l'état des serveurs Fonctionne au niveau 4 ou 7 Gère les informations de session http Ne gère pas HTTPS Gère plusieurs dizaines de milliers de connexion
22
HAProxy – 2 Quelques fonctionnalités :
Répartition sur la base d’un cookie existant, ou bien insertion de son propre cookie pour gérer l’affinité de serveur. HAProxy peut tester la disponibilité des serveurs, soit en établissant une connexion TCP, soit en adressant une requête HTTP. En mode HTTP, la vérification peut porter sur une URI particulière, qui teste tous les composants requis au bon fonctionnement.
23
HAProxy - 3 mode de répartition : round-robin (permutation circulaire), avec possibilité de permutation et de limitation du nombre de connexions par serveur. reconfiguration possible à chaud. statistiques temps-réel. HAProxy est généralement mis en œuvre couplé à heartbeat,
24
VARNSIH Varnish est un accélérateur web/proxy inverse
Il est assez largement utilisé sur les sites dynamiques sur lequels il permet d'améliorer très sensiblement les temps de réponse (x 4 ou x5) Il permet d'effectuer de la répartition de charge (au niveau 7 applicatif)
25
La haute disponibilité
Le redirecteur LVS constitue un SPOF (Single Point Of Failure ou ressource critique ) et par là un risque de panne. On le double souvent par une deuxième machine reliée avec un heartbeat D'autre part, il est possible d'utiliser des logiciels (ldirectord, LVSM, keepalived, ...) qui vont tester le fonctionnement des serveurs et permettre de s'adapter dynamiquement à leur fonctionnement (ajout, suppression d'une machine, ...)
26
Les solutions UltraMonkey : LVS + heartbeat + ldirectord
27
Mise en oeuvre De nombreux tutoriel pour LVS/IPVS, Ultramonkey ou Haproxy sur howtoforge.com
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.