Basé sur une question posée il y a plus d'un an ( Ethernet 1 Gbps multiplexé? ), Je me suis mis à installer un nouveau rack avec un nouveau fournisseur d'accès à Internet avec des liaisons LACP partout. Nous en avons besoin parce que nous avons des serveurs individuels (une application, une IP) servant des milliers d’ordinateurs clients sur Internet dépassant 1 Gbps cumulatif.
Cette idée de LACP est supposée nous permettre de casser la barrière des 1 Gbps sans dépenser une fortune en commutateurs 10GoE et NIC. Malheureusement, j'ai eu quelques problèmes avec la distribution du trafic sortant. (Ceci malgré l'avertissement de Kevin Kuphal dans la question liée ci-dessus.)
Le routeur du FAI est un type de Cisco. (J'ai déduit cela de l'adresse MAC.) Mon commutateur est un HP ProCurve 2510G-24. Et les serveurs sont des HP DL 380 G5 exécutant Debian Lenny. Un serveur est un serveur en attente. Notre application ne peut pas être groupée. Voici un schéma de réseau simplifié comprenant tous les nœuds de réseau concernés avec adresses IP, adresses MAC et interfaces.
Bien qu’il ait tous les détails, c’est un peu difficile de travailler et de décrire mon problème. Donc, pour simplifier, voici un schéma de réseau réduit aux nœuds et aux liens physiques.
Je suis donc parti installer mon kit sur le nouveau rack et connecter le câblage de mon FAI à partir de leur routeur. Les deux serveurs ont une liaison LACP vers mon commutateur, et le commutateur possède une liaison LACP vers le routeur ISP. Dès le début, j'ai réalisé que ma configuration LACP n'était pas correcte: les tests ont montré que tout le trafic à destination et en provenance de chaque serveur passait par un lien physique GoE exclusivement entre le serveur à commutateur et le commutateur à routeur.
Après quelques recherches sur google et beaucoup de temps RTMF concernant la liaison de cartes réseau linux, j'ai découvert que je pouvais contrôler la liaison de cartes réseau en modifiant /etc/modules
# /etc/modules: kernel modules to load at boot time.
# mode=4 is for lacp
# xmit_hash_policy=1 means to use layer3+4(TCP/IP src/dst) & not default layer2
bonding mode=4 miimon=100 max_bonds=2 xmit_hash_policy=1
loop
Cela a eu le trafic quittant mon serveur sur les deux cartes réseau comme prévu. Mais le trafic passait du commutateur au routeur sur une seule liaison physique, encore .
Nous avons besoin de ce trafic passant par les deux liens physiques. Après avoir lu et relu le Guide de gestion et de configuration du 2510G-24 , je trouve:
[LACP utilise] des paires d'adresses source-destination (SA / DA) pour la distribution du trafic sortant sur des liaisons partagées. SA / DA (adresse source / adresse de destination) oblige le commutateur à répartir le trafic sortant vers les liaisons du groupe de lignes sur la base de paires d'adresses source / destination. Autrement dit, le commutateur envoie le trafic de la même adresse source à la même adresse de destination via le même lien partagé, et le trafic de la même adresse source à une adresse de destination différente via un lien différent, en fonction de la rotation des assignations de liens dans le coffre.
Il semble qu’une liaison liée ne présente qu’une seule adresse MAC. Par conséquent, mon chemin de serveur à routeur sera toujours sur un chemin de commutateur à routeur, car le commutateur ne voit qu’un seul MAC (et non deux - un de chaque port) pour les deux liaisons LACP.
Je l'ai. Mais voici ce que je veux:
Un commutateur HP ProCurve plus coûteux est le 2910al qui utilise des adresses source et de destination de niveau 3 dans son hachage. Dans la section "Distribution du trafic sortant sur plusieurs liaisons" du Guide de gestion et de configuration du ProCurve 2910al :
La répartition réelle du trafic sur une ligne de réseau dépend d'un calcul utilisant des bits provenant de l'adresse source et de l'adresse de destination. Lorsqu'une adresse IP est disponible, le calcul inclut les cinq derniers bits de l'adresse source IP et de l'adresse de destination IP, sinon les adresses MAC sont utilisées.
D'ACCORD. Donc, pour que cela fonctionne comme je le souhaite, l'adresse de destination est la clé car mon adresse source est fixe. Cela m'amène à ma question:
Comment exactement et spécifiquement le hachage LACP de couche 3 fonctionne-t-il?
J'ai besoin de savoir quelle adresse de destination est utilisée:
- l'adresse IP du client , la destination finale?
- Ou l'adresse IP du routeur , la prochaine destination de transmission du lien physique.
Nous n'avons pas encore acheté un commutateur de remplacement. S'il vous plaît, aidez-moi à comprendre exactement si le hachage d'adresse de destination LACP de couche 3 est ou n'est pas ce dont j'ai besoin. L'achat d'un autre commutateur inutile n'est pas une option.