Forum Linux.général Configuration Heartbeat + ldirectord en direct routing

Posté par  .
Étiquettes : aucune
0
4
juin
2012

Bonjour,
Je m'arrache les cheveux !
J'ai testé pleins de configurations différentes et j'arrive pas au résultat le plus cohérent avec mes tests …

Je dois configurer des serveurs en mode LVS. J'ai :
- 2 load balancers (Heartbeat+ldirectord) qui s'appellent ldirector1 et ldirector2
- 2 reverse proxy avec des VHOSTS httpd qui redirige les requêtes vers des serveurs d'applications. On les appellera rp1 et rp2

Dans tous mes tests j'arrive à des résultats positifs ! Cela fonctionne mais ya une c**** dans le potage que je n'arrive pas à m'expliquer.

J'ai suivi ce suepr tuto : load-balancing-howto-lvs-ldirectord-heartbeat-2
PS : Le schéma de ce lien correspond à peu de chose près à ce que e vais expliquer.

Quand j'étais en mode NAT, les load balancers était en frontal. Pour le debugging c'était bien plus simple à mon goût. Un des 2 load balancer héberge la VIP (adresse ip virtuelle) et ldirector redirige les requêtes provenant de cette VIP sur les services que l'on a configuré dans le fichier ldirector.cf. La répartition de charge se passe bien, les requêtes sont réparties automatiquement entre rp1 et rp2

Pour des questions de fiabilité et de robustesse je suis passé en mode direct routing. J'ai modifié mon plan d'adressage réseau et attribué cette VIP sur l'interface lo:0 (pourquoi lo:0 et non pas ethX:0…??) de mes 2 reverse proxy. Après avoir lu et relu pleins de tuto je suis arrivé à faire marcher le bigniou.

J'en viens au fait parce que je sais pas vraiment expliqué mon pb:
Maintenant ldirector ne fait plus de répartition de charge, quand je regarde dans les logs httpd des reverse proxy, je vois que les requêtes sont exécutées par les 2 serveurs ! Je comprends plus bien du tout…

en mode NAT via ipvsadm, je voyais les sessions et l'aiguillage sur les reverse proxy, tout fonctionnait très bien !
en mode DR via ipvsadm, je vois pas tout le temps passer les sessions et l'aiguillage sur les reverse proxy (ca dépend de l'interface utiliser lo:0 VS eth1:0 ??). J'ai bien essuyé quelques pb arp lié au noyau 2.6 qui se sont réglé par des : arp_announce=2 and arp_ignore=1. ce comportement semble avoir disparu

Maintenant en mode DR, ldirector ne fait plus la répartition de charge, je vois bien mes requêtes via ipvsadm mais les 2 reverse proxy traite en parallèle la même requête !? JE COMPRENDS PLUS RIEN !!

Avant ca faisait bien la répartition de charge en mode NAT:

[client][internet][VIP]
|--[ldirector1] ou [ldirector2]-->[rp1] OU [rp2]

Maintenant ca fait plus la répartition de charge en mode direct routing:

[client][internet][VIP]
|--[ldirector1] ou [ldirector2]-->[rp1] ET [rp2]

Est-ce que quelqu'un comprend ma question ?
Est-ce que quelqu'un comprend mon problème ?

voici ldirector.cf :

virtual=192.168.3.200:80
        real=192.168.3.203:80 gate
        real=192.168.3.204:80 gate
        service=http
        scheduler=wlc
        checkport=80
        protocol=tcp
        checktype=negotiate
        request="/ldirector/status.html"
        monitorfile = /var/log/ldirectord/monitors_http.log

Je vous passe la conf réseau un peu compliqué à expliquer par écrit

Désolé de ne pas pouvoir être plus clair, mon problème est complètement tordu ! ;-)

Cordialement

  • # J'ai peut être trouvé...

    Posté par  . Évalué à 0.

    Hello !
    En fait mon problème n'en est peut être pas un…

    Un mode NAT, l'affinité de session ne fonctionne pas pareil qu'en direct routing j'ai l'impression…

    Mes serveurs applicatifs sont des serveurs web avec du contenu statique.
    La page d'accueil contient des tas de liens (CSS/javascript, d'autres liens interne html)

    En mode Direct routing pour un seul et même client chaque lien présent dans ma page semble être considéré comme une session. Ce qu'il fait qu'il peut charger le css via un reverse proxy, le fichier javascript via un autre.
    la table des sessions de ldirectord (ipvsadm) se remplit donc très vite ! Et je vois mon IP dans les logs apache de mes reverse proxy en parallèle…cqfd

    En mode NAT : le lien directeur envoie la requête HTML au serveur ayant le moins de connexion en cours et c'est ce dernier qui traite l'intégralité de la requête HTML. Ce qui me paraissait normal…

    J'espère que mon résonnement tient la route (lol)
    Si quelqu'un m'a compris est-ce qu'il pourrait me confirmer que ldirector fonctionne?

    Cordialement

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.