Loadbalancer arbeitet nicht wie gewünscht

Forum zu aktuellen Geräten der LANCOM Router/Gateway Serie

Moderator: Lancom-Systems Moderatoren

Antworten
Benutzeravatar
Jirka
Beiträge: 5225
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Loadbalancer arbeitet nicht wie gewünscht

Beitrag von Jirka »

Hallo zusammen, hallo Backslash,

irgendwie tut der Loadbalancer in meinen Augen nicht das, was ich mir wünsche.

Folgende Situation:
LANCOM 7100+ VPN, Firmware 10.12.0482 vom 05.10.2018 (das Problem tritt aber schon länger auf)
Internetzugänge: T-DSLBIZ über externes ZyXEL-VDSL-Modem mit 25.000/5.000 (Bandbreite unter DSL-1 eingetragen) und VODAFONE über externes Kabelmodem mit 500.000/50.000 (Bandbreite unter DSL-2 eingetragen)
Routing-Tabelle: Die Routing-Tabelle enthält eine Default-Route mit Routing-Tag 12 "explizit ueber VODAFONE-Leitung", eine Default-Route mit Routing-Tag 11 "explizit ueber T-DSLBIZ-Leitung" und eine Default-Route mit Routing-Tag 0 über den Loadbalancer ("Default-Route").
VPN: Es handelt sich um eine Zentrale. 7 Filialen bauen eine VPN-Verbindung zu dieser Zentrale auf. Die Filialen sind so konfiguriert, dass sie immer erst mal versuchen über die T-DSLBIZ-Leitung die VPN-Verbindung herzustellen. Auch sind die VPN-Verbindungen in der Zentrale mit Routing-Tag 11 versehen, damit bei Aufbau von der Zentrale aus (Haltezeit zwar 0, aber wenn Traffic anliegt, baut ja ohne entsprechende Firewall-Regel auch mal die Zentrale auf) auch die T-DSLBIZ-Leitung gewählt wird. Im Normalfall sind also alle VPNs zu den Filialen über T-DSLBIZ aktiv und das soll auch so sein, da die Gegenseiten auch alle T-DSLBIZ haben.

Problem:
Wenn über die VPN-Verbindungen viel Traffic geht, dann ist die T-DSLBIZ-Leitung auf Vollauslastung. Man sieht in PRTG dann sehr schön, wie der Traffic an den 25.000/5.000 anschlägt. Heute morgen war das 2 Stunden der Fall. Vor kurzem war es so, dass nur die 5.000 Upload am Anschlag ausgelastet waren und bei den 25.000 war noch reichlich Luft nach oben (Auslastung 3.000 bis 5.000 kbit/s schwankend). Der Loadbalancer verteilt jetzt den Traffic weiter auch auf die T-DSLBIZ-Leitung, obwohl die VODAFONE-Leitung mal gerade kaum (1 Mbit/s) oder mit 20..30 Mbit/s ausgelastet ist. Pings schwanken extrem, je nachdem, welcher Leitung sie zugeordnet werden. Das Surfen im Internet ist extrem langsam, es gibt Beschwerden man könne nicht mehr arbeiten. Stelle ich die Default-Route (Routing-Tag 0) auf VODAFONE um, ist alles ok. Die VODAFONE-Leitung gibt den Traffic also her. Auch liegt die CPU-Last des LANCOMs, solange nicht über 200 Mbit/s geroutet werden unter oder max. bei 80 %.

Weitere Anmerkungen: Auf dem Gerät ist auch noch ein Content-Filter aktiv (deswegen die hohe CPU-Last). Möglicherweise steht das damit in Zusammenhang. IPv6 wird nicht verwendet. Firewall-Regeln für Policy-based-Routing gibt es keine. Der LOADBALANCER ist aus VODAFONE (Gegenstelle-1) und T-DSLBIZ (Gegenstelle-2) zusammengesetzt. Client-Binding ist auf 30 Binding-Minuten und 0 Balance-Sekunden eingestellt. Client-Binding ist für HTTP und HTTPS aktiv.

Fragen:
Aus dem geschilderten Problem heraus: Wieso teilt der Loadbalancer den Aufruf einer neuen Webseite nicht der VODAFONE-Leitung zu, wenn die T-DSLBIZ-Leitung mit dem VPN-Traffic voll ausgelastet ist?
Allgemein: Wie entscheidet der Loadbalancer jetzt konkret, welche Leitung er nimmt? Berücksichtigt er dazu Up- und Download oder nur eines von beiden? (Ich kann mich erinnern, dass das hier im Forum schon mal beschrieben wurde, ich habe es aber vor 2 Wochen auch mit einer ausführlichen Suche leider nicht gefunden.)
Warum kann man nicht zwischen zwei Loadbalancer-Profilen wählen? Profil 1, wie derzeit implementiert. Profil 2: Von der Leitungskapazität wird die derzeitige Auslastung abgezogen, übrig bleiben die auf den Leitungen freien Kapazitäten. Jetzt wird auf der Traffic auf die Leitung gegeben, die die größten freien Kapazitäten hat. Damit bei einem sehr großen Missverhältnis, z. B. wie hier mit 25.000 auf der einen Leitung und 500.000 auf der anderen, bis 475 Mbit/s nicht nur die große Leitung genutzt wird, kann man einen konfigurierbaren Faktor einführen, der die freie Kapazität der kleinen Leitung für die Entscheidung vervielfacht, z. B. Faktor 10. Das würde also bedeuten, dass die 25.000 (bei Nichtauslastung) in der Entscheidungsphase mit 250.000 berücksichtigt werden und somit ab einem Traffic von 250.000 Mbit/s auf der Vodafone-Leitung dann gleichmäßig auf beide Leitungen verteilt wird. Einziges Problem an der Sache in meinen Augen ist, dass man das ordentlich dokumentieren müsste und dass das bei LANCOM ja teilweise ein Problem ist. Aber die Doku würde ich dazu auch noch schreiben, wenn es daran scheitern sollte. Bisher ist es ja immer so, dass der Loadbalancer, und so wird es ja auch gesagt, nur für Leitungen mit ähnlich großer Kapazität sinnvoll einsetzbar ist. Beim derzeitigen Profil ist das auch logisch. Aber ist das sinnvoll?
Vielleicht sollte ich wohl einfach den Loadbalancer raus schmeißen. Wahrscheinlich werde ich in dieser Konstellation (25.000 und 500.000) auch für verrückt erklärt, das überhaupt zu machen. Aber der ist ja gleichzeitig auch eine Backup-Schaltung, dann muss man das wieder anders lösen, wobei das sicherlich nicht das Problem ist. Trotz allem ist an dieser Stelle ein Loadbalancer meiner Ansicht nach sinnvoll, da es 200 PCs gibt und ein PC sowieso nicht schneller als 10..20 Mbit/s im Internet surfen soll. Und lieber verteile ich die gleichmäßig auf die beiden Leitungen, als dass ich alles auf eine schiebe, es ist ja normal auch nicht so viel Traffic auf den VPN-Verbindungen und vor einem halben Jahr war die 25.000-er Leitung noch die schnellere...
Aber trotz dessen, dass man den Loadbalancer hier sicherlich rausnehmen könnte, verstehe ich nicht, wieso er hier nicht funktioniert, wie er genau arbeitet und warum nicht verschiedene Loadbalancer-Profile angeboten werden. Der Loadbalancer-Trace zeigt leider auch nicht, wie und warum der Loadbalancer Entscheidungen trifft.
Das Posting ist ganz schön lang geworden, sorry.

Vielen Dank und viele Grüße,
Jirka
Benutzeravatar
MoinMoin
Moderator
Moderator
Beiträge: 1978
Registriert: 12 Nov 2004, 16:04

Re: Loadbalancer arbeitet nicht wie gewünscht

Beitrag von MoinMoin »

Moin Jirka,

eine kurze Überlegung vorweg, ehe der Meister antwortet: Du hast bei einem Load-Balancer im LANCOM auf jeder der beteiligten Leitungen unterschiedliche IP-Adressen. Du kannst also nicht einzelne Pakete verteilen, sondern mußt einzelne Verbindungen auf jeweils eine Leitung festnageln. Diese Verbindung ist dann auf die Maximalkapazität dieser Leitung begrenzt, auch wenn auf den anderen Leitungen des Loadbalancers noch Kapazität frei ist.

Anders wäre das bei einer echten Bündelung (z.B. MLPPP, VDSL-Bonding). Da bekommt das ganze Bündel eine IP-Adresse und man kann die Pakete frei auf die Leitungen verteilen.

Dir Frage, wie der Load-Balancer die Sitzungen den Leitungen zuordnet und warum er das gerade so macht - da kann ich nichts zu beutragen.

Ciao, Georg
DirkK
Beiträge: 555
Registriert: 13 Jun 2005, 15:49

Re: Loadbalancer arbeitet nicht wie gewünscht

Beitrag von DirkK »

Hallo Jirka,
Jirka hat geschrieben: 17 Okt 2018, 14:19 Wie entscheidet der Loadbalancer jetzt konkret, welche Leitung er nimmt?
Der nimmt die am höchsten ausgelastete Leitung und packt dann die nächste Verbindung auch noch drauf nach dem Motto "Da geht doch noch was" :evil:
Sorry, das konnte ich mir jetzt einfach nicht verkneifen.

Aber mal zurück zum Problem: ich habe auch jahrelang versucht das mit einer 60MBit und einer 6MBit Leitung hinzubekommen (u.a. mit policy based routing) und habe nun vor einigen Monaten entnervt aufgegeben, weil das einfach nicht wirklich praktikabel ist, wenn die Bandbreiten so stark unterschiedlich sind. Den von dir angesprochenen Post kenne ich und habe ich auch genau studiert. Allerdings werden dort Durchsatzparameter ausgerechnet, die dann in den Router eingetragen werden sollen, die nichts mehr mit dem eigentlichen Durchsatz zu tun haben. Mag dann für diesen Fall gehen, aber die QoS-Berechnung dürfte dann in die Hose gehen. So zumindest meine Schlussfolgerung.

Schlussendlich habe ich nun die 60MBit als Hauptleitung deklariert und die 6MBit als Backup-Leitung. Damit bin ich in den letzten Monaten recht gut gefahren, auch wenn es mich technisch nicht wirklich befriedigt.

Grüße
Dirk
backslash
Moderator
Moderator
Beiträge: 7010
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: Loadbalancer arbeitet nicht wie gewünscht

Beitrag von backslash »

Ji Jirka,

letztendlich wählt der Loadbalancer die Leitung mit der kleinsten durchschnittlichen prozentualen Auslastung...

Der durchschnittliche Durchsatz wird laufend neu bestinmt und kann unter /Status/WAN/Throughput für den jeweiligen physikalischen Kanal ausgelesen werden (Rx-Avarage bzw. Tx-Avarage). Dieser wird durch die verfügbare Bandbreite geteilt, um die prozentuale Auslastung zu ermitteln. Im weiteren wird pro Kanal die jeweils niedrigste prozentuale Auslastung (Rx oder Tx) verwendet, d.h. es kann bei einem Kanal z.B. die Rx-Last und beim anderen die Tx-Last sein. Und dann wird einfach der Kanal ausgewählt, der dabei den kleinsten Wert hat. Wenn zwei Kanäle dabei gleich gut sind, denn dann wird von denen derjenige genommen, der die wenigsten Sessions (einsehbar unter /Status/IP-Router/Load-Balancer/Connections: TCP/IP-Sessions) hält...

Das ganze passiert so natürlich nur, wenn es kein Client-Binding gibt, denn das erwingt die Nutzung eines Kanals pro Client... Das kann im schlimmsten Fall dazu führen, daß sämtlicher Traffic über eine Leitung läuft, wenn am Anfang die einzelnen Clients "nacheinander" surfen zugreifen und dabei jedesmal gleiche Leitung gewählt wird... Ab dann ist jeder Client erstmal für die "Binding-Minuten" auf die Leitung festgenagelt, d.h. wenn später alle gleichzeitig surfen, dann läuft dennoch alles über eine Leitung...

Falls es wirklich daran liegt, könntest du ja mal ausprobieren, die Leitungen zu tauschen, so daß VODAFONE auf DSL-1 und T-DSLBIZ auf DSL-2 aufbaut, denn ich vermute einfach mal, daß bei "absoluter Stille" die erste physikalsiche Leitung bevorzugt wird. ACHTUNG: Dazu mußt du ggf. neu booten, denn wichtig ist genaugenommen nicht die physikalische Leitung (DSL-1/DSL-2), sondern der logische Kanal (DSL-CH-1/DSL-CH-2), auf dem die Verbindungen aufgebaut werden, d.h. du mußt darauf achten, daß VODAFONE auf DSL-CH-1 und T-DSLBIZ auf DSL-CH-2 laufen...

BTW: Mit dem von dir vorgeschlagenen Profil kannst du die Sache an die Wand fahren... Nämlich dann, wenn du auf einer Kabelmodem-Verbindung einen Upload machst... Dann hat der Download zwar hunterte Mbit/s frei, der Upload ist aber voll und kannst du auch nichts herunterladen... (OK, du hast mit 500/50 MBit/s einen tollen Zugang, wenn ich mir aber aber z.B. Unitymedia mit 400/4 MBit/s-Anschlüssen anschaue, dann ist das ein echtes Problem)

Gruß
Backlsash
Antworten