Network Load Balancing (NLB) - Grenzen
Meine Großmutter hat schon gesagt: "Was nix
kostet, kann auch nichts taugen". Die
MSXFAQ "kostet "Sie als Leser ja auch nichts
aber ich hoffe sie taugt schon. NLB ist auch
Bestandteil von Windows und kostet daher nichts
zusätzlich. Trotzdem sollten Sie genau wissen,
was Sie mit NLB erhalten und was nicht möglich
ist. Es gibt ja auch echte
LoadBalancer, die
aber nicht kostenfrei sein.
Diese Seite möchte die Aspekte von NLB im im
Vergleich zum Loadbalancer (HLB = Hardware Load
Balancer) gegenüber stellen, damit Sie jeden
Punkt individuell bewerten und letztlich die
passende Lösung finden können:
Feature |
NLB |
HLB |
- Lizenzkosten
Hierzu zähle ich nur die direkten Kosten. Also nicht die Einrichtung, Einbau, Konfiguration o.ä.
|
0€
Bestandteil
Windows Server |
1000€
bis
100.000€ |
- Verteilung
Bei NLB bekommen alle Server alle Pakete und jeder bedient "seine" Clients. Stark vereinfacht könnte man sagen, dass in einem NLB mit zwei Knoten der eine die geraden Client-IP-Adressen und der andere die ungeraden Clients bedient. Die Verteilung ist also relativ statisch und nicht zwingend "gleich". besonders kleinere Netzwerke mit wenigen Subnetzen haben oft eine unausgeglichene Lastverteilung.
Das können echte Loadbalancer besser, die sogar synthetische Abfragen ausführen können und entweder die Antwortzeit oder die Rückgabewerte interpretieren.
|
|
|
- NetzwerkUnterstützung
NLB erfordert eine entsprechende Vorarbeit bei Switches und Router. Nicht alle Switches können mit Multicast-MAC-Adressen umgehen. Router, die sich an die RFC halten, werden auch keine Multicast-MAC-Adressen in ihren ARP-Cache aufnehmen.
|
|
|
- Virtualisierung
NLB kann auch in virtuellen Maschinen genutzt werden. Allerdings erfordert dies je nach Hyper-Visor besondere Einstellungen. Und hoffentlich sind die beim nächten Update immer noch aktuell.
|
|
|
- Defekt-Erkennung, Überlasterkennung, "Verteilung"
NLB nimmt Pakete an, solange NLB gestartet ist und der IP-Stack funktioniert. Und das sagt leider überhaupt nichts über die Verfügbarkeit der Dienste bezüglich Qualität, Sinnhaftigkeit der Ergebnisse oder aktueller Belastung aus
|
|
|
- Management
Sie können NLB über die Funktionen "Start, Stop, Drainstop, Pause" steuern. Aber das sollten Sie auch aktiv tun. Sonst kann es passieren, das ein Server beim Hochfahren schon NLB startet und Pakete annimmt, obwohl die erforderlichen Dienste noch gar nicht gestartet sind oder durch ein Update noch weitere Aktionen benötigen. Sie müssen in so einem Fall aktiv die NLB-Konfiguration ändern, damit NLB "gestoppt" bleibt, bis sie die Funktionsfähigkeit geprüft haben.
Bei einem Loadbalancer kann dies recht einfach machen, indem er die Funktion prüft und erst dann die Last wieder zuweist.
|
|
|
- Monitoring
NLB überwacht keine Dienste und sieht auch keinen Grund sich zu beenden, wenn z.B. der IIS gestoppt ist. Es gibt jeder einen Alarm noch eine korrigierende Aktion. Loadbalancer können viel besser eine Störung erkennen, alarmieren aber vor allem die weiteren Zugriffe auf die verbliebenen Server verteilen.
|
|
|
- BackendLogging
Für die Fehlersuche ist es natürlich wichtig auf dem Backend die Zugriff der Clients zu analysieren. Das geht mit NLB sehr einfach mit NETMON auf allen Knoten. Sobald ein HLB ins Spiel kommt, kommt es auf dessen Konfiguration an, ob der "Transparent" arbeitet und die Client-IP bis zum Backend durchreicht, der dann als "Default Gateway" natürlich den Loadbalancer haben muss. Setzt der HLB die Zugriffe aber um (z.B.: Layer 4 NAT oder Layer 7 Proxy mit SSL-Offloading), dann sind andere Hilfsmittel erforderlich.
|
|
|
Vielleicht verstehen Sie auch ohne Ermittlung
der Kosten nun besser, warum ich eigentlich kein
Freund von NLB bin
Weitere Links