L'équilibrage de charge Utilisation, principe et solutions

Click here to load reader

download L'équilibrage de charge Utilisation, principe et solutions

of 27

  • date post

    04-Apr-2015
  • Category

    Documents

  • view

    107
  • download

    2

Embed Size (px)

Transcript of L'équilibrage de charge Utilisation, principe et solutions

  • Page 1
  • L'quilibrage de charge Utilisation, principe et solutions
  • Page 2
  • Introduction L'quilibrage ou rpartition de charge prend une importance particulire avec la monte en puissance des application web
  • Page 3
  • Principes En anglais Load-Balancing Rpartition des connexions une machine vers un ensemble de machines Mis en oeuvre grce un botier d'quilibrage de charge
  • Page 4
  • Objectifs Adaptation la charge (Scalability) Amlioration des temps de rponse Augmentation de la qualit de service Tolrance de panne
  • Page 5
  • Quelques solutions Linux LVS Haproxy Microsoft NLB Varnish
  • Page 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 contrle
  • Page 7
  • Microsoft NLB Network Load Balancing Intgr Windows serveur 2000/2003 Pas plus de 32 serveurs Rpartition de charge calcule uniquement sur la charge rseau Serveurs situs dans le mme sous-rseau
  • Page 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 mme adresse MAC et IP : impossible de communiquer sans ajout de carte supplmentaire ou Mode multicast Chaque carte du cluster dispose de 2 adresses MAC => pb avec de nombreux routeurs et switch
  • Page 9
  • Linux LVS/IPVS Linux Virtual Server Dans le noyau Linux depuis 2001 Solution prouve utilise par Wikipedia, Clubic,... Dispose d'un application d'quilibrage de charge de niveau 7 (KTCPVS) Solution gnraliste pas limite au seul http
  • Page 10
  • Linux LVS/IPVS -2 supporte de nombreux algorithmes de rpartition 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
  • Page 11
  • Schma de principe
  • Page 12
  • Les mode de fonctionnement * Tunnel Virtuel avec la NAT Tunnel Virtuel avec le TUN Tunnel Virtuel avec le Direct Routing
  • Page 13
  • VS/NAT
  • Page 14
  • Son principe de fonctionnement ne permet pas un grand nombre de serveurs (~10) Simple mettre en oeuvre
  • Page 15
  • VS/Tunneling
  • Page 16
  • Permet un plus grand nombre de serveurs (~ 100) : charge leve
  • Page 17
  • VS/Direct Routing
  • Page 18
  • Permet un plus grand nombre de serveurs (~ 100)
  • Page 19
  • Les modes de rpartition de charge Round-Robin : rpartition uniforme Round-Robin pondr Machine la moins charge Machine la moins charge avec pondration
  • Page 20
  • Le paquetage ipvsadm Permet de mettre en place un serveur LVS exemple : rpartition Web en Round-Robin ipvsadm -A -t 207.175.44.110:80 -s rr ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m
  • Page 21
  • HAProxy Dispositif d'quilibrage de charge pour TCP et les applications HTTP Solution stable et prouve S'adapte automatiquement l'tat des serveurs Fonctionne au niveau 4 ou 7 Gre les informations de session http Ne gre pas HTTPS Gre plusieurs dizaines de milliers de connexion
  • Page 22
  • HAProxy 2 Quelques fonctionnalits : Rpartition sur la base dun cookie existant, ou bien insertion de son propre cookie pour grer laffinit de serveur. HAProxy peut tester la disponibilit des serveurs, soit en tablissant une connexion TCP, soit en adressant une requte HTTP. En mode HTTP, la vrification peut porter sur une URI particulire, qui teste tous les composants requis au bon fonctionnement.
  • Page 23
  • HAProxy - 3 mode de rpartition : round-robin (permutation circulaire), avec possibilit de permutation et de limitation du nombre de connexions par serveur. reconfiguration possible chaud. statistiques temps-rel. HAProxy est gnralement mis en uvre coupl heartbeat,
  • Page 24
  • VARNSIH Varnish est un acclrateur web/proxy inverse Il est assez largement utilis sur les sites dynamiques sur lequels il permet d'amliorer trs sensiblement les temps de rponse (x 4 ou x5) Il permet d'effectuer de la rpartition de charge (au niveau 7 applicatif) http://varnish-cache.org/
  • Page 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 deuxime machine relie 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,...)
  • Page 26
  • Les solutions UltraMonkey : LVS + heartbeat + ldirectord
  • Page 27
  • Mise en oeuvre De nombreux tutoriel pour LVS/IPVS, Ultramonkey ou Haproxy sur howtoforge.com