Bonjour à tous
Premier message sur la liste, je viens vers vous pour un problème de
load balancing avec Keepalived. Dès que je commence à charger légèrement
le cluster, j'ai des pertes de paquets (time out).
Je suis sur la configuration suivante : Deux serveurs openldap, qui ont
eux même leur keepalived, la partie failover fonctionne correctement.
Avec Wireshark sur le client, j'ai des paquets en erreur de type ' TCP
ACKed unseen segment' et 'TCP Previous segment not captured'.
Lors de mes essais avec Jmeter, les résultats des tests sont toujours
identiques,
- Pour 10 utilisateurs et 10 boucles, j'ai les 12 premières
requêtes sans erreurs et après certaines qui passent pas. Pour 100
échantillons, j'ai 25% de taux d'erreur.
- Pour 1 utilisateur et 10 boucles, j'ai les 2 premières requêtes
sans erreurs et après certaines qui passent pas. Pour 10 échantillons,
j'ai 20% de taux d'erreur.
Pour info, le problème ce fait aussi lorsque j'envoie des requêtes
ldapsearch depuis mon shell.
Dans les logs des nœuds, je vois bien les requêtes passer sur mes deux
serveurs openldap.
Voici ma configuration, j'ai désactivé la partie auth et ldaps 636 pour
limiter le nombre de problèmes durant mes tests:
vrrp_instance VI-LDAP1 {
state MASTER #noeud2 :BACKUP
virtual_router_id 25
priority 150 #noeud2 :100
interface eno16777984
protocol TCP
virtual_ipaddress {
ip.ldap/24 brd masq.ldap.255 dev eno16777984
}
smtp_alert
advert_int 100
}
virtual_server ip.ldap 389 {
delay_loop 100
lb_algo rr
lb_kind DR
protocol TCP
real_server ip.ldap.1 389 {
weight 1
MISC_CHECK {
misc_path "/etc/keepalived/script_check_ldap.sh ip.ldap.1"
}
}
real_server ip.ldap.2 389 {
weight 1
MISC_CHECK {
misc_path "/etc/keepalived/script_check_ldap.sh ip.ldap.2"
}
}
}
Ayant douté de la partie MISC_CHECK (mon script est une simple requête
ldap) , j'ai tenté un TCP_CHECK sur le port 389 mais le résultat était
le même.
J'ai mis les paramètres systèmes suivant
net.ipv4.ip_forward=1 # certain conseil à 0, mais résultat identique, de
toute façon s'il y a bien du routage de paquet je pense qu'il faut
l'activer
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.eno16777984.arp_ignore=1
net.ipv4.conf.eno16777984.arp_announce=2
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
Merci d'avance
--
William VINCENT
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/