Welcome, Guest. Please Login
FUG-FR logo
 
  HomeHelpSearchLogin  
 
Load Balancing (Read 4410 times)
firebolt31
Full Member
***
Offline



Posts: 102
France
Gender: male
Load Balancing
02. Jun 2006 at 16:53
 
Décidement, il n'y a que moi qui poste dans cette section Smiley

Voila je suis entrain de voir pour passer sur un système de load balancing pour la partie serveur web Smiley

Donc j'ai un peufouiller le net avec google ainsi que des forums sur FreeBSD et je ne trouve presque aucune info sur comment configurer des serveur en tant que load balancer Sad

J'ai trouvé ce projet:
SGCluster http://turtle.ee.ncku.edu.tw/sgcluster/

Mais pas grand chose d'autre.

Donc si vous avez des infos la dessus je serais preneur, au moins déjà pour savoir si les load balancer doivent être des grosses machines puissante ou des machines normales voir des petites (puisque elle ne sont la que pour router les requêtes si je me plantes pas Smiley ).

Merci d'avance.
Back to top
 
31619680  
IP Logged
 
fgudin
Global Moderator
*****
Offline


PouetPouetBSD roul3z

Posts: 1552
Thonon (74)
Gender: male
Re: Load Balancing
Reply #1 - 02. Jun 2006 at 17:50
 
Je vois trois façons de faire. Il y en a sûrement d'autres, mais c'est celles-ci qui me viennent à l'esprit:
  • avec le DNS: cet article donne les détails de la mise en oeuvre. Hic: c'est du tourniquet tout simple et il faut que tu puisses trifouiller la config de ton domaine ou demander à son hébergeur de le faire (et qu'il veuille bien)
  • avec un firewall qui fait de la traduction d'adresse "tournante" ou plus ou moins "aléatoire": voir la section "POOL OPTIONS" de pf.conf(5). Hic: c'est aussi assez primaire comme distribution de charge, mais tu as la maîtrise dessus.
  • avec un Apache frontal: soit en l'utilisant comme un reverse-proxy (j'ai plus les détails, mais je peux demander à mes ex-collègues), soit avec des modules spécifiquement développés pour cet usage. Je te laisse consulter les liens de cette page. C'est un peu plus lourd à mettre en place que le coup du firewall, mais c'est tellement plus flexible Smiley


Pour la question de la charge sur le LB: nnormalement, elle reste faible puisque le gros du travail est fait en aval. Enfin, YMMV comme on dit.
Sinon, c'est vraiment pour faire que du partage de charge, ou bien comptes-tu utiliser cette architecture pour avoir de la redondance ? Ca pourrait influencer ton choix...

Le cluster SG a l'air alléchant, mais ça doit demander un peu plus d'effort pour le mettre en place. Je bookmarke quand même, c'est intéressant. Merci !
Back to top
 
 
IP Logged
 
Dumpy
Senior Member
****
Offline



Posts: 313
GEMENOS
Gender: male
Re: Load Balancing
Reply #2 - 02. Jun 2006 at 21:10
 
Je complète l'info de francis sur pf avec un lien plus détaillé:

http://www.openbsd.org/faq/pf/pools.html

Dumpy
Back to top
 

Dumpy
 
IP Logged
 
firebolt31
Full Member
***
Offline



Posts: 102
France
Gender: male
Re: Load Balancing
Reply #3 - 03. Jun 2006 at 12:02
 
Bonjour,

Merci pour les liens, c'est a la fois fais pour de la répartition de charge et de la redondance Smiley

QUitte a monter un système comme ca autant que cela fasse les deux Smiley

Par contre j'avais une autre question avec pf, d'apres ce que je comprends, vu que dans les règles on indique sur quel port on ecoute pour rediriger le traffic.
On doit pouvoir aussi bien appliquer cette methode pour un serveur web, qu'un serveur ftp, mail ou meme mysql ou postgresql ????

Donc dans le cas de load balancing + fail over, il vaut mieux quoi comme système pour avoir quelque chose de robuste Smiley

Ennfin derniere question Smiley, vu que mon load balancer assume la charge, si lui tombe tout est mort donc vous auriez un article sur comment mettre un système de redondance sur les load balancer ?

Merci encore pour toute votre aide Wink


PS: une derniere question, je pensais mettre comem load balancer un serveur:
PIV 4 3GHz
1Go de RAM
disque dur SATA
Interface ethernet gigabit
est ce que la machine est surdimensionné ou pas ?
Sachant que si je transforme l'architecture actuelle, il va load balancer le traffic de 4 serveur web, 2 serveur mail, 5 serveur Mysql et 4 SQL Serveur
Back to top
 
31619680  
IP Logged
 
fgudin
Global Moderator
*****
Offline


PouetPouetBSD roul3z

Posts: 1552
Thonon (74)
Gender: male
Re: Load Balancing
Reply #4 - 03. Jun 2006 at 13:15
 
firebolt31 wrote on 03. Jun 2006 at 12:02:
Par contre j'avais une autre question avec pf, d'apres ce que je comprends, vu que dans les règles on indique sur quel port on ecoute pour rediriger le traffic.
On doit pouvoir aussi bien appliquer cette methode pour un serveur web, qu'un serveur ftp, mail ou meme mysql ou postgresql ????

Oui

firebolt31 wrote on 03. Jun 2006 at 12:02:
Donc dans le cas de load balancing + fail over, il vaut mieux quoi comme système pour avoir quelque chose de robuste Smiley

BSD Smiley

firebolt31 wrote on 03. Jun 2006 at 12:02:
Ennfin derniere question Smiley, vu que mon load balancer assume la charge, si lui tombe tout est mort donc vous auriez un article sur comment mettre un système de redondance sur les load balancer ?

Cet article montre comment faire avec IPF, Pen et FreeVRRP. Il doit être facile de transposer à un autre ensemble d'outils.
Pour résumer:
  • ton front-end doit être redondant: comme expliqué dans l'article, on fait ça avec des adresses virtuelles que les pairs se "piquent" les uns aux autres en cas de nécessité (l'un est dans les choux, l'autre qui le monitore s'en rend compte et "récupère" son IP virtuelle)
  • il faut monitorer aussi les serveurs en arrière-plan, sinon ça ne sert pas à grand'chose de distribuer la charge dont une fraction va partir vers un serveur mort. Il y a pas mal de softs disponibles pour cette tâche, et en écrire n'est pas difficile non plus.
  • il est pratique de prévoir de quoi activer/désactiver des noeuds proprement (souvent en cas de faute, il y a des "dommages collatéraux")

Fais le tour des outils disponibles dans ton cas et poste-nous un schéma (si possible, c'est dans un cadre professionnel ?) de ce que tu comptes mettre en place. Même si on est pas d'un grand secours, ça sera quand même intéressant.
Remarque: il y a une ML officielle "freebsd-clusters".

firebolt31 wrote on 03. Jun 2006 at 12:02:
PS: une derniere question, je pensais mettre comem load balancer un serveur:
PIV 4 3GHz
1Go de RAM
disque dur SATA
Interface ethernet gigabit
est ce que la machine est surdimensionné ou pas ?
Sachant que si je transforme l'architecture actuelle, il va load balancer le traffic de 4 serveur web, 2 serveur mail, 5 serveur Mysql et 4 SQL Serveur

Vu ce que réclamait SGCluster, on peut dire: oui, c'est largement trop.
Au passage, c'est bien dommage qu'il ne fournisse pas les sources de leurs outils (enfin, je n'ai trouvé que des liens vers le download des floppies, j'ai pu passer à côté) car du coup, c'est largement "vieux".
Back to top
 
 
IP Logged
 
firebolt31
Full Member
***
Offline



Posts: 102
France
Gender: male
Re: Load Balancing
Reply #5 - 04. Jun 2006 at 12:55
 
Bonjour a vous Smiley

Pour sgcluster effectivement c'ets un peu ce qui me faisait peur, le projet n'a pas été suivant depuis 2005 et impossible de savoir s'il ets maintenu ou pas Sad

Pour ce qui est de mon cas, effectivement c'est pour du professionnel, a l'heure actuelle, notre politique etait de mettre des serveurs plus gros si ceux existant n'etait pas suffisant
mais la on commence a taper sur des trucs assez monstrueux donc je suis entrain d'etudier la solution repartition de charge et tant qu'a faire fail over en meme temps Smiley

Au niveau de la conception physique, en fait nous avons deux choses:
1°) un accés internet (LS 10Mo) pour nos fournisseurs (eux c'est pas un problème ils ne consomment pas beaucoup de ressources)
2°) tous les postes internes environ 300 pc avec un mix 100 windows, 50 mac et le reste sous freebsd (tres consommateur en ressources)

derriere actuellement il y a les serveurs que j'ai indiqué dans mon précédent post:
4 serveur web, 2 serveur mail, 5 serveur Mysql et 4 SQL Serveur

le but est donc de monter en amont 2 load balancer qui répartiront la charge sur le ckluster web, le cluster mail, le cluster MySQL et le cluster SQL Serveur (pour les schémas je suis pas super bon Sad )

Edited:


                                    Fournisseur + parc pc interne
                                                         ||
                                                         ||
                                                        /  \
                                 load balancer 1      load balancer 2                                                
                                                       \    /
                                                         ||
                                                     switch
                                                 /        |                   \
                                cluster(Web)   cluster2(SQL)   cluster3 (Mail)
                              /      |    \                /  |  \                    /  | \
               serveur   1      2    3  serveur  1  2  3     serveur  1  2  3    


voila j'ai essayé de faire un schema de comment je vois le système Smiley

A savoir les deux loads balancers route le traffic de tous les différents services (web, mail, MySQL, SQL Serveur)

Apparament d'apres toutes vos idées, il y en a deux qui me plaisent bien:
- la version SGcluster (mais un peu peur sur la pérénité du projet Sad )
- la version FreeBSD avec PF et le POOL Options qui a l'air trés interessant et assez simple a configurer Smiley

Voila donc si vous avez des idées ou des conseils sur ce type de configuration je suis a l'ecoute Wink

Merci encore pour toute votre aide. Smiley
Back to top
 
31619680  
IP Logged
 
fgudin
Global Moderator
*****
Offline


PouetPouetBSD roul3z

Posts: 1552
Thonon (74)
Gender: male
Re: Load Balancing
Reply #6 - 04. Jun 2006 at 18:03
 
Tu peux par exemple gérer 4 VIP (4 groupes CARP): 1 pour l'interface "arrière" qui sert de default gateway pour tes groupes de serveurs, et 1 pour chaque grappe.
Il faudrait que tu puisses rajouter un lien privé entre les 2 fw pour pfsync, ou bien à la rigueur utiliser les interfaces existantes en y ajoutant IPSEC pour sécuriser ces échanges.
Pour la mise en oeuvre de CARP et pf(sync), je te laisse lire ce morceau de FAQ et celui-ci.
Ensuite, pour gérer l'apparition/disparition des noeuds, tu peux sans doute te débrouiller avec du simple shell ou du perl, pour tester la disponibilité des services et rafraichir les tables de PF avec pfctl. Il y a aussi un projet sur SF.net (Server Load Balancing using PF) pour OpenBSD mais qui vaut peut-être le coup d'essayer de l'adapter à Free: il permet de poller du HTTP et de déterminer l'état du service d'après les réponses obtenues.
Back to top
 
 
IP Logged