Der NSX Edge-Load-Balancer verteilt den Netzwerkverkehr über mehrere Server, um eine optimale Ressourcennutzung zu erzielen.

Der NSX-Load-Balancer unterstützt die Schicht 4- und Schicht 7-Load-Balancer-Engines. Der Schicht 4-Load-Balancer ist Paket-basiert, der Schicht 7-Load-Balancer dagegen Socket-basiert.

Ein Paket-basiertes Load Balancing ist in der TCP- und UDP-Schicht implementiert. Das Paket-basierte Load Balancing beendet die Verbindung nicht und puffert auch nicht die gesamte Anforderung, sondern verarbeitet das Paket und sendet es direkt zum ausgewählten Server. TCP- und UDP-Sitzungen verbleiben im Load Balancer, sodass Pakete für eine einzelne Sitzung zum selben Server gesendet werden. Sie können durch Auswahl von „Beschleunigung aktivieren“ sowohl in der globalen Konfiguration wie in der Konfiguration des betreffenden virtuellen Servers das Paket-basierte Load Balancing aktivieren.

Ein Socket-basiertes Load Balancing wird auf der Grundlage der Socket-Schnittstelle implementiert. Es werden zwei Verbindungen für eine einzelne Anforderung eingerichtet: eine Verbindung mit Client-Kontakt und eine Verbindung mit Server-Kontakt. Die Verbindung mit Server-Kontakt wird nach der Serverauswahl eingerichtet. Bei einer Socket-basierten HTTP-Implementierung wird die gesamte Anforderung vor dem Senden an den ausgewählten Server mit optionaler L7-Verarbeitung empfangen. Bei einer Socket-basierten HTTPS-Implementierung werden die Authentifizierungsinformationen über die Verbindung mit Client-Kontakt oder über die Verbindung mit Server-Kontakt ausgetauscht. Das Socket-basierte Load Balancing ist der Standardmodus für virtuelle Server mit TCP-, HTTP- oder HTTPS-Protokoll.

Die zentralen Elemente des NSX-Load-Balancer sind der virtuelle Server, der Serverpool, das Serverpoolmitglied und der Dienstmonitor.

Virtueller Server

Zusammenfassender Begriff für einen Anwendungsdienst, der aus einer spezifischen Kombination von IP, Port und Protokoll (TCP oder UDP) besteht.

Serverpool

Gruppe von Backend-Servern.

Serverpoolmitglied

Stellt den Backend-Server als Mitglied in einem Pool dar.

Dienstmonitor

Definiert die Art und Weise, mit der der Systemzustand eines Backend-Servers überprüft wird.

Zunächst legen Sie globale Optionen für den Load Balancer fest. Nun erstellen Sie einen Serverpool, der aus Backend-Server-Mitgliedern besteht, und ordnen dem Pool einen Dienstmonitor zu, damit die Backend-Server effizient verwaltet und gemeinsam genutzt werden können.

Sie können dann ein Anwendungsprofil zur Definition des allgemeinen Anwendungsverhaltens in einem Load Balancer z. B. in Bezug auf Client-SSL, Server-SSL, „x-forwarded-for“ oder Persistenz definieren. Durch die Persistenz werden wiederholte Anforderungen mit demselben Merkmal (Quell-IP oder Cookie) gesendet. Diese sind Voraussetzung für das Versenden an dasselbe Poolmitglied, ohne dass der Load-Balancing-Algorithmus ausgeführt wird. Das Anwendungsprofil kann für alle virtuellen Server wiederverwendet werden.

Sie haben dann die Möglichkeit, eine Anwendungsregel zur Konfiguration anwendungsspezifischer Einstellungen für die Verarbeitung des Datenverkehrs zu erstellen, wie z. B. die notwendige Übereinstimmung mit einer bestimmten URL oder mit einem bestimmten Hostnamen, damit unterschiedliche Anforderungen von unterschiedlichen Pools verarbeitet werden. Im nächsten Schritt erstellen Sie einen Dienstmonitor, um Parameter zur Systemstatusüberprüfung für den Load Balancer zu definieren.

Wenn der virtuelle Server eine Anforderung erhält, berücksichtigt der Load-Balancing-Algorithmus die Poolmitgliedskonfiguration und den Laufzeitstatus. Der Algorithmus berechnet dann den entsprechenden Pool für die Verteilung des Datenverkehrs für ein oder mehr Mitglieder. Zur Poolmitgliedskonfiguration gehören Einstellungen wie Gewichtung, maximale Verbindung und Bedingungsstatus. Der Laufzeitstatus beinhaltet die aktuellen Verbindungen, die Antwortzeit und Informationen über den Systemstatus. Als Berechnungsmethoden stehen „Round-Robin“, „Gewichtetes Round-Robin“, „Niedrigste Verbindung“ und „Quell-IP-Hash“ zur Verfügung.

Jeder Pool wird vom zugehörigen Dienstmonitor überwacht. Wenn der Load Balancer ein Problem bei einem Poolmitglied erkennt, wird das Mitglied als ausgefallen (DOWN) markiert. Es wird nur ein UP-Server bei der Auswahl eines Poolmitglieds aus dem Serverpool ausgewählt. Wenn der Serverpool nicht mit einem Dienstmonitor konfiguriert wurde, werden alle Poolmitglieder als UP behandelt.