LACP, switch et machines

LACP, switch et machines - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 19-04-2013 à 17:51:21    

Bonjour,
 
J'ai paramétré des agrégations de deux liens sur plusieurs machines (Nas). Côté switch (ProCurve 2900, GbE) :

Citation :

>show trunk
Load balancing
Port | Name                                         Type      | Group Type
  ---- + --------------------------------         --------- + ----- -----
  2     | Nas1 eth0                            100/1000T | Dyn2  LACP
  3     | Nas2 eth0                            100/1000T | Trk1  LACP
  5     | Nas2 eth1                            100/1000T | Trk1  LACP
  14   | Nas3 eth0                            100/1000T | Dyn1  LACP
  16   | Nas3 eth1                            100/1000T | Dyn1  LACP
  20   | Nas1 eth1                            100/1000T | Dyn2  LACP


Et :

Citation :

>show lacp
LACP
   PORT   LACP          TRUNK     PORT      LACP           LACP
   NUMB   ENABLED   GROUP    STATUS   PARTNER     STATUS
   ----      -------          -------      -------      -------         -------
   2         Active          Dyn2      Up           Yes            Success
   3         Active          Trk1        Up           Yes            Success
   5         Active          Trk1        Up           Yes            Success
   14       Passive       Dyn1       Up           Yes            Success
   16       Passive       Dyn1       Up           Yes            Success
   20       Active          Dyn2       Up           Yes            Success


 
Trk1 est un groupe LACP statique.
Déjà la commande

Citation :

show trunk

m'indique "load balancing" alors que c'est du LACP.
Vérification avec iperf entre ces Nas, qu'ils soient en statique ou dynamique : env. 950 Mb/s de BP.
Ecriture/lecture d'un fichier en NFS : > 800 Mb/s, la coupure d'un lien confirme cela.
Pourtant le mode de bonding sur les machines est bien 802.3ad.
Exemple de /etc/network/interfaces :

Citation :

auto bond0
iface bond0 inet static
 address xxx.xxx.xxx.xxx
 network xxx.xxx.xxx.xxx
 netmask xxx.xxx.xxx.xxx
 gateway xxx.xxx.xxx.xxx
 broadcast xxx.xxx.xxx.xxx
 slaves eth0 eth1
 bond-mode 802.3ad
 bond-miimon 100
 bond-downdelay 50
 bond-updelay 50
 dns-nameservers xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx


De plus, iperf me donne une taille de fenêtre TCP allant de 16 à 129 Ko.
 
J'ai dû louper quelque chose. Merci de m'avoir lu.
 
Edit : j'ai oublié de préciser pour iperf :

Citation :

iperf -dc @ip


Message édité par maynard le 19-04-2013 à 18:02:06
Reply

Marsh Posté le 19-04-2013 à 17:51:21   

Reply

Marsh Posté le 19-04-2013 à 18:35:52    

la question est ?

Reply

Marsh Posté le 19-04-2013 à 18:45:55    

Pardon pour ce manque de clarté.
Deux liens GbE agrégés mais un seul utilisé, la BP l'attestant et la déconnexion d'un lien le confirmant.
Pourquoi donc ?

Reply

Marsh Posté le 19-04-2013 à 18:47:39    

Parce que le transfert entre 2 machines est toujours sur un seul lien (hashage sur l'adresse mac, faut faire du round robin pour balancer sur les 2)

Reply

Marsh Posté le 22-04-2013 à 14:49:46    

Autant pour moi, je pensais que LACP s'occupait justement de cette cuisine en répartissant la charge. Le bond prend l'@Mac d'une des interfaces physiques recouvrant les autres pour ne présenter qu'un seul lien logique. Mais comme tu le dis, le LACP fonctionne en correspondance @source/@destination ce qui fait qu'un lien peut être saturé et l'autre inoccupé.
 
Du coup, j'ai fait des essais avec iperf :
Une machine avec 2x GbE agrégés en serveur, deux machines différentes en cliente :
- BP totale 980 Mb/s partagée entre elles.
La même machine avec deux serveurs iperf en écoute :  
- BP totale à 1 044 Mb/s (395 + 649).
La même machine avec deux serveurs iperf en écoute, dont une en UDP :
- BP totale à 1 942 Mb/s (1 005 + 937).
La même machine avec deux serveurs iperf en écoute, les deux en UDP :
- BP totale à 2010 Mb/s.
 
Pourquoi cette différence entre protocoles supérieurs par ce protocole de liaison ?
 
A noter que le moniteur système de Debian ne détecte pas le trafic UDP.
 
Ce switch ne prend en charge que le LACP (dynamique ou statique) ou une agrégation statique sans protocole spécifique (mais toujours SA/DA), pas les autres modes de bonding.
Le LACP perd alors pas mal d'intérêt, hormis pour un trafic inter-switch.

Reply

Marsh Posté le 22-04-2013 à 20:09:51    

LACP c'est du niveau 2, hors Ethernet ne numérote pas les trames, donc celle-ci doivent être reçues dans le même ordre qu'elles ont été émises puisqu'il est impossible de les remettre dans le bon ordre après coup.

 

De fait, pour un couple donné de machines, tu ne peux utiliser qu'un seul lien sinon ...
 


Message édité par Zostere le 22-04-2013 à 20:10:22

---------------
Zostere
Reply

Marsh Posté le 23-04-2013 à 10:06:49    

Merci Zostere pour cet utile rappel.
Mais pourquoi en TCP deux machines différentes se partagent semble-t-il la BP que d'un seul lien GbE de la machine serveur ?
Commandes côté clients :

Citation :

iperf -p 5002 -dc @ip


Citation :

iperf -dc @ip


Côté serveur :

Citation :

iperf -p 5002 -s
iperf -s

Reply

Marsh Posté le 06-06-2013 à 23:05:18    

pour avoir testé meme en tcp j'ai bien un doublement de la vitesse sous iperf.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed