Bonjour,

J'essaye de configurer un load balancing pour des serveurs web.
J'ai suivi le tutorial LVS-NAT sur
http://www.ultramonkey.org/papers/lvs_tutorial/html/
Voici ce que j'ai tape sur le load balancer :
ifconfig eth0:0 10.8.8.85 netmask 255.255.255.0
ipvsadm -A -t 10.8.8.85:80
ipvsadm -a -t 10.8.8.85:80 -r 10.8.10.2:80 -m
ipvsadm -a -t 10.8.8.85:80 -r 10.8.10.3:80 -m

ipforward est correctement active.

Voici le schema du reseau, tous les masques sous reseaux sont 255.255.255.0
Virtual IP = 10.8.8.85



--------|-------------------------
|eth0=10.8.9.1
|
------|----------
| loadbalancer |
| router |
| |
------|----------
|eth1=10.8.10.1
|
|-------|-----------------------|-------------------
|eth0=10.8.10.2 |eth0=10.8.10.3
|gateway=10.8.8.85 |gateway=10.8.8.85
|---------| |---------|
| rs1 | | rs2 |
|______| |_______|

Ca ne marche pas, c'est a dire que les serveurs web ne recoivent rien. Quelqu'un a t il une solution ?

Merci de votre aide.
fait un tcpdump/wireshark sur ton serveur LVS pendant la requete d'un client. Ton reseau coté eth0 est en 10.8.9.x et ta VIP en 10.8.8.x donc faut t'assurer deja que tes clients puissent joindre ta vip.

Donc tu sniff le reseau sur eth0, si tu vois bien les requetes clients arrivées, tu sniff sur eth1 pour voir si elles repassent bien vers tes vrais serveurs. Pour voir aussi si elles sont bien natées. Je sais plus si c'est dans ce cas là, mais faut peut etre mettre un alias sur le loopback de tes vrais serveur avec comme adresse IP la VIP, pour qu'ils sachent qu'ils doivent repondre aux requetes qui ont la VIP comme destination.
Hum, mais tout le monde dit qu'il faut mettre la VIP comme gateway sur les real servers alors que les ip ne sont pas dans le meme reseau (c'est comme ca dans le tutorial officiel).

Pour les requetes, elles n'arrivent pas jusqu'au serveur de destination, il n'y a pas de d'entrees dans le log d'apache

Merci.

PS : desole pour les accents, je suis sur un qwerty
Si tu parle du lien que t'as cité dans ton premier post ils ont une vip dans le meme reseau


la vip:
ifconfig eth0:0 172.17.60.201 netmask 255.255.0.0 broadcast 172.17.255.255
La VIP comme gateway sur les real servers ça c'est ok, pour que les paquets de retour repassent bien par le LVS. Mais du coté de ton eth0, de ton LAN, sur ton LVS, faut bien que tes clients puissent acceder à ta VIP, donc etre dans le même reseau (ou alors que le routeur sachent envoyer tout ça sur ton LVS je sais pas). Donc depuis un client, arrive tu dejà à pinguer la VIP?

Ta doc, bien qu'un peu vieille, a l'air bien, elle explique meme comment procéder en cas de problème avec tcpdump par ex. Donc si tes clients peuvent déjà pinguer la VIP, tente un "tcpdump -n -i any port 80" sur ton LVS pour voir ce qu'il se passe lors d'une requete.

donne nous aussi le resultat de "ipvsadm -L -n"
The client est en effet sur le meme reseau que la VIP, il peut pinger la VIP.
J'ai fait du tcp dump, le client lance une requete qui passe par le loadbalancer qui redirige correctement vers un des deux real servers. Le real serveur repond au load balancer qui ecoute mais rien ne ressort du cote eth0 du load balancer.

Ou est l'erreur ? Dois je ajouter une route ou quelque chose comme ca ?

Merci.
ps : j'ai modifie comme tu m'as dit les gateway sur le real server, ce qui est plus logique, mais le ne comprends pas pourquoi la documention dit de mettre la vip sur les gateway des virtuals serveurs.
si tu peux nous copier la sortie de ton tcpdump. ça à l'air plutot bon c'est juste bizare que le retour ne sorte pas du LVS.
Salut,

Je suis vraiment desole d'avoir ete si long a te repondre. Voici les sorties sur tcpdump.
Sur le load balancer eth0:
00:47:46.252113 IP 10.8.8.111.4832 > 10.8.8.85.http: S 3976491666:3976491666(0) win 65535 <mss 1460,nop,nop,sackOK>

sur eth1 :
00:47:46.254448 IP 10.8.8.111.4832 > 10.8.10.2.http: S 3976491666:3976491666(0) win 65535 <mss 1460,nop,nop,sackOK>
00:47:46.256189 IP 10.8.10.2.http > 10.8.8.111.4832: S 3129610026:3129610026(0) ack 3976491667 win 5840 <mss 1460,nop,nop,sackOK>

sur le webserver1 (eth0) :
00:47:45.262153 IP 10.8.8.111.4832 > 10.8.10.2.http: S 3976491666:3976491666(0) win 65535 <mss 1460,nop,nop,sackOK>
00:47:45.269792 IP 10.8.10.2.http > 10.8.8.111.4832: S 3129610026:3129610026(0) ack 3976491667 win 5840 <mss 1460,nop,nop,sackOK>

Merci de ton aide. :-D
J'ai trouve la solution !!
Il fallait desactiver le firefall sur eth1 du load balancer... Je suis un idiot, mais c'est quand meme bizzare que ca ne soit marque nul part dans les tutos.