Linux Virtual Server

Linux Virtual Server
LVS official logo
LVS Official Logo
Originalautor (en) Wensong Zhang
Entwickler (en) et al.
Erstveröffentlichung Mai 1998; Vor 24 Jahren
Geschrieben in C
Betriebssystem Linux
Typ Lastverteilung
Lizenz GNU Allgemeine öffentliche Lizenz
Webseite www.LINUXVIRTUALSERVERVER.org

Linux Virtual Server (ICH GEGEN) ist Lastverteilung software for Linux Kernel- Basierte Betriebssysteme.

LVS ist a frei und offen Projekt gestartet von Wensong Zhang im Mai 1998, vorbehaltlich der Anforderungen der GNU Allgemeine öffentliche Lizenz (GPL), Version 2. Die Mission des Projekts besteht darin, einen Hochleistungs- und hoch verfügbaren Server für Linux zu erstellen Clustering Technologie, die eine gute Skalierbarkeit, Zuverlässigkeit und Wartungsfähigkeit bietet.

Überblick

Lvs wie verwendet von Wikimedia Foundation im Jahr 2020.

Die Hauptarbeit des LVS -Projekts besteht nun darin, fortschrittliches IP zu entwickeln Lastverteilung Software (IPVS), Lastausgleichssoftware auf Anwendungsebene (KTCPVS) und Cluster-Management-Komponenten.

  • IPVS: Eine erweiterte IP -Lastausgleichssoftware, die in der implementiert ist Linux Kernel. Das IP Virtual Server Der Code wird in Versionen 2.4.x und neuer der Linux -Kernel -Mainline zusammengefasst.[1]
  • KTCPVS: Implementiert Lastausgleich im Anwendungsebene im Linux-Kernel ab Februar 2011 noch in der Entwicklung.[2]

LVs können zum Aufbau von hoch skalierbarem und Sehr verfügbar Netzwerkdienste wie Web, E -Mail, Medien und Voip Dienste und skalierbare Netzwerkdienste in groß angelegte zuverlässige Integration E-Commerce oder E-Government Anwendungen. LVS-basierte Lösungen wurden bereits in vielen realen Anwendungen weltweit eingesetzt, einschließlich Wikipedia.

Die LVS -Komponenten hängen vom Linux ab Netfilter Framework und sein Quellcode sind in der verfügbar net/netfilter/ipvs Unterverzeichnis innerhalb der Linux Kernel Quelle. LVS ist in der Lage, UDP, TCP-Schicht-4-Protokolle sowie die passive FTP-Verbindung durch Inspektion von Schicht-7-Paketen zu verarbeiten. Es bietet eine Hierarchie von Zählern in der /Proc Verzeichnis.

Das Userland Das für die Konfiguration von LVs verwendete Dienstprogramm wird genannt ipvsadm, welches benötigt Superuser Privilegien zu laufen.

Scheduler

LVS implementiert mehrere Ausgleichsplaner, die unten mit den entsprechenden Quelldateien aufgeführt sind:[3]

  • Round-Robin (ip_vs_rr.c)
  • Gewichtter Round-Robin (ip_vs_wrr.c)
  • Am wenigsten Konnektion (ip_vs_lc.c)
  • Gewichtip_vs_wlc.c)
  • Lokalitätsbasierte kleinste Konnection (ip_vs_lblc.c)
  • Lokalitätsbasierte kleinste Konnection mit Replikation (ip_vs_lblcr.c)
  • Zielhashing (ip_vs_dh.c)
  • Quelle Hashing (ip_vs_sh.c)
  • Kürzeste erwartete Verzögerung (ip_vs_sed.c)
  • Niemals anstehen (ip_vs_nq.c)
  • Maglev Hashing (ip_vs_mh.c)

Glossar

Zu den häufig verwendeten Begriffen gehören Folgendes:[4]

  • LVS -Direktor: Laden Sie den Balancer, der alle eingehenden Client -Anfragen für Dienste empfängt und sie auf einen bestimmten "realen Server" leitet, um die Anforderung zu verarbeiten
  • Echte Server: Knoten, aus denen ein LVS -Cluster besteht, der zur Bereitstellung von Diensten im Namen des Clusters verwendet wird
  • Clientcomputer: Computer, die Dienste vom virtuellen Server anfordern
  • VIP (virtuelle IP -Adresse): Die vom Direktor verwendete IP -Adresse zur Bereitstellung von Diensten für Client -Computer
  • RIP (echte IP -Adresse): Die IP -Adresse, die verwendet wird, um eine Verbindung zu den Clusterknoten herzustellen
  • DIP (Direktoren IP -Adresse): Die vom Direktor verwendete IP -Adresse, um eine Verbindung zum Netzwerk von echten IP -Adressen herzustellen
  • CIP (Client IP -Adresse): Die IP -Adresse, die einem Client -Computer zugewiesen ist, den sie als Quell -IP -Adresse für Anforderungen an den Cluster verwendet

Beispiele

Einrichten eines virtuellen Einrichtens Http Server mit zwei echten Servern:

ipvsadm -a -t 192.168.0.1: 80 -s rr ipvsadm -a -t 192.168.0.1: 80 -r 172.16.0.1: 80 -m ipvsadm -a -t 192.168.0.1: 80 -r 172.16.0.2: 80 -m

Der erste Befehl weist zu TCP Port 80 On IP Adresse 192.168.0.1 auf den virtuellen Server. Der gewählte Planungsalgorithmus für Lastverteilung ist Round-Robin (-S RR). In der zweiten und dritten Befehle werden IP -Adressen von realen Servern zum LVS -Setup hinzugefügt. Die weitergeleiteten Netzwerkpakete müssen maskiert werden (-m).

Abfragen des Status des oben genannten konfigurierten LVS -Setups:

# IPVSADM -L -n IP Virtual Server Version 1.0.8 (Größe = 65536) Protokoll localAddress: Port Scheduler -Flags -> remoteadDress: Port -Forward -Gewicht ActiveConn InactConn TCP 192.168.0.1:80 RR -> 172.16.0.2:80 MASQ 1 3 3 3 3 3 3 1 -> 172.16.0.1:80 masq 1 4 0

Siehe auch

Verweise

  1. ^ "IPVS -Software - Advanced Layer -4 -Switching". LinuxvirtualServer.org. 2011-02-08. Abgerufen 2014-01-12.
  2. ^ Wensong Zhang (2011-02-08). "KTCPVS -Software - Lastausgleich auf Anwendungsebene". LinuxvirtualServer.org. Abgerufen 2014-03-25.
  3. ^ "Jobplanungsalgorithmen im Linux Virtual Server". LinuxvirtualServer.org. 2011-02-08. Abgerufen 2013-11-24.
  4. ^ "Virtueller Linux -Server: Laden Sie Ihre vernetzten Dienste aus.". Bobcares.com. 2008. Abgerufen 2013-11-24.

Externe Links