Vorheriges Thema: HALB - HTTP-LastenausgleichNächstes Thema: PS8: Skalierbarer Port-Schalter


L3LB: TCP/UDP-Lastenausgleich

Aktuelle Version: 3.0.3-1

L3LB - TCP/UDP-Lastenausgleich

Auf einen Blick

Katalog

System

Kategorie

Schalter

Benutzer-Volumes

no

Min. Speicher

96M

Betriebssystem

Linux

Einschränkungen

no

Funktionsübersicht

L3LB ist ein Schalter für die Verteilung von eingehenden TCP-/UDP-Sitzungen an Server des gleichen oder eines anderen Typs. Die TCP-Lastenausgleichsfunktionalität basiert auf dem HAProxy TCP/HTTP-Lastenausgleichs-Softwarepaket; der UDP-Lastenausgleich basiert auf Netfilter.

L3LB nimmt den Lastenausgleich für den eingehenden Datenverkehr anhand verschiedender Algorithmen vor. Beim TCP-Datenverkehr führt L3LB einen einfachen Lastenausgleich anhand eines Roundrobin-Verfahrens durch und gleicht die Last für die Backend-Server aus. Bei TCP unterstützt L3LB auch permanente Sitzungen, bei denen der Client durch Verwendung der Anfrage-Quell-IP-Adresse als Schlüssel an einen bestimmten Backend-Server gebunden wird. Beim UDP-Datenverkehr verwendet L3LB den Roundrobin-Algorithmus (dies ist der einzige für den UDP-Datenverkehr verfügbare Algorithmus).

L3LB überwacht regelmäßig den Status aller Backend-Server. Im TCP-Modus umfassen die von L3LB durchgeführten Systemintegritätsprüfungen einen einfachen TCP-Verbindungscheck. Im Falle eines von L3LB mithilfe der parametrisierten Systemintegritätsprüfungs-Methode entdeckten Serverfehlers, schaltet L3LB den Datenverkehr auf einen alternativen Server um. Wenn der fehlgeschlagene Server schließlich wieder funktionsbereit ist, kann L3LB den Datenverkehr wieder auf diesen Server zurückschalten. Im UDP-Modus wird ein ICMP-Ping verwendet, um die Verfügbarkeit eines Backend-Servers zu überprüfen.

L3LB stellt eine Webservice-Schnittstelle auf seinem ctl-Terminal bereit. Diese Schnittstelle ermöglicht dem Benutzer, die Ausgabe-Terminals out1 bis out8 zu aktivieren und zu deaktivieren und den Status aller Terminals abzurufen. Dies ist dann nützlich, wenn ein Backend-Fehler (d.h. in einer Datenbank- oder Speicher-Appliance) vorliegt, sodass die Anwendung selbst automatisch Datenverkehr zu einer bestimmten Gruppe von Servern deaktivieren kann. In diesem Fall ist L3LB nicht in der Lage, diesen Fehlertyp zu erkennen; daher muss die Anwendung diesen Fehler entdecken und den entsprechenden Satz an Backend-Servern deaktivieren.

L3LB arbeitet sehr schnell und mit sehr wenig Ressourcen. Unter normalen Bedingungen benötigt L3LB ca. 25 KB Speicher für jede Sitzung oder 1 GB für 40000 gleichzeitige Sitzungen und bearbeitet bis zu 6000 Anfragen pro Sekunde.

Ressourcen

Ressource

Minimum

Maximum

Standard

CPU

0.1

16

0.4

Speicher

96 MB

32 GB

96 MB

Bandbreite

1 Mbit/s

2 Gbit/s

250 Mbit/s

Die Speichermenge, die L3LB zugewiesen wird, hat keinen Einfluss auf den Durchsatz oder die Antwortzeit. L3LB ist eine an die CPU/Bandbreite gebundene Appliance.

Terminals

Name

dir

Protokoll

description

in

in

Alle

Häufige Eingabe. An in gesendete TCP-Anfragen werden zu einer der Ausgaben weitergeleitet, die entweder mithilfe des Roundrobin-Prinzips oder anhand quellenbasierter Sitzungsinformationen ausgewählt wird.

ctl

in

HTTP

Steuer-Terminal, das zum Aktivieren/Deaktivieren der Ausgaben und zum Abrufen des Ausgabe-Terminal-Status dient.

out1-out8

out

Alle

Ausgeglichene Ausgaben. Jede dieser Ausgaben kann ohne Verbindung bleiben; der Datenverkehr wird nur an verbundene, aktivierte Ausgaben verteilt. Standardmäßig werden alle Terminals aktiviert.

mon

out

CCE

Wird verwendet, um Leistungs- und Ressourcenverwendungsstatistik zu senden.

Eigenschaften

Allgemeine Eigenschaften

Name

Typ

Beschreibung

mode

String

Gibt die Betriebsart an. Gültige Werte sind:
tcp_roundrobin - Eingehende TCP-Sitzungen werden über alle verbundenen und aktivierten Backend-Server in einem Roundrobin-Verfahren verteilt.
tcp_source - Die Quell-IP-Adresse der TCP-Anfrage wird verwendet, um die Sitzung an einen bestimmten Backend-Server zu binden.
udp_roundrobin - L3LB funktioniert in UDP-Lastenausgleichsmodus.
Standard: tcp_roundrobin.

ports

String

Eine mit Leerzeichen oder Kommas getrennte Liste von Ports und Port-Bereichen, die L3LB an Backend-Server weiterleitet. Port-Bereiche werden durch "lower_port:higher_port" mit einem Bindestrich ("-") oder Doppelpunkt (":") als Trennzeichen angegeben. Beispiel: 80,81,90-99 110:120 140 141. Datenverkehr, der an einem nicht spezifizierten Port empfangen wird, wird verworfen.
Standard: 80

max_connections

Ganzzahl

Die größtmögliche Anzahl von gleichzeitig aktiven Verbindungen, die L3LB verarbeiten kann. Wenn diese Zahl erreicht wird, werden neue Verbindungen noch akzeptiert, aber ihre Verarbeitung wird aufgeschoben, bis eine andere Verbindung geschlossen wird. Beim Appliance-Start bestimmt L3LB basierend auf dem verfügbaren Speicher automatisch die größtmögliche Anzahl von Verbindungen, vergleicht sie mit dem Wert dieser Eigenschaft und verwendet den niedrigsten Wert. Wenn diese Eigenschaft 0 ist, wird der berechnete Wert verwendet. Beachten Sie, dass weder der verfügbare Speicher noch eine ausdrückliche Einstellung dieser Eigenschaft eine direkte Auswirkung auf den Durchsatz des Lastenausgleichsmoduls oder dessen maximale Anfragenrate haben - wenn eine niedrige Zahl festgelegt wird (bzw. wenig Speicherplatz vorhanden ist), hat dies nur dann Auswirkungen auf die Antwort, wenn die Backend-Server langwierige Vorgänge für jede Anfrage ausführen (z. B. Datenbanksuchen) und dadurch viele Anfragen gleichzeitig geöffnet bleiben. Diese Eigenschaft ist nur zulässig für tcp_roundrobin- und tcp_source-Betriebsmodi.
Standard: 0

backup_outputs

String

Eine leerzeichen- oder kommagetrennte Liste der Ausgaben (out1 - out8), die als Sicherungsserver betrachtet werden. Ausgabe-Bereiche (out1-out3) werden NICHT unterstützt. Der Datenverkehr wird nur an die Sicherungsserver geleitet, wenn kein Backend-Server verfügbar ist. Der Zweck dieser Sicherungsserver besteht darin, den Clients mitzuteilen, dass ein Problem besteht, oder sie umzuleiten, anstatt Fehler von nicht verfügbaren Backend-Servern auszugeben oder das Zeitlimit zu überschreiten. Beispiel: out1,out2,out3. Ist dies leer, werden keine Sicherungsserver verwendet.
Standard: "" (keine Sicherungsserver werden verwendet).

Eigenschaften der Systemintegritätsprüfung

Eine einfache TCP-Verbindung zum ersten in der ports-Eigenschaft angegebenen Port wird für die tcp_roundrobin- und tcp_source-Betriebsmodi verwendet. Für den udp_roundrobin-Betriebsmodus wird immer ein ICMP-Ping verwendet.

Name

Typ

Beschreibung

healthcheck_interval

Int.

Intervall zwischen Systemintegritätsprüfungen (in Sekunden angegeben). Es wird keine Systemintegritätsprüfung ausgeführt, wenn diese Eigenschaft 0 ist.
Standard: 20

Zeitüberschreitungseigenschaften

Diese Eigenschaften sind nur zulässig für tcp_roundrobin- und tcp_source-Betriebsmodi.

Name

Typ

Beschreibung

client_timeout

Int.

Zeitlimit in Sekunden für das Warten auf die Anfrage von einem Client, nachdem die Verbindung hergestellt wurde.
Standard: 150.

server_timeout

Int.

Zeitlimit in Sekunden für das Warten auf eine Antwort von einem Backend-Server, nachdem die Verbindung hergestellt wurde.
Standard: 150.

conn_timeout

Int.

Zeitlimit in Sekunden für das Herstellen einer TCP-Verbindung innerhalb von L3LB durch eins seiner Terminals (dies umfasst die Systemintegritätsprüfungen). Beachten Sie Folgendes: Wenn bei L3LB eine hohe Netzwerklast herrscht, tritt für die Systemintegritätsprüfungen u. U. eine Zeitüberschreitung auf, sofern diese Einstellung auf einen sehr niedrigen Wert eingestellt ist (in solchen Fällen beginnt L3LB, Ausgaben zu deaktivieren, was zu unerwarteten Anwendungsvorgängen führen kann). Es wird nicht empfohlen, eine Zeit von weniger als 20 Sekunden festzulegen.
Standard: 20.

Webservice-Schnittstelleneigenschaften

Name

Typ

Beschreibung

ctl_port

Int.

Port, der verwendet wird, um auf die Webdienst-Steuerschnittstelle über das Terminal "ctl" zuzugreifen.
Standard: 80.

Benutzerdefinierte Zähler

Die L3LB-Appliance meldet die folgenden benutzerdefinierten Zähler durch das mon-Terminal.

Die folgenden Zähler gehören zur L3LB-Zählergruppe: X kann einen Wert zwischen 1 und 8 haben.

Zählername

Beschreibung

outX_status

Status des Ausgabe-Terminals outX: 0 - aktiviert und wird ausgeführt, 1 - aktiviert und wird nicht ausgeführt, 100 - Verbindung getrennt

outX_queue

Anzahl der in der Warteschlange befindlichen Anfragen für Terminal outX. Dieser Zähler wird nicht ausgegeben, solange der udp_roundrobin-Modus aktiv ist.

outX_queue_max

Historisches Maximum der gleichzeitig in der Warteschlange vorhandenen Anfragen für Terminal outX. Dieser Zähler wird nicht ausgegeben, solange der udp_roundrobin-Modus aktiv ist.

outX_sessions

Anzahl der aktiven Sitzungen für Terminal outX.

outX_sessions_max

Maximale Anzahl aktiver gleichzeitiger Sitzungen für Terminal outX.

outX_sessions_total

Anzahl der abgeschlossenen Sitzungen für Terminal outX. Dieser Zähler wird nicht ausgegeben, solange der udp_roundrobin-Modus aktiv ist.

outX_errors

Anzahl der fehlgeschlagenen Systemintegritätsprüfungen für Terminal outX.

queue

Aktuelle Warteschlangenlänge, kumulativ für out1 bis out8. Dieser Zähler wird nicht ausgegeben, solange der udp_roundrobin-Modus aktiv ist.

queue_max

Historisches Maximum der gleichzeitig in der Warteschlange vorhandenen Anfragen, kumulativ für out1 bis out8. Dieser Zähler wird nicht ausgegeben, solange der udp_roundrobin-Modus aktiv ist.

sessions_active

Anzahl der aktiven Sitzungen, kumulativ für out1 bis out8.

sessions_max

Historische Höchstzahl aktiver Sitzungen, kumulativ für out1 bis out8.

sessions_total

Anzahl der abgeschlossenen Sitzungen, kumulativ für out1 bis out8. Dieser Zähler wird nicht ausgegeben, solange der udp_roundrobin-Modus aktiv ist.

errors

Gesamtzahl der fehlgeschlagenen Systemintegritätsprüfungen, kumulativ für out1 bis out8.

Leistung

Anforderungsrate

L3LB leitet nicht weniger als 6000 Transaktionen (Anfrage/Antwort-Paare) pro Sekunde weiter, abhängig von Dokumentgröße und verfügbarer Netzwerkbandbreite.

Datendurchsatz

L3LB leitet nicht weniger als 15 MB/Sekunde weiter.

Gleichzeitige Verbindungen

L3LB unterstützt nicht weniger als 2000 gleichzeitig ausstehende Anfragen. (Eine ausstehende Anfrage ist eine offene TCP-Verbindung vom Client, auf der ein oder mehr unvollständige TCP-Sitzungen vorhanden sind). Die Höchstzahl gleichzeitiger Verbindungen hängt vom verfügbaren freien Speicher ab und kann bis zu 40000 betragen. Bei Tests hat L3LB mehr als 15000 gleichzeitige aktive Übertragungen unterstützt.

Fehlermeldungen

Im Fall von Appliance-Startfehlern können die folgenden Fehler im Systemprotokoll protokolliert werden:

Fehlermeldung

Beschreibung

Fehler: Appliance-Speicherkonfiguration kann nicht ermittelt werden, wenden Sie sich an den Support von CA Technologies.

Der verfügbare Speicher konnte von L3LB nicht ermittelt werden; wenden Sie sich an den Support von CA.

Fehler: Die HAProxy-Konfigurationsdatei konnte nicht erstellt werden, wenden Sie sich an den Support von CA Technologies.

L3LB konnte die HAProxy-Konfigurationsdatei nicht erstellen; wenden Sie sich an den Support von CA (Ursache ist möglicherweise geringer Festplatten-Speicherplatz).

Fehler: Die Anzahl verfügbarer CPUs konnte nicht ermittelt werden; wenden Sie sich an den Support von CA Technologies.

Die Anzahl verfügbarer CPUs konnte von L3LB nicht ermittelt werden; wenden Sie sich an den Support von CA.

Fehler: ungültiger Betriebsmodus angegeben

Ungültiger angegebener Modus, er sollte "tcp_roundrobin", "tcp_source" oder "udp_roundrobin" lauten.

Fehler: ctl_port-Wert muss zwischen 1 und 65535 liegen.

ctl_port-Wert muss größer als 1 und kleiner als 65535 sein.

Fehler: Fehler beim Starten von L3LB; Details finden Sie in der Protokolldatei '/var/log/appliance/log'.

Während des Startens von L3LB ist ein Systemfehler aufgetreten; wenden Sie sich an den Support von CA.

Fehler: Die Webservice-Steuerungsschnittstelle konnte nicht initialisiert werden; wenden Sie sich an den Support von CA Technologies.

Während der Initialisierung der Webservice-Steuerungsschnittstelle am Terminal ctl ist ein Systemfehler aufgetreten; wenden Sie sich an den Support von CA Technologies.

Fehler: Statistikberichterstellung konnte nicht initialisiert werden, wenden Sie sich an den Support von CA-Technologies.

Während der Initialisierung der Statistikberichterstellung ist ein Systemfehler aufgetreten; wenden Sie sich an den Support von CA Technologies.

Fehler: Das Benutzeroberflächen-Terminal konnte nicht initialisiert werden; wenden Sie sich an den Support von CA Technologies.

Während der Initialisierung der grafischen Benutzeroberfläche am Terminal ui ist ein Systemfehler aufgetreten; wenden Sie sich an den Support von CA Technologies.

Übersicht

Eine Webservice-Steuerungsschnittstelle wird am Terminal ctl (am konfigurierten Port) verfügbar gemacht, damit die Ausgabe-Terminals (out1 - out8) aktiviert und deaktiviert werden können und der aktuelle Terminalstatus abgerufen werden kann.

Protokoll

Das Protokoll verwendet nur die HTTP-Methode GET, da es nur über Lesefunktionen verfügt. So kann jeder unterstützte Protokollanfragetyp über seine URI und die Ausgabestruktur definiert werden. Zeichen, die im URI als Sonderzeichen gelten, sollten mit der %-Standardkodierung gekennzeichnet werden.

Es folgt eine Beschreibung aller unterstützten URLs.

Steuerungsaufrufe

Deaktivieren der Ausgabe-Terminals

Es gibt zwei verschiedene Formate des Steuerungsaufrufs "disable", die davon abhängig sind, wie das Ausgabe-Terminal identifiziert wird:

Anfrage: /api/disable?channel=out3 (deaktiviert das Ausgabe-Terminal out3)

Anfrage: /api/disable?10.11.12.13 (deaktiviert das Ausgabe-Terminal, das mit dem Webserver mit der IP-Adresse von 10.11.12.13 verbunden ist)

Antwort:

L3LB gibt die folgende Struktur mit einem Statuscode und einer optionalen Statusmeldung zurück:

{
   "status" :
   {
   "code": code_value,
   "message": "status_message"
   }
}

Mögliche Statuscodewerte werden unten aufgeführt:

Codewert

Beschreibung

0

Operation war erfolgreich, Terminal wurde deaktiviert.

10

Operation war nicht erfolgreich, L3LB-Konfiguration wurde nicht geändert. Die wahrscheinlichsten Ursachen hierfür sind, dass das Terminal bereits deaktiviert ist oder dass die angegebene IP-Adresse ungültig ist.

100

Während der Verarbeitung der Anfrage ist ein Fehler aufgetreten, nähere Angaben sind in der Statusmeldung verfügbar.

Aktivieren der Ausgabe-Terminals

Es gibt zwei verschiedene Formate des Steuerungsaufrufs "enable", die davon abhängig sind, wie das Ausgabe-Terminal identifiziert wird:

Anfrage: /api/enable?channel=out3 (aktiviert das Ausgabe-Terminal out3)

Anfrage: /api/enable?10.11.12.13 (aktiviert das Ausgabe-Terminal, das mit dem Webserver mit der IP-Adresse von 10.11.12.13 verbunden ist)

Antwort:

L3LB gibt die folgende Struktur mit einem Statuscode und einer optionalen Statusmeldung zurück:

{
   "status" :
   {
   "code": code_value,
   "message": "status_message"
   }
}

Mögliche Statuscodewerte werden unten aufgeführt:

Codewert

Beschreibung

0

Operation war erfolgreich, Terminal wurde aktiviert.

10

Operation war nicht erfolgreich, L3LB-Konfiguration wurde nicht geändert. Die wahrscheinlichsten Ursachen hierfür sind, dass das Terminal bereits aktiviert ist oder dass die angegebene IP-Adresse ungültig ist.

100

Während der Verarbeitung der Anfrage ist ein Fehler aufgetreten, nähere Angaben sind in der Statusmeldung verfügbar.

Abrufen des Status der Ausgabe-Terminals

Anfrage: /api/status (gibt den Status von allen Ausgabe-Terminals zurück)

Antwort:

L3LB gibt die folgende Struktur mit einem Statuscode und einer optionalen Statusmeldung zurück:

{
   "status" :
   {
   "code": code_value,
   "message": "status_message",
   "terminal_id": "terminal_state",
   "terminal_id": "terminal_state",
   ...
   }
}

Der Status wird nur für alle verbundenen Terminals zurückgegeben; der Status für deaktivierte und nicht verbundene Terminals wird nicht gemeldet.

Mögliche Statuscodewerte werden unten aufgeführt:

Codewert

Description

0

Operation war erfolgreich.

100

Während der Verarbeitung der Anfrage ist ein Fehler aufgetreten, nähere Angaben sind in der Statusmeldung verfügbar.

Mögliche Terminal-Werte sind out1 bis out8.

Mögliche Statuswerte sind:

Statuswert

Description

up

Das Terminal ist verbunden und aktiv.

down

Terminal ist inaktiv. Der Webserver, der mit diesem Terminal verbunden ist, ist entweder ausgefallen oder hat die L3LB-Systemintegritätsprüfung nicht bestanden.

Eine Beispielstatusausgabe:

{
   "status" :
   {
   "code": 0,
   "message": "",
   "out1": "up",
   "out2": "up",
   "out3": "down",
   "out4": "up",   
   }
Lastenausgleich der Webmail-Cluster

E-Mails sind ein wichtiger Teil der heutigen Geschäftsprozesse geworden, daher müssen Webmail-Cluster 7 Tage die Woche 24 Stunden täglich verfügbar sein . Das Beispiel unten zeigt, wie HALB und L3LB gemeinsam zum Lastenausgleich und zur Verbesserung der Verfügbarkeit von Webmail- und SMTP-Servern verwendet werden. Im Fall von Fehlern können Server die Ausgaben von HALB oder L3LB über die ctl-Schnittstelle deaktivieren. Der L3LB-Modus "tcp_roundrobin" wird in diesem Fall verwendet.

Lastenausgleich der Anwendungsserver

Selten verarbeitet eine moderne Website nur statischen Inhalt. Üblicherweise treten viele Verarbeitungsschritte auf der Serverseite auf. Dieses Beispieldiagramm zeigt eine Möglichkeit auf, einen Lastenausgleich für einen ununterbrochenen Zugriff von einem Cluster von Webservern auf eine Reihe von Anwendungsservern durchzuführen (Apache Tomcat in diesem Fall). Der Betriebmodus "tcp_source" sichert eine ordnungsgemäße Webserver-zu-Anwendungsserver-Sitzungsunterstützung.

Lastenausgleich der Anwendungsserver

Lastenausgleich der Voice-over-IP-Services

Gewöhnliche Voice-Over-IP-Protokolle verwenden UDP als Hauptprotokoll; der Lastenausgleich für diesen Datenverkehr ist eine wichtige Aufgabe für die einfache Skalierung eines VoIP-Clusters. In diesem Beispiel wird die udp_roundrobin-Betriebsart verwendet.

Lastenausgleich der Voice-over-IP-Services

Hinweise

In der Appliance verwendete Open-Source- und Drittanbieter-Software

L3LB verwendet zusätzlich zu den Drittanbieter-Open-Source-Paketen der jeweiligen Basisklasse LUX6 die folgenden Drittanbieter-Open-Source-Pakete.

Software

Version

Geändert

Lizenz

Hinweise

haproxy

1.4.9

Nein

GPLv2

homepage

libxml2

2.7.6-8.el6_3.3

Nein

MIT

N/A

php-thttpd

2.25b

Nein

BSD

N/A

iptables

1.4.7-5.1.el6_2

Nein

GPLv2

homepage

Basisklasse

Das Appliance-Image "LUX6" wird als Basisklasse für die Appliance "L3LB" verwendet.

Klassen-Volumes

Keine Datenträger-Größenänderung wird benötigt; L3LB verwendet die für die Basisklasse LUX6 definierten Standards.

Inhalte des Verzeichnisses L3LB

Die L3LB-Software wird in der Unterstruktur /appliance installiert.

Pakete

Die folgenden Standardpakete (von der offiziellen Spiegelkopie) werden installiert:

Zusätzlich werden die folgenden benutzerdefinierten Pakete installiert (Quellen eingeschlossen).

Inhalte des Versionsverzeichnisses:

Exportiertes Appliance-Image:

Quellen:

Tests (siehe der Testplan "CatSwitchesL3LBTp" und die Versionshinweise "CatSwitchesL3LBRelNotes"):

Funktionsweise

L3LB nutzt einen einzigen Hintergrundservice - die Lastenausgleichskomponente HAProxy TCP/HTTP (http://haproxy.1wt.eu). Zum tcp-Lastenausgleich wird nur die TCP-Betriebsart aktiviert.

Eine Reihe von Listenern und Backends werden in der haproxy.cfg-Konfigurationsdatei definiert, die vom appliance.sh-Skript beim Appliance-Start mithilfe der konfigurierten Eigenschaftswerte erstellt wird. Ein Listener wird für das in-Terminal erstellt und für den gesamten eingehenden Netzwerkverkehr verwendet, für den ein Lastenausgleich durchgeführt werden muss. Ein anderer Listener wird auf der ui-Schnittstelle zum Exportieren der Statistik-GUI an Benutzer erstellt. Ein zusätzlicher Listener wird auf der internen Loopback-Schnittstelle lo0 erstellt, um die Laufzeitstatistik zu extrahieren und über sie über das mon-Terminal zu melden. Jedes verbundene outX-Terminal wird als Backend definiert, bei dem eingehender Datenverkehr weitergeleitet werden kann.

Der Listener auf dem in-Terminal erhält eine HTTP-Anfrage und ändert je nach Betriebsart den Cookie im passiven, Einfüge- und Synchronisationsmodus. Die Anfrage wird dann an einen der Backend-Server weitergeleitet. Wenn eine vorhandene Sitzung für diese Anfrage besteht, wird sie für alle früheren Anfragen an den gleichen Backend-Server weitergeleitet. Wenn es keine vorhandene Sitzung für diese Anfrage gibt, wird der Backend-Server durch Round-Robin ausgewählt. Die Antwort vom Server wird erneut möglicherweise geändert und zurück an den Client weitergeleitet.

Konfiguration

Die Konfigurationsdatei für HAProxy wird beim Start vom appliance.sh-Initialisierungsskript generiert. Sie verwendet die in /etc/applogic.sh definierten Eigenschaften zum Erstellen einer /appliance/haproxy.cfg-Konfigurationsdatei. Eine Reihe zusätzlicher Eigenschaften, die zur Startzeit berechnet werden, werden in die Konfigurationsdatei geschrieben (ulimit-n, nbproc, bind address).

Protokolldateien

Die Anfragenprotokollierung ist in L3LB deaktiviert, nur kritische Fehler werden im Systemprotokoll berichtet (ansonsten gibt es keine Protokollierung).

Hinweise

In der Appliance verwendete Open-Source- und Drittanbieter-Software

L3LB verwendet zusätzlich zu den Drittanbieter-Open-Source-Paketen der jeweiligen Basisklasse LUX6 die folgenden Drittanbieter-Open-Source-Pakete.

Software

Version

Geändert

Lizenz

Hinweise

haproxy

1.4.9

Nein

GPLv2

homepage

php-thttpd

2.25b

Nein

BSD

N/A

libipt_statistic

1.3.5-1.2.1

Nein

GPLv2

homepage

iptables

1.3.5-5.3.el5_4

Nein

GPLv2

homepage