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/

Répondre à