Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Linux für den Netzwerklastausgleich

So verwenden Sie Linux für den Netzwerklastausgleich

PHPz
PHPzOriginal
2023-06-18 18:45:102872Durchsuche

Netzwerklastausgleich ist eine Methode, den Netzwerkverkehr gleichmäßig auf verschiedene Server zu verteilen und so die Verfügbarkeit und Leistung des gesamten Systems zu verbessern. Das Linux-System verfügt über einige Tools, die uns beim Netzwerklastausgleich helfen können. In diesem Artikel wird die Verwendung von Linux für den Netzwerklastausgleich vorgestellt.

1. Das Grundprinzip des Linux-Netzwerklastausgleichs

Das Grundprinzip des Netzwerklastausgleichs besteht darin, den Netzwerkverkehr auf mehrere Server zu verteilen. Es gibt viele Verteilungsmethoden, einschließlich der Abfragemethode, der gewichteten Abfragemethode, der IP-Hashing-Methode, der Methode mit der minimalen Anzahl von Verbindungen usw.

Unter Linux können wir die LVS-Technologie (Linux Virtual Server) für den Netzwerklastausgleich verwenden. LVS ist eine Technologie, die den Netzwerkverkehr auf mehrere Server verteilt. Es besteht aus einem Scheduler (auch Load Balancer genannt) und mehreren Backend-Servern.

2. LVS installieren und konfigurieren

  1. LVS installieren

Bevor wir LVS konfigurieren, müssen wir die erforderlichen Softwarepakete installieren, einschließlich ipvsadm und keepalived. Diese Softwarepakete können über den Befehl yum installiert werden.

① Installiere ipvsadm

Verwende den folgenden Befehl, um das ipvsadm-Paket zu installieren:

sudo yum install ipvsadm -y

② Installiere keepalived

Verwende den folgenden Befehl, um das keepalived-Paket zu installieren:

sudo yum install -y

  1. Konfiguration LVS

Bevor wir LVS konfigurieren, müssen wir einige grundlegende Konzepte verstehen:

  • Scheduler (Load Balancer): Wird verwendet, um Netzwerkanfragen von Clients zu empfangen und die Anfragen an den Backend-Server weiterzuleiten.
  • Listening-IP-Adresse: die IP-Adresse, auf die der Client zugreift.
  • Echter Server (Backend-Server): Verarbeitet Netzwerkanfragen von Clients.

Das Folgende ist ein Konfigurationsbeispiel für LVS, vorausgesetzt, die IP-Adresse unseres Planers lautet 192.168.1.1 und die IP-Adressen des Backend-Servers lauten 192.168.1.2 und 192.168.1.3.

① Konfigurieren Sie den Planer.

Installieren und konfigurieren Sie zunächst den Keepalived-Dienst auf dem Planer. Bearbeiten Sie die Datei /etc/keepalived/keepalived.conf und fügen Sie die folgende Konfiguration hinzu:

Konfigurationsdatei für keepalived

global_defs {
router_id LB_Test
}

vrrp_script chk_http_port {
script „/etc/keepalived/check.sh“ Intervall 2

   auth_type PASS
   auth_pass 1111

}

}


Unter ihnen, Mit vrrp_instance werden die Parameter des virtuellen Routers festgelegt, mit virtual_router_id wird die virtuelle IP-Adresse festgelegt und mit der Priorität wird die Aktiv-Standby-Beziehung festgelegt. desto höher die Priorität.

Dann erstellen Sie eine Skriptdatei mit dem Namen check.sh, um zu überprüfen, ob der Backend-Server aktiv ist. Speichern Sie den folgenden Skriptinhalt in der Datei check.sh:

!/bin/bash

A=

if [ $A -eq 0 ]; then

echo "failed"
killall keepalived

fi


Beschreibung: Wann Wenn der Backend-Server nicht verfügbar ist, beendet das Skript den Keepalived-Dienst.

Führen Sie den folgenden Befehl aus, damit die Konfigurationsdatei wirksam wird:

sudo systemctl restart keepalived

An diesem Punkt ist die Konfiguration des Schedulers abgeschlossen.

②Konfigurieren Sie den Backend-Serveripvsadm -ln | grep -c "Server"
Konfigurieren Sie den Real Server von LVS auf dem Backend-Server.

Verwenden Sie den folgenden Befehl, um eine Real Server-Konfiguration hinzuzufügen:

sudo ipvsadm -A -t 192.168.1.100:80 -s rr

Unter diesen wird die Option -A zum Hinzufügen von Regeln und -t zum Festlegen verwendet Abhören von IP-Adresse und Port, -s wird zum Festlegen von Planungsregeln verwendet, und hier wird die Abfragemethode verwendet.

ADD Real Server zu den Regeln mit den folgenden Befehlen:

Sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2 -G

sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.1.1.3.3 -g

Unter diesen wird die Option -a verwendet, um der Regel einen echten Server hinzuzufügen, -r wird verwendet, um die IP-Adresse des Backend-Servers festzulegen, und -g wird verwendet, um den Gateway-Modus des Backend-Servers festzulegen.

An diesem Punkt ist die Konfiguration von LVS abgeschlossen.

3. Netzwerklastenausgleich testen

Nach Abschluss der LVS-Konfiguration können wir die Netzwerklastenausgleichsfunktion mit den folgenden Schritten testen:

Zugriff auf die virtuelle IP-Adresse über den Curl-Befehl auf dem Client:

curl 192.168.1.100

Nach der Verarbeitung durch den Scheduler wird die Anfrage an einen der Backend-Server gesendet.

Starten Sie einen einfachen HTTP-Dienst auf einem der Backend-Server:

python -m SimpleHTTPServer 80

    Greifen Sie dann auf die IP-Adresse des realen Servers zu:
curl 192.168.1.2

    erneut an die virtuelle IP-Adresse Senden die Anfrage, die an einen anderen realen Server gesendet werden soll.
  1. Wenn nach dem obigen Test die Anforderungen beim Zugriff auf den Backend-Server gleichmäßig auf verschiedene Backend-Server verteilt werden können, kann der Netzwerklastausgleich als erfolgreich bezeichnet werden.
4. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie Linux für den Netzwerklastausgleich verwenden. Wir installieren die Softwarepakete ipvsadm und keepalived, konfigurieren die IP-Adresse, den Port und die Planungsregeln des Schedulers und des Back-End-Servers und testen schließlich die Netzwerklastausgleichsfunktion. Der Netzwerklastenausgleich kann die Verfügbarkeit und Leistung des gesamten Systems verbessern und dabei helfen, Netzwerkanforderungen in Umgebungen mit hoher Parallelität zu verarbeiten und so die Benutzererfahrung zu verbessern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Linux für den Netzwerklastausgleich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn