Kapitel 3. Einrichten des Load Balancer Add-Ons

Das Load Balancer Add-On besteht aus zwei grundlegenden Gruppen: die LVS-Router und die realen Server. Um die Entstehung eines Single Point of Failure zu vermeiden, sollte jede Gruppe mindestens zwei Systeme umfassen.
Die LVS-Routergruppe sollte aus zwei identischen oder sehr ähnlichen Systemen bestehen, auf denen Red Hat Enterprise Linux läuft. Eines der Systeme agiert als aktiver LVS-Router, während das andere im Bereitschaftsmodus bleibt, weshalb beide über etwa dieselben Spezifikationen verfügen sollten.
Bevor Sie die Hardware für die Gruppe der realen Server auswählen und konfigurieren, entscheiden Sie sich für eine der drei Load Balancer Add-On Topologien.

3.1. Das NAT Load Balancer Add-On Netzwerk

Die NAT-Topologie ermöglicht einen größeren Spielraum bei der Verwendung vorhandener Hardware, ist jedoch eingeschränkt in dessen Fähigkeit zur Handhabung großer Arbeitslasten, da alle Pakete auf ihrem Weg in den Pool oder aus dem Pool den Load Balancer Add-On Router durchqueren müssen.
Netzwerkaufbau
Die Topologie für das Load Balancer Add-On mit NAT-Routing ist im Hinblick auf den Netzwerkaufbau am einfachsten zu konfigurieren, da nur ein Zugangspunkt zum öffentlichen Netzwerk benötigt wird. Die realen Server senden alle Anfragen zurück über den LVS-Router, befinden sich also in ihrem eigenen, privaten Netzwerk.
Hardware
Die NAT-Topologie ist im Hinblick auf die Hardware am flexibelsten, da es sich bei den realen Servern nicht um Linux-Rechner handeln muss. In einer NAT-Topologie benötigt jeder reale Server nur eine NIC, da er nur mit dem LVS-Router kommuniziert. Die LVS-Router dagegen benötigen jeweils zwei NICs, um den Datenverkehr zwischen den Netzwerken hin- und herzuleiten. Da diese Topologie einen Engpass am LVS-Router verursacht, können Gigabit-Ethernet-NICs auf jedem LVS-Router eingesetzt werden, um die Bandbreite der LVS-Router zu erhöhen. Falls Gigabit-Ethernet auf den LVS-Routern eingesetzt wird, muss jeder Switch, der die realen Server mit den LVS-Routern verbindet, mindestens über zwei Gigabit-Ethernet-Ports verfügen, um die Last effizient zu handhaben.
Software
Da die NAT-Topologie die Verwendung von iptables für einige Konfigurationen erfordert, ist unter Umständen einiges an Software-Konfiguration außerhalb des Piranha-Konfigurationstools nötig. Insbesondere FTP-Dienste und die Verwendung von Firewall-Markierungen erfordern eine zusätzliche, manuelle Konfiguration der LVS-Router, um Anfragen ordnungsgemäß weiterzuleiten.

3.1.1. Konfigurieren von Netzwerkschnittstellen für Load Balancer Add-On mit NAT

Um das Load Balancer Add-On mit NAT einzurichten, müssen Sie zunächst die Netzwerkschnittstellen für das öffentliche Netzwerk und das private Netzwerk auf den LVS-Routern einrichten. In diesem Beispiel befinden sich die öffentlichen Schnittstellen des LVS-Routers (eth0) auf dem Netzwerk 192.168.26/24 (dies ist keine routbare IP, gehen Sie jedoch von einer Firewall vor dem LVS-Router aus). Die privaten Schnittstellen, die mit den realen Servern verbinden (eth1), befinden sich auf dem Netzwerk 10.11.12/24.

Wichtig

Beachten Sie, dass die folgenden Dateien zum network-Dienst gehören und dass das Load Balancer Add-On nicht kompatibel ist mit dem NetworkManager-Dienst.
Auf dem aktiven oder primären LVS-Routerknoten kann das Netzwerkskript der öffentlichen Schnittstelle, /etc/sysconfig/network-scripts/ifcfg-eth0, etwa wie folgt aussehen:
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.26.9
NETMASK=255.255.255.0
GATEWAY=192.168.26.254
Das Netzwerkskript /etc/sysconfig/network-scripts/ifcfg-eth1 für die private NAT-Schnittstelle auf dem LVS-Router könnte etwa wie folgt aussehen:
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.11.12.9
NETMASK=255.255.255.0
In diesem Beispiel lautet die VIP für die öffentliche Schnittstelle des LVS-Routers 192.168.26.10 und die VIP für die NAT- oder private Schnittstelle lautet 10.11.12.10. Somit ist es unumgänglich, dass die realen Server ihre Anfragen zurück an die VIP für die NAT-Schnittstelle leiten.

Wichtig

Die beispielhaften Konfigurationseinstellungen der Ethernet-Schnittstelle in diesem Abschnitt sind für die realen IP-Adressen eines LVS-Routers und nicht für die Floating-IP-Adressen. Um die öffentlichen und privaten Floating-IP-Adressen zu konfigurieren, sollte der Administrator das Piranha-Konfigurationstool verwenden, wie in Abschnitt 4.4, »GLOBAL SETTINGS« und Abschnitt 4.6.1, »Der Unterabschnitt VIRTUAL SERVER« beschrieben.
Konfigurieren Sie nach den Netzwerkschnittstellen des primären LVS-Routerknotens nun die realen Netzwerkschnittstellen des Backup-LVS-Routers. Vergewissern Sie sich dabei, dass keine der IP-Adressen mit anderen IP-Adressen auf dem Netzwerk kollidiert.

Wichtig

Stellen Sie sicher, dass jede Schnittstelle auf dem Backup-Knoten demselben Netzwerk angehört wie die Schnittstelle auf dem primären Knoten. Falls beispielsweise eth0 auf dem primären Knoten mit dem öffentlichen Netzwerk verbindet, muss eth0 auf dem Backup-Knoten ebenfalls mit dem öffentlichen Netzwerk verbinden.

3.1.2. Routing auf den realen Servern

Das wichtigste bei der Konfiguration der Netzwerkschnittstellen für die realen Server in einer NAT-Topologie ist die Einstellung des Gateways für die NAT-Floating-IP-Adresse des LVS-Routers. In diesem Beispiel lautet diese Adresse 10.11.12.10.

Anmerkung

Sobald die Netzwerkschnittstellen auf den realen Servern aktiv sind, werden sich die Rechner nicht mehr auf andere Weise mit dem öffentlichen Netzwerk verbinden oder es anpingen können. Dies ist normal. Sie können jedoch die reale IP-Adresse für die private Schnittstelle des LVS-Routers anpingen, in diesem Fall 10.11.12.9.
Die Datei /etc/sysconfig/network-scripts/ifcfg-eth0 des realen Servers sollte also etwa wie folgt aussehen:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.11.12.1
NETMASK=255.255.255.0
GATEWAY=10.11.12.10

Warnung

Falls ein realer Server mehr als eine Netzwerkschnittstelle mit der Zeile GATEWAY= konfiguriert hat, wird die Netzwerkschnittstelle, die als erstes aktiv wird, das Gateway erhalten. Falls sowohl eth0 als auch eth1 konfiguriert sind und eth1 für das Load Balancer Add-On verwendet wird, könnten Anfragen von den realen Servern infolgedessen unter Umständen nicht korrekt geroutet werden.
Es empfiehlt sich, überflüssige Netzwerkschnittstellen zu deaktivieren, indem Sie in deren Netzwerkskript im Verzeichnis /etc/sysconfig/network-scripts/ die Option ONBOOT=no angeben. Andernfalls sollten Sie sicherstellen, dass das Gateway korrekt konfiguriert ist in derjenigen Schnittstelle, die zuerst aktiviert wird.

3.1.3. Aktivieren von NAT-Routing auf den LVS-Routern

In einer einfachen Load Balancer Add-On Konfiguration mit NAT, in der jeder geclusterte Dienst nur einen Port verwendet, wie z. B. HTTP auf Port 80, muss der Administrator lediglich die Paketweiterleitung auf den LVS-Routern aktivieren, damit die Anfragen ordnungsgemäß zwischen den realen Servern und dem öffentlichen Netzwerk geroutet werden. In Abschnitt 2.5, »Aktivieren der Paketweiterleitung« finden Sie Anweisungen zum Aktivieren der Paketweiterleitung. Wenn die geclusterten Dienste jedoch erfordern, dass mehr als ein Port während derselben Benutzersitzung an denselben realen Server geleitet wird, sind mehr Konfigurationsschritte erforderlich. Weitere Informationen über das Erstellen von Multi-Port-Diensten mithilfe von Firewall-Markierungen finden Sie in Abschnitt 3.4, »Multi-Port-Dienste und Load Balancer Add-On«.
Nachdem die Weiterleitung auf den LVS-Routern aktiviert wurde und die realen Server eingerichtet sind und die geclusterten Dienste ausführen, verwenden Sie das Piranha-Konfigurationstool zur Konfiguration des Load Balancer Add-Ons wie in Kapitel 4, Konfigurieren des Load Balancer Add-Ons mit dem Piranha-Konfigurationstool beschrieben.

Warnung

Konfigurieren Sie die Floating-IP für eth0:1 oder eth1:1 nicht durch manuelles Bearbeiten von Netzwerkskripten oder mit einem Netzwerkkonfigurationstool. Verwenden Sie stattdessen das Piranha-Konfigurationstool, wie in Abschnitt 4.4, »GLOBAL SETTINGS« und Abschnitt 4.6.1, »Der Unterabschnitt VIRTUAL SERVER« beschrieben.
Wenn Sie fertig sind, starten Sie den pulse-Dienst wie in Abschnitt 4.8, »Starten des Load Balancer Add-Ons« beschrieben. Sobald pulse läuft, beginnt der aktive LVS-Router mit der Weiterleitung von Anfragen an den Pool der realen Server.