
Je fais appel à votre science car je rencontre un problème que je n'arrive pas à solutionner.
J'ai 2 machines Linux reliées toutes les 2 au même switch sur lequel est créé un LAG static par machine.
Côté Linux, les 2 machines sont en bonding (mode 0).
Si je fais un iperf (-P8) de l'une vers l'autre, j'obtiens 1,87 Gbps (ce qui me paraît cohérent).
Si je fais le même iperf dans l'autre sens, pas moyen de dépasser le 1 Gbps.
La configuration est strictement identique.
Sur la machine qui fonctionne bien :
- On envoie bien sur les 2 cartes.
- On reçoit bien sur les 2 cartes.
--> tout est au taquet.
Sur la machine qui ne fonctionne pas correctement :
- On envoie bien sur les 2 cartes.
- Une seule reçoit.
J'ai modifié le "xmit_hash_policy" en "layer3+4" mais résultat identique.
Si je lance un deuxième flux iperf vers une autre IP de la machine, je dépasse le gigabit mais ça va au mieux à 1,5 Gbps.
Pour la config :
- La machine qui fonctionne bien a une carte Gbps (Fibre) et une carte Gbps (Ethernet).
- La machine qui ne fonctionne pas bien a 2 cartes Gbps (Ethernet)
--> Le problème était le même quand la première avait 2 cartes Gbps Ethernet.
Les 2 machines ont le même OS (une en Debian 8 et l'autre en Linux Mint Debian Edition (Debian 8 aussi)).
J'ai supposé à un moment que ça pouvait être les @MAC qui se suivent (XOR du bonding) mais sur celui qui fonctionne j'ai déjà eu ce cas et ça fonctionnait.
Pas de problème de performance CPU non plus.
Si vous avez des idées...
