jackychen
Goto Top

Mit Linux Bonding und Switch Trunk den Outgoing und Incoming Traffics auf 4 Leitungen verteilen

Hi Leute, ich habe hier eine SAN Umgebung mit folgendem Aubau:

SAS RAID (Raid)-----> Fibre Channel Switch (fcs) -------> Linux NFS Server (nfs) -------> DGS-1224T G Switch (sw) -------> 2x Mailserver(Client)

Reichliche Bandbreite zwischen Raid,fc,nfs sorgt Fibre Channel(fc) mit 4 Gb/s. Die Verbindung zwischen nfs und sw erfolgt über eine
4-Port G Ethernetkarte (Slave), machts zusammen quasi auch 4 Gb/s.

So, nun soll die Trafficverteilung zwischen nfs und sw optimiert werden durch Bonding oder auch Trunk, und zwar in beide Richtungen. Ich habe nach der Anleitung http://www.linuxfoundation.org/en/Net:Bonding das Bonding für maximale Throughout mit singel Switch Topology in Mode 6 balance-alb konfiguriert. Und nfs und Clients befinden sich im gleichen Subnetz. Einfacher gesagt, der outgoing Traffic und der incoming Traffic wird anhand der MAC Paare aus client und Slave verteilt, quasi wenn ich hier 20 Clients hätte, und jede 5 Clients schnappen sich einen Salve und somit verteilt sich der Traffic gleichmäßig auf alle Slaves. Aber ich habe hier eben nur 2 Clients, und nach gewisse Testphase musste feststellen dass sich der Traffic nicht gleichmäßig verteilt wie gewollt. Dann habe mir gedacht, das Bonding nur für outging Traffic zu verwenden zwar mit balance-rr, quasi stupid den Traffic auf die 4 Slaves durchlaufen lassen, 1 , 2, 3, 4, 1, 2, 3..... und so weiter. Und der incoming Traffic von der Switchseite durch Trunk verteilt werden.

Wird es funktionieren? Gibt's bessere Lösungen anhand der vorhandenen Technik?

Danke! Gruß!

Content-Key: 104194

Url: https://administrator.de/contentid/104194

Printed on: April 25, 2024 at 07:04 o'clock

Member: aqui
aqui Dec 17, 2008 at 09:28:43 (UTC)
Goto Top
Du schreibst leider kein Wort davon ob du das Trunking (Link Aggregation) auch korrekt auf dem Switch eingerichtet hast ???

Hast du das nicht wird das Szenario niemals funktionieren, denn Link Aggregation ist immer eine zweiseitige Geschicht und muss zwangsweise auf beiden Enden aktiviert sein (Server UND Switch !) damit es sauber rennt.

Dein Switch muss also Link Aggregation anch IEEE 802.3ad mit LACP supporten sonst brauchst du gar nicht weitertesten...
Die D-Link Seite meint in den features nur lapidar... Port Trunking nehmen wir also mal an das auch schlimme Billigheimer wie D-Link dieses Feature dennoch supporten...und du es für deine Links auch wirklich auf dem Switch aktiviert hast ??!!

Dennoch musst du bei diesem Algorythmus immer mit einer gewissen Missverteilung rechnen, denn entschieden auf welchem physischen Link deiner 4 deine Session übertragen wird, wird mit einem Hash Wert der mit einer XOR Verknüpfung aus den letzten 4 Bit deiner Mac Adresse der Sessionpartner gebildet wird.
Je nachdem welche Bitkombination die haben landen diese Sessions also immer auf einem festen Link !
Bei nur 2 Clients und 4 möglichen Links ist es also kein großes Wunder wenn die Verteilung erheblich asymetrisch ist !!!

Besser Switches nehmen zur Erzeugung des Hash Wertes noch IP Adresse und/oder TCP/UDP Port hinzu was eine granularere Veerteilung letztlich ergibt.
Du kannst aber absolut sicher sein das dein D-Link nicht zu diesen Vertretern gehört !
In der Preisklasse wo sich dieser Switch bewegt musst du schon froh wein wenn er überhaupt Link Aggregation supportet !!!