E-Mail wurde erfolgreich versandt.

Lastverteilung mit STRATO Load Balancing

Dieser Artikel behandelt Server der C-/D-Klasse. Die Klasse wird durch den Produktnamen identifiziert. Informationen zu den verschiedenen Serverklassen finden Sie in folgendem Artikel:
https://www.strato.de/faq/server/erste-schritte-mit-ihrem-strato-server/


In diesem Artikel bieten wir Ihnen eine Anleitung zum STRATO Load Balancing.

Inhaltsverzeichnis
Einführung
Vorbereitungen
Bestellung im STRATO Server-Login
Konfiguration im STRATO Server-Login
Hinzufügen von Servern zum Realserver-Pool
Anlegen eines Dienstes
DNS einrichten
Konfiguration auf den Realservern
Einrichten der Netzwerkschnittstelle
Einrichten der Netzwerkschnittstelle unter Debian GNU/Linux
Installation und Konfiguration der Webserver-Dienste

Einführung

STRATO Load Balancing bietet die Möglichkeit eine Lastverteilung auf zwei oder mehrere Server einzurichten. Die Lastverteilung ermöglicht Ihnen ein- und ausgehenden Netzwerkverkehr über den STRATO Loadbalancer zu leiten. Dieser verteilt den Traffic je nach Gewichtung auf die am Load Balancing teilnehmenden Server.

Vorbereitungen

Um ein Loadbalancing einzurichten, benötigen Sie

  • mindestens zwei dedizierte Server (Root Server Linux/Windows) oder ein ServerCloud Paket
  • ein Load Balancing Paket M oder L.

Optional können die teilnehmenden Server über STRATO ProNet VLAN miteinander verbunden werden. Dies ermöglicht Ihnen den Austausch von Informationen zwischen den Servern, beispielsweise Heartbeat, Synchronisation der Daten auf den teilnehmenden Servern und Anbindung an einen Netzwerkspeicher, um Daten zentral auf diesem zu halten.

Bestellung im STRATO Server-Login

Es ist leider nicht mehr möglich, ein STRATO Load Balancing Paket zu bestellen, da der Vertrieb dieses Produktes im September 2024 eingestellt wird.

Konfiguration im STRATO Server-Login


Nach Abschluss der Bestellung erfolgt die Konfiguration Ihres Load Balancings im STRATO Server-Login unter dem gleichnamigen Menüpunkt.

Bitte vergeben Sie zunächst einen Namen für Ihr Loadbalancing und klicken Sie anschließend auf Aktivieren um zur Konfigurationsseite zu gelangen. Dieser Name kann später jederzeit geändert werden.

Server: STRATO Load Balancing -3.png

Hinzufügen von Servern zum Realserver-Pool


Über den Button Realserver hinzufügen können Sie dedizierte Server in Ihren Realserver-Pool aufnehmen. Server, die dem Pool hinzugefügt wurden, können als Realserver Dienste in einem Load Balancing zur Verfügung stellen.

Server: STRATO Load Balancing -4.png

Sollten Sie einen Tarif der STRATO ServerCloud gebucht haben, so können Sie unter dem Punkt VMs virtuelle Maschinen ihrem Loadbalancing-Verbund hinzufügen. Sind Sie Nutzer eines dedizierten Servers, kann unter diesem Punkt der Hostname des Realservers ausgewählt werden, der mit der Auftragsnummer verknüpft ist, unter der Sie sich eingeloggt haben.

Nutzen Sie das Feld Hostname um einen Realserver hinzuzufügen, der unter einer anderen Auftragsnummer geführt wird. Verfügen Sie über das STRATO Server-Login Passwort des Servers, so wird dieser unmittelbar dem Pool hinzugefügt.

Geben Sie kein Passwort ein, so wird der Besitzer des Servers per Email über Ihre Einladung informiert. Er kann dann im STRATO Server-Login seines Servers unter dem Menüpunkt Load Balancing, Reiter Mitgliedschaft die Teilnahme an Ihrem Load Balancing bestätigen oder ablehnen.

Verfahren Sie ebenso beim Hinzufügen weiterer Server. Wurden die ersten Server erfolgreich Ihrem Realserver-Pool hinzugefügt, so wird der Status nicht zugewiesen angezeigt. Das bedeutet, dass diese Realserver noch keinem Dienst zugeordnet sind.

Server: STRATO Load Balancing -5.png

Anlegen eines Dienstes

Unter dem Reiter Verwaltung können Sie nun lastverteilte Dienste anlegen.

Eingehende Verbindungen auf die LoadBalancerIP und den angegebenen Port werden vom Loadbalancer auf die für den Dienst konfigurierten Realserver weitergeleitet. Dazu wird der gewichtete Round-Robin Algorithmus (Weighted Round Robin, WRR) verwendet.

Klicken Sie auf Dienst hinzufügen, um einen neuen Dienst anzulegen.

Im folgenden Dialog können Sie beispielsweise einen lastverteilten Webserver anlegen und diesem Ihre beiden Realserver zuweisen. Der Loadbalancer nimmt Verbindungen auf der LoadBalancerIP unter Port 80 entgegen und leitet die Anfragen je nach Gewichtung an die beiden Realserver mit den IP-Adressen 10.255.130.30 und 10.255.130.31 unter Port 8180 weiter.

Hinweis: Es wird eine Beispielkonfiguration beschrieben, bei der Port 80 auf Port 8180 umgeleitet wird. Dies kann bei manchen Nutzungsszenarien sinnvoll sein, um beispielsweise den Zugriff über Port 80 auf den beiden Realserver blockieren zu können.

Server: STRATO Load Balancing -7.png

Zusätzlich können Sie an die angegebene Emailadresse Benachrichtigungen über den Status des Dienstes senden lassen.

Über die Textfelder Gewichtung können Sie steuern, in welchem Verhältnis Anfragen an die beiden Realserver verteilt werden. Geben Sie für beide Server die gleiche Gewichtung, beispielsweise 1, ein, so werden die Anfragen gleichmäßig auf beide Realserver verteilt. Diese Einstellung macht Sinn, wenn beide Server ähnlich leistungsstark sind. Bei einer Gewichtung von 2:1 würde der erste Server doppelt so viele Anfragen erhalten wie der zweite Server.

Server: STRATO Load Balancing -8.png

Nach dem Anlegen des Dienstes wird der Status der einzelnen Realserver und des Dienstes selbst angezeigt. Da beide Realserver noch nicht konfiguriert sind, wird bei beiden ein Warndreieck angezeigt, ebenso für den Status des gesamten Dienstes.

DNS einrichten

Um Inhalte über den Loadbalancer erreichbar zu machen, richten Sie im DNS einen A-Record mit der LoadBalancerIP für den zu verwendenden Domainnamen ein.

Konfigurieren Sie beispielsweise den Domainnamen wunschname.de derart, dass dieser auf Ihre LoadBalancerIP auflöst.

Gehen Sie dazu in den STRATO Server-Login, unter dem Sie den Domainnamen registriert haben. Gehen Sie zu Domainverwaltung DNS-Editor und klicken Sie auf den gewünschten Domainnamen.

Server: STRATO Load Balancing -9.png


Wählen Sie nun im Abschnitt Domain-IPv4 (A-Record) den Radio-Button beliebige IPv4-Adresse zuweisen. Tragen Sie dort die LoadBalancerIP ein und klicken Sie auf den Button Änderungen speichern.

Server: STRATO Load Balancing -10.png

Die Domain wunschname.de wird nun im DNS zuIhrer LoadBalancerIP aufgelöst.

(Test-) Konfiguration auf den Realservern

Einrichten der Netzwerkschnittstelle

Im Anschluss konfigurieren Sie auf Ihren Realservern die erste Netzwerkschnittstelle, damit diese innerhalb des Load Balancings ihre Aufgabe wahrnehmen können.

Einrichten der Netzwerkschnittstelle unter Debian 8 / Ubuntu 14.04

Melden Sie sich auf beiden Realservern als Benutzer root an und konfigurieren Sie jeweils das erste Netzwerkinterface eth0 mit der passenden Realserver IP-Adresse:

Fügen Sie dazu auf beiden Servern in der Datei /etc/network/interfaces im Abschnitt für die Schnittstelle eth0 die folgenden Zeilen hinzu und lassen Sie bestehende Einträge unverändert:

iface eth0 inet static address 10.x.y.z netmask 255.255.255.255

Starten Sie anschließend auf beiden Servern die Netzwerkkonfiguration für eth0 neu:

root@h123456:~# ifdown eth0; ifup eth0
Hinweise: Bitte achten Sie darauf, den Befehl exakt zu übernehmen. Würde beispielsweise nur der erste Teil (ifdown eth0) korrekt ausgeführt werden, so bliebe der Netzwerkadapter deaktiviert. Sie könnten dann nicht mehr direkt über SSH auf Ihren Server zugreifen.

Bitte beachten Sie außerdem, dass durch die hier beschriebenen Änderungen die oben genannten Adressen zusätzlich zu bereits per DHCP vergebenen IP-Adressen des entsprechenden Servers eingerichtet werden.

Die neu hinzugefügte Realserver IP-Adresse wird Ihnen nicht angezeigt, wenn Sie sich die Konfiguration der Schnittstelle mittels ifconfig eth0 anzeigen lassen. Verwenden Sie stattdessen den Befehl ip addr show eth0, um sich die an das Interface eth0 gebundenen IP-Adressen ausgeben zu lassen.

Die ersten Netzwerkinterfaces beider Server nehmen nun unter der jeweiligen Realserver IP-Adresse IP-Pakete entgegen, die der Loadbalancer weiterleitet.

Installation und Konfiguration der Webserver-Dienste

Installieren und konfigurieren Sie nun auf beiden Realservern den Webserver-Dienst, den Sie für den Loadbalancer zur Verfügung stellen möchten.

apt-get install apache2

Passen Sie nun die Konfigurationsdateien der beiden Webserver an.
Ändern Sie in der Datei /etc/apache2/ports.conf die Zeilen

Listen 80

in

Listen 8180

in der Datei /etc/apache2/sites-available/000-default.conf die Zeile

<VirtualHost *:80>

in

<VirtualHost *:8180>

und in der Datei /etc/apache2/apache2.conf die Zeile

KeepAlive On

in

KeepAlive Off

Hinweis: Die Option KeepAlive On führt dazu, dass zwischen Client und Realserver temporär persistente Verbindungen aufgebaut werden. Das vorliegende Konfigurationsbeispiel soll jedoch das „permanente Umschalten“ des Loadbalancers zwischen beiden Realservern zeigen.

Starten Sie anschließend den Webserver neu:

/etc/init.d/apache2 restart

Sind beide Realserver korrekt konfiguriert, so wechselt nach einigen Minuten im STRATO Server-Login der Status der einzelnen Realserver und des gesamten Dienstes von Warndreieck auf einen grünen Haken.

Server: STRATO Load Balancing -11.png

Passen Sie nun die statische Index-Datei /var/www/html/index.html an.

Ändern Sie die Zeile

<html><body><h1>It works!</h1></body></html>

auf dem einen Realserver beispielsweise in:

<html><body><h1>Web01 works!</h1></body></html>

und auf dem anderen Realserver beispielsweise in

<html><body><h1>Web02 works!</h1></body></html>

Rufen Sie die URL http://wunschname.de wiederholt in einem Browser auf.

Der Loadbalancer nimmt den Verbindungswunsch, der an die IP-Adresse Ihres Loadbalancers unter Port 80 gestellt wird, entgegen, und leitet diesen abwechselnd an den ersten und den zweiten Realserver jeweils unter Port 8180 weiter. Je nachdem, welcher Server gerade an der Reihe ist, sehen Sie nun entweder web01 works! oder web02 works!

Der Loadbalancer nimmt den Verbindungswunsch, der an die IP-Adresse Ihres Loadbalancers unter Port 80 gestellt wird, entgegen, und leitet diesen abwechselnd an den ersten und den zweiten Realserver jeweils unter Port 8180 weiter. Je nachdem, welcher Server gerade an der Reihe ist, sehen Sie nun entweder web01 works! oder web02 works!
Dies ermöglicht Ihnen den Austausch von Informationen zwischen den Servern, beispielsweise Heartbeat, Synchronisation der Daten auf den teilnehmenden Servern und Anbindung an einen Netzwerkspeicher, um Daten zentral auf diesem zu halten.
War dieser Text hilfreich für Sie?
Info: 11a0f6554447d774ad3d2bde5ef17fe714fdea5d