Der einfachste fehlertolerante Layer 4 Balancer


Der einfachste fehlertolerante Layer 4 BalancerDer Layer 4-Balancer fungiert als Vermittler zwischen dem Client und dem Server und handelt im Namen des ersteren. Außerdem wird die Verfügbarkeit überprüft Hosts in den Pools des Backends und streut eingehende Client-Anforderungen gemäß dem festgelegten Ausgleichsalgorithmus über sie. Um ein Failover durchzuführen, können Sie Technologien verwenden, die beispielsweise Failover-IP-Funktionen bereitstellen Karpfen oder vrrp oder etwas anderes).

Ich möchte all dies zum Nutzen eines bestimmten Dienstes nutzen, nämlich Exchange Server 2013. Lassen Sie uns darüber sprechen.


Wenn Sie an Debian und verwandten Anwendungen interessiert sind, empfehle ich, auf das Debian-Tag in meinem Blog zu verweisen.


Der einfachste fehlertolerante Layer 4 Balancer

Sie können die im Artikel vorgeschlagene Ausgleichsoption für jeden Dienst verwenden, der keine Sitzungsunterstützung auf Anwendungsebene benötigt.

Anpassung

Zunächst benötigen wir zwei Server, auf denen Debian 9 ausgeführt wird. Dies können physische oder virtuelle Maschinen mit jeweils einer statischen IP-Adresse sein.

  • Server 1: 192.168.0.1
  • Server 2: 192.168.0.2
  • Failover-IP: 192.168.0.3

Fahren wir mit dem Einrichten der Dienstprogramme fort.

Ukarp

Ucarp ist eine kostenlose Implementierung des CARP-Protokolls, mit der mehrere Server eine zusätzliche identische IP-Adresse aus demselben Subnetz erhalten können. Zu einem bestimmten Zeitpunkt kann die Adresse nur auf einem Server aktiv sein.

Ucarp konfigurieren

Installieren Sie das Dienstprogramm mit dem folgenden Befehl:

Hinweis: In der Datei /usr/share/doc/ucarp/README.Debian finden Sie eine kleine Hilfe und eine Liste der erforderlichen / optionalen Parameter. Oder führen Sie den Befehl ucarp –help aus.

Alle Einstellungen müssen in die Konfigurationsdatei für die Netzwerkeinstellungen geschrieben und zur Bearbeitung geöffnet werden / etc / network / interfaces der erste Server (Server 1, siehe oben):

Die Konfiguration des zweiten Servers unterscheidet sich nur in seiner eigenen Adresse, alles andere bleibt gleich:

Hinweis: Schnittstellennamen können sich auch unterscheiden, aber in meinem Fall waren sie gleich.

Wir speichern die Konfiguration, starten das Netz jedoch noch nicht neu.

Anpassung ucarp das ist abgeschlossen. Wenn der aktive Server ausgeschaltet ist, fängt der zweite die Adresse in wenigen Sekunden ab. Sie können zusätzliche Optionen in die Konfiguration aufnehmen, aber für die Basisversion ist das oben Genannte mehr als ausreichend.

Ucarp testen

Es ist Zeit, den Befehl auf beiden Servern auszuführen:

Hinweis: Wenn Sie an einer virtuellen Hyper-V-Maschine arbeiten, vergessen Sie nicht, das Kontrollkästchen “MAC-Adress-Spoofing aktivieren” in den zusätzlichen Einstellungen der Netzwerkschnittstelle zu aktivieren. Andernfalls bleibt die fehlertolerante IP auf beiden VMs immer aktiv. Auf anderen Hypervisoren tritt dieses Verhalten nicht auf (ps VMWare wurde nicht getestet)..

… und überprüfen Sie, wie die Adresse zwischen Hosts “läuft”. Seien Sie dazu nicht zu faul, die Failover-IP zu pingen und die Hosts mehrmals nacheinander neu zu starten. Die Operation ist sehr einfach, aber ihre Implementierung gibt Ihnen das eiserne Vertrauen, dass im Falle eines ungünstigen Szenarios alles so funktioniert, wie es sollte.

HAProxy

Es ist wichtig, einen Systemparameter zu ändern, bevor Sie HAProxy konfigurieren.

Anpassung des Betriebssystems

Das Verschieben der Failover-IP auf einen anderen Host müsste neu gestartet werden HAProxyda hätte es nicht auf diese adresse gehört. Durch Ändern des Kernel-Parameters kann diese Situation behoben werden. net.ipv4.ip_nonlocal_bind .

Kurzbeschreibung:

Durch Festlegen dieser Variablen können einzelne lokale Prozesse im Namen einer externen (fremden) IP-Adresse sprechen. Dies kann in einigen Fällen nützlich sein, wenn externe (fremde) IP-Adressen abgehört werden müssen, z. B. um den Datenverkehr einer anderen Person zu überwachen.

Wir aktivieren die Option mit ein paar Befehlen:

Danach gehen wir zur Installation HAProxy.

HAProxy konfigurieren

Installieren Sie das Paket mit dem folgenden Befehl:

Sichern Sie die Hauptkonfiguration:

Öffnen einer neuen Datei zum Bearbeiten /etc/haproxy/haproxy.cfg und fügen Sie den folgenden Inhalt ein (Abschnitt global hat Standardwerte, aus Gründen der Übersichtlichkeit sind in den verbleibenden Abschnitten nur die wichtigsten Parameter enthalten:

Hinweis: In diesem Beispiel gleicht ich Clientverbindungen zu Exchange Server 2013 aus.

Ich möchte Sie daran erinnern, dass der Abgleich auf Ebene 4 durchgeführt wird, was durch die Konfigurationszeile deutlich angezeigt wird. Modus TCP… Ausgleichsalgorithmus – einfach Round Robin ((Balance Roundrobin) Überprüfen der Verfügbarkeit jedes Backend-Hosts (prüfen).

Testen von HAProxy

Testen HAProxy sehr ähnlich zu Tests in diesem Stadium UcarpNur in diesem Fall muss nicht nur die Verfügbarkeit der Adresse mit dem Ping-Dienstprogramm überprüft werden, sondern auch die Verfügbarkeit des endgültigen Dienstes, dessen Verbindungen tatsächlich ausgeglichen sind.

Starten Sie die virtuellen Maschinen einzeln neu und testen Sie die Dienstverfügbarkeit.

Anwendungsgebiet

Die im Artikel berücksichtigte Konfigurationsoption gilt für alle Dienste, die mit dem Ausgleich von TCP-Verbindungen arbeiten können.

Wenn wir über Exchange sprechen, ist für Exchange Server 2010 das Balancing auf Ebene 4 nicht geeignet, sondern nur auf Ebene 7 ::

Viele Exchange 2010-Clientzugriffsprotokolle erforderten eine Affinität – eine Beziehung zwischen dem Client und einem bestimmten Clientzugriffsserver. Insbesondere Outlook Web App, die Exchange-Systemsteuerung, Exchange-Webdienste, Outlook Anywhere, Outlook-TCP / IP-MAPI-Verbindungen, Exchange ActiveSync, der Exchange-Adressbuchdienst und Remote PowerShell sind entweder erforderlich oder profitieren vom Client-zu-Client-Zugriffsserver Affinität.

Übrigens war das Fehlen eines Ausgleichs auf der 7. Ebene eine der wichtigsten und schwerwiegendsten architektonischen Änderungen in Exchange 2013 und den nachfolgenden Versionen.

Für Exchange 2013/2016 ist jedoch nicht alles auf Level 4-Balancing beschränkt. Sie können auch Level 7 verwenden, um die Verfügbarkeit jedes virtuellen Verzeichnisses auf einem bestimmten Server zu verfolgen. Denken Sie jedoch daran, dass auf der Seite des Balancers um Größenordnungen mehr Ressourcen verbraucht werden. Berücksichtigen Sie diese Tatsache bei der Planung Ihrer Lösung .

Kommentare bereitgestellt von HyperComments

Leave a Reply

Your email address will not be published. Required fields are marked *