Der Lastausgleichsdienst verteilt eingehende Dienstanforderungen an mehrere Server und sorgt dabei dafür, dass die Lastverteilung für den Benutzer erkennbar ist. Der Lastausgleich ermöglicht eine optimale Ressourcennutzung, maximalen Durchsatz und minimale Antwortzeiten und verhindert gleichzeitig eine Überlastung.
Der NSX-Lastausgleichsdienst unterstützt zwei Lastausgleichsmodule. Der Ebene-4-Lastausgleich ist paketbasiert und bietet Fast-Path-Verarbeitung. Der Ebene-7-Lastausgleich ist Socket-basiert und unterstützt erweiterte Strategien zur Verwaltung des Datenverkehrs und die DDOS-Minimierung für Back-End-Dienste.
Der Lastausgleich für ein NSX Data Center for vSphere-Edge-Gateway wird in der externen Schnittstelle konfiguriert, da das Edge-Gateway den Lastausgleich für den eingehenden Datenverkehr vom externen Netzwerk durchführt. Wenn Sie virtuelle Server für den Lastausgleich konfigurieren, geben Sie eine der verfügbaren IP-Adressen an, über die Sie in Ihrem Organisations-VDC verfügen.
Strategien und Konzepte für den Lastausgleich
Eine paketbasierte Lastausgleichsstrategie wird auf der TCP- und der UDP-Ebene implementiert. Paketbasierter Lastausgleich hält die Verbindung weder an noch puffert er die gesamte Anforderung. Stattdessen sendet er das geänderte Paket direkt an den ausgewählten Server. TCP- und UDP-Sitzungen werden im Lastausgleichsdienst beibehalten, sodass Pakete für eine einzelne Sitzung an denselben Server geleitet werden. Sie können „Beschleunigung aktiviert“ sowohl in der globalen Konfiguration als auch in der entsprechenden Konfiguration des virtuellen Servers auswählen, um den paketbasierten Lastausgleich zu aktivieren.
Eine Socket-basierte Lastausgleichsstrategie wird zusätzlich zu der Socket-Schnittstelle implementiert. Es werden zwei Verbindungen für eine einzelne Anforderung eingerichtet, nämlich eine clientseitige und eine serverseitige Verbindung. Die serverseitige Verbindung wird nach der Serverauswahl eingerichtet. Bei der HTTP-Socket-basierten Implementierung wird die gesamte Anforderung vor dem Senden an den ausgewählten Server mit optionaler L7-Verarbeitung empfangen. Bei der HTTPS-Socket-Implementierung werden die Authentifizierungsinformationen entweder über die clientseitige Verbindung oder über die serverseitige Verbindung ausgetauscht. Der Socket-basierte Lastausgleich ist der Standardmodus für virtuelle TCP-, HTTP- und HTTPS-Server.
Die grundlegenden Konzepte des NSX-Lastausgleichs sind virtueller Server, Serverpool, Serverpoolmitglied und Dienstüberwachung.
- Virtueller Server
- Zusammenfassender Begriff für einen Anwendungsdienst, der durch eine eindeutige Kombination aus IP, Port, Protokoll und Anwendungsprofil wie TCP oder UDP dargestellt wird.
- Serverpool
- Gruppe von Back-End-Servern.
- Serverpoolmitglied
- Stellt den Back-End-Server als Mitglied in einem Pool dar.
- Dienstüberwachung
- Definiert, wie der Systemzustand eines Back-End-Servers untersucht wird.
- Anwendungsprofil
- Stellt die TCP-, UDP-, Persistenz- und Zertifikatkonfiguration für eine bestimmte Anwendung dar.
Übersicht über die Einrichtung
Zunächst legen Sie globale Optionen für den Lastausgleichsdienst fest. Sie erstellen nun einen Serverpool, der aus Back-End-Server-Mitgliedern besteht, und ordnen dem Pool eine Dienstüberwachung zu, damit die Back-End-Server effizient verwaltet und gemeinsam genutzt werden können.
Anschließend erstellen Sie ein Anwendungsprofil, um das allgemeine Anwendungsverhalten in einem Lastausgleichsdienst – Client-SSL, Server-SSL, X-Forwarded-For oder Persistenz – zu definieren. Bei Wahl von Persistenz werden nachfolgende Anforderungen mit ähnlichen Merkmalen gesendet – beispielsweise dass Quell-IP oder Cookie an dasselbe Poolmitglied gesendet werden müssen, ohne dass der Lastausgleichsalgorithmus ausgeführt wird. Das Anwendungsprofil kann auf allen virtuellen Servern wiederverwendet werden.
Anschließend erstellen Sie eine optionale Anwendungsregel, um anwendungsspezifische Einstellungen für die Manipulation von Datenverkehr zu konfigurieren: beispielsweise das Abgleichen eines bestimmten URL- oder Hostnamens, sodass verschiedene Anforderungen von verschiedenen Pools verarbeitet werden können. Anschließend erstellen Sie eine Dienstüberwachung speziell für Ihre Anwendung oder verwenden eine bereits vorhandene Dienstüberwachung, falls diese Ihre Anforderungen erfüllt.
Optional können Sie eine Anwendungsregel zur Unterstützung von erweiterten Funktionen virtueller L7-Server erstellen. Einige Anwendungsfälle für Anwendungsregeln beinhalten das Wechseln von Inhalten, die Kopfzeilenmanipulation, Sicherheitsregeln und DOS-Schutz.
Abschließend erstellen Sie einen virtuellen Server, der Ihren Serverpool, das Anwendungsprofil und potenzielle Anwendungsregeln miteinander verbindet.
Wenn der virtuelle Server eine Anforderung erhält, berücksichtigt der Lastausgleichsalgorithmus die Poolmitgliedskonfiguration und den Laufzeitstatus. Der Algorithmus berechnet dann den entsprechenden Pool für die Verteilung des Datenverkehrs für ein oder mehrere 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. Die Berechnungsmethoden können Round-Robin, gewichtetes Round-Robin, schwächste Verbindung, Quell-IP-Hash, gewichtete schwächste Verbindungen, URL, URI oder HTTP-Header sein.
Jeder Pool wird von der zugehörigen Dienstüberwachung überwacht. Wenn der Lastausgleichsdienst ein Problem bei einem Poolmitglied erkennt, wird das Mitglied als „Nicht erreichbar“ markiert. Beim Auswählen eines Poolmitglieds aus dem Serverpool wird nur ein Server ausgewählt, der als „Erreichbar“ gekennzeichnet ist. Wenn der Serverpool nicht mit einer Dienstüberwachung konfiguriert ist, werden alle Poolmitglieder als „Erreichbar“ betrachtet.