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