Load Balancing, cluster -> Solution Haute disponibilité

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Load Balancing, cluster -> Solution Haute disponibilité

Messagepar yobogs » 16 Juin 2004 21:43

Bonjour,

Je me permet de vous solliciter car nous devons faire évoluer une solution existante.

Aujourd'hui nous avons un serveur A qui à une ip public et une baie de disque qui se trouve sur un réseau privée.

Nos utilisateurs accèdent au serveur A via l'IP public et les data sont stockées sur la baie de disque.

Sur le serveur A il y a une application (developpé par une société selon nos besoin) qui bouffe de plus en plus de ressources au fur et à mesure que le nombre d'utilisateur augmente.

J'aimerai par conséquent ajouter des serveur pour soulager un peu A et qu'il y ait de la répartition de charge et augmenter la disponibilité de mon système (si A lache).

La baie de disque elle ne bouge pas et plusieurs autres seront ajoutées en fonction des besoins en espace disque.

J'ai pensé à mettre en place un cluster mais j'avoue que mes connaissance dans le domaine sont maigres.

J'ai entendu parler de LVS mais je ne sais pas si ça convient :)

Merci d'avance pour votre aide
yobogs
Quartier Maître
Quartier Maître
 
Messages: 11
Inscrit le: 10 Juin 2004 23:26

Messagepar Methos_Hi » 16 Juin 2004 22:07

Tout d'abord, ton application tourne sous quel système ?
Ca permettra de faire des illiminations.
Avatar de l’utilisateur
Methos_Hi
Amiral
Amiral
 
Messages: 1520
Inscrit le: 07 Fév 2004 01:00
Localisation: Ile de France

Messagepar yobogs » 16 Juin 2004 22:15

J'ai oublié de préciser c vrai dsl ...

Redhat 9 ...
tous les serveurs sont ss redhat
yobogs
Quartier Maître
Quartier Maître
 
Messages: 11
Inscrit le: 10 Juin 2004 23:26

Messagepar carlos » 16 Juin 2004 22:24

Salut!

Sous Linux, je te conseille la lecture de cet article :

http://lea-linux.org/leapro/dispo.html

Je te recommande aussi celui-ci qui me semble, par certains aspects, présenter des solutions au problème que tu évoques (mais là pour OpenBSD):

http://www.countersiege.com/doc/pfsync-carp/

Dis-nous ce que ça donne... Je suis intéressé aussi par ce type de solutions ;-)

A+

Carlos
Avatar de l’utilisateur
carlos
Aspirant
Aspirant
 
Messages: 120
Inscrit le: 09 Mai 2003 00:00
Localisation: Belgium

Messagepar Methos_Hi » 16 Juin 2004 22:37

Tu connais la distribution CLICde Mandrake?

J'ai pas encore essayé bien que j'eusse téléchargé l'image mais çà à l'air sympa.
Avatar de l’utilisateur
Methos_Hi
Amiral
Amiral
 
Messages: 1520
Inscrit le: 07 Fév 2004 01:00
Localisation: Ile de France

Messagepar yobogs » 16 Juin 2004 23:05

J'ai jamais essaye Mandrake ...
fodrais que je tente aussi .
le pb c'est que le serveur A est en production ...
j'vais voire comment j'arrive a m'en sortir ...

merci pour les liens et je vous tiens au courant dès que j'ai testé ...
yobogs
Quartier Maître
Quartier Maître
 
Messages: 11
Inscrit le: 10 Juin 2004 23:26

Messagepar yobogs » 16 Juin 2004 23:11

Ah au fait pour ce que ça interesse y a un Hors serie de linux magazine sur le sujet qui est une mine d'or ...

http://www.linuxmag-france.org/presenta ... ?famille=5

J'avais oublié que je l'avais et qu'il parlait de solutions :)

et ya egalement un très bon article ici :
http://www.supinfo-projects.com/fr/2003/hautedispo/
yobogs
Quartier Maître
Quartier Maître
 
Messages: 11
Inscrit le: 10 Juin 2004 23:26

Messagepar carlos » 17 Juin 2004 01:15

Merci!

Pour le moment je suis en exams :-( mais je vais lire ça dans un moment libre et m'y atteler par la suite...
Si je découvre de nouvelles infos ou sources, je fais suivre! ;-)

A+
Avatar de l’utilisateur
carlos
Aspirant
Aspirant
 
Messages: 120
Inscrit le: 09 Mai 2003 00:00
Localisation: Belgium

Messagepar drikcT » 17 Juin 2004 18:13

LVS est exactement ce qu'il te faut. Il répartit la charge (plus ou moins) équitablement entre tes différents serveurs. Si tu as trois serveurs les 3 peuvent être sollicités de la même manière si ils ont la même capacité de traitement mais aussi si l'un des 3 est plus puissant alors tu peux mettre un poids pour que plus de connexions soient dirigés sur celui ci. Il te faut cependant un serveur en front... qui ne doit pas être sous dimensionné (sinon c'est lui le bottleneck) et qui ne doit pas planté... sinon aucun de tes serveurs ne sera accessibles. Sinon pour une vrai haute disponibilité il te faut 2 front end qui sont configurés avec Heartbeat + Mon qui "routent" le traffic et assurent que si l'un d'eux plante l'autre prendra la suite et des serveurs qui répondent aux requètes.

Documentation:
http://www.linuxvirtualserver.org/
http://linux-ha.org/
drikcT
Major
Major
 
Messages: 76
Inscrit le: 14 Mai 2004 09:38

Messagepar gla » 17 Juin 2004 23:00

Petite précision...

Quel que soit le système de répartition de charge que tu envisages, si l'application ne supporte pas cette répartition, tu ne vas rien gagner (sauf des problèmes) donc commence peut être par voir si ton appli peu jouer efficacement (et gagner de la perf) sur du multiprocesseur (noyau SMP) et ensuite tu peux envisager le cluster.
J'ai connu une polonaise qui en buvait au petit déjeuner...
SMERP : Distribution Open Source pour l'entreprise
Avatar de l’utilisateur
gla
Amiral
Amiral
 
Messages: 1259
Inscrit le: 28 Sep 2002 00:00
Localisation: Grasse

Messagepar bisol » 17 Juin 2004 23:53

Effectivement ton appli doit supporter ceci..

Maintenant tu peux regarder du coté de redhat serveuri qi, sauf erreur inclut ceci sous le nom de piranha (je suis pas sur du nom)..

Voila
Avatar de l’utilisateur
bisol
Contre-Amiral
Contre-Amiral
 
Messages: 437
Inscrit le: 05 Juin 2002 00:00
Localisation: Suisse

Messagepar drikcT » 18 Juin 2004 09:00

gla a écrit:Petite précision...

Quel que soit le système de répartition de charge que tu envisages, si l'application ne supporte pas cette répartition, tu ne vas rien gagner (sauf des problèmes) donc commence peut être par voir si ton appli peu jouer efficacement (et gagner de la perf) sur du multiprocesseur (noyau SMP) et ensuite tu peux envisager le cluster.


Heu... pas forcément.
Exemple: un application qui ne supporte pas le SMP mais qui a chaque connection fait un gros calcul sur un paramètre donner lors de la connexion. Si on lance 10 connexions sur la même machine elle risque de saturer. Par contre si on met en place LVS avec 10 serveurs + 1 frontal alors chaque serveur n'aura qu'un seul calcul à effectuer ----> forte amélioration des performances.

Ce qui est plus embétant c'est au niveau du protocole. Dans le cas de NFS par exemple, LVS ne fonctionnera pas.
drikcT
Major
Major
 
Messages: 76
Inscrit le: 14 Mai 2004 09:38

Messagepar gla » 18 Juin 2004 11:08

drikcT a écrit:
gla a écrit:Petite précision...

Quel que soit le système de répartition de charge que tu envisages, si l'application ne supporte pas cette répartition, tu ne vas rien gagner (sauf des problèmes) donc commence peut être par voir si ton appli peu jouer efficacement (et gagner de la perf) sur du multiprocesseur (noyau SMP) et ensuite tu peux envisager le cluster.


Heu... pas forcément.
Exemple: un application qui ne supporte pas le SMP mais qui a chaque connection fait un gros calcul sur un paramètre donner lors de la connexion. Si on lance 10 connexions sur la même machine elle risque de saturer. Par contre si on met en place LVS avec 10 serveurs + 1 frontal alors chaque serveur n'aura qu'un seul calcul à effectuer ----> forte amélioration des performances.

Ce qui est plus embétant c'est au niveau du protocole. Dans le cas de NFS par exemple, LVS ne fonctionnera pas.


Si, si...

En fait pour pouvoir "distribuer" une application sur un cluster, il faut qu'elle soit prévue pour cela. Dans ton exemple, tu parles d'un serveur qui accepte plusieurs connexions, déjà tu évoques le fait de lancer 10 connexions en parallèles, donc tu peux lancer plusieurs instances de la même appli. Là, évidemment, tu devrais pouvoir mettre ces différents process en parallèle. En revanche, il existe des appli qui refuse de se lancer plusieurs fois. Si c'est le cas, de l'appli de YOBOGS, il ne peut utiliser un cluster SSI (Single System Image). De plus, certaines applications sont en mesure de partager leurs traitements sous forme de process ou de thread/mutex. Dans ce cas, il n'est pas non plus évident (trivial) que cela fonctionne avec un cluster ou un multipro. Si les process partage la mémoire, des lock de disque ou d'autre type de ressources partagées, cela va poser un problème.

Mon propos n'est pas de dire que c'est impossible avec LVS, mais on ne peut pas dire que le fait d'installer cette solution va régler son problème immédiatement. Je pense qu'une étude de l'appli est indispensable pour décider de la réponse optimale à son problème.

Enfin, et cela me parait le plus important, il est inutile de vouloir parallèliser les traitement et d'augmenter la disponibilité des serveur, si les données sont hébergées par une baie qui elle-même n'est l'est pas !
C'est bien beau de mettre beaucoup d'argent ou d'énergie dans un super cluster si le point sensible (SPOF) se situe ailleurs ....
J'ai connu une polonaise qui en buvait au petit déjeuner...
SMERP : Distribution Open Source pour l'entreprise
Avatar de l’utilisateur
gla
Amiral
Amiral
 
Messages: 1259
Inscrit le: 28 Sep 2002 00:00
Localisation: Grasse

Messagepar yobogs » 18 Juin 2004 18:51

Merci pour toutes ces info,
je vais me retourner vers le prestataire qui à developpé l'appli pour savoir si elle supportera les différentes solution évoquées.
yobogs
Quartier Maître
Quartier Maître
 
Messages: 11
Inscrit le: 10 Juin 2004 23:26


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité