Christophe Mailhebuau wrote:
Bonjour à tous,
LVS est un ensemble d'outils qui regroupe heartbeat + ldirector si j'ai
tout compris, non ?
Non.
LVS est un serveur virtuel a haute disponibilite qui est compose d'un
load balancer (ou repartiteur de charge) et d' un groupe de serveurs reels.
Les utilisateurs n'ont pas connaissances des serveurs reels. Ils
interagissent avec le load balancer comme s'il s'agissait d'un seul et
unique serveur.
Le load balancer et les serveurs reels sont interconnectes. Toutes les
requetes envoyees au load balancer sont en fait re-distribuees entre les
differents serveurs reels.
Le serveur virtuel peut etre configure de trois manieres: LVS via NAT,
LVS via IP Tunneling ou LVS via Direct Routing.
Considerons par example un load balancer devant deux serveurs LDAP dans
un configuration Direct Routing comme indiques sur le schema:
Client
|
|
|
LoadBalancer
(192.168.100.100)
|
|
|
------------------------|
| |
| |
LDAP1 LDAP2
(192.168.100.101) (192.168.100.102)
Sur le load balancer on cree un service virtuel qui est defini par 1
adresse IP, 1 port et un protocol, par example 192.168.100.100, port 389
et TCP.
A ce service virtuel on associe les deux serveurs reels, LDAP1 et LDAP2
en indiquant leur IP et le port en questions: 192.168.100.101, port 389
et 192.168.100.102, port 389. Ces informations sont entrees dans une
table administree par la command ipvsadm.
Le client envoie une requete LDAP (port 389) au load balancer qui la
redirige a LDAP1 ou LDAP2 suivant l'algorithme utilise et le poids
relatif. Le serveur LDAP qui a recu la requete repond directement au
client sans repasser par le load balancer.
LVS permet d'avoir une tres haute disponibilite de service et une grande
flexibilite: on peut avoir par example cinq serveurs reels qui
repondront mieux a la charge qu'un seul serveur. On peut retirer un
serveur reel du LVS afin d'en faire la maintenance sans pour autant
interrompre le service.
Le load balancer doit faire tourner un programme appeler IPVS inclus
dans les noyaux Linux recents.
ipvsadm est un outil qu'il faut installer pour administrer manuellement
la table qui associe les services virtuels aux serveurs reels.
Ces deux programmes sont suffisants pour creer un LVS.
Il y a d'autres outils comme Heartbeat et Ldirector qui peuvent
renforcer le LVS:
- Heartbeat permet d'avoir plus de deux load balancers; si le load
balancer primaire tombe en panne, le secondaire prend le relais
automatiquement sans interruption de service
- Ldirector permet de verifier si les serveurs reels sont disponibles;
si un des serveurs reels tombe en panne, il est automatiquement retire
du LVS
Personnellement j'utilise KeepAlived, un seul programme qui remplit le
role de Heartbeat et de Ldirector.
J'espere que cette description simplifiee t'aidera un peu.
Cordialement.
Sam
PS: Desole pour les accents, j'utilise un clavier US.
|