Linux Virtual Server
![]() LVS Official Logo | |
Originalautor (en) | Wensong Zhang |
---|---|
Entwickler (en) | et al. |
Erstveröffentlichung | Mai 1998 |
Geschrieben in | C |
Betriebssystem | Linux |
Typ | Lastverteilung |
Lizenz | GNU Allgemeine öffentliche Lizenz |
Webseite | www |
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

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[aktualisieren] 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
) - Gewicht
ip_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
- ^ "IPVS -Software - Advanced Layer -4 -Switching". LinuxvirtualServer.org. 2011-02-08. Abgerufen 2014-01-12.
- ^ Wensong Zhang (2011-02-08). "KTCPVS -Software - Lastausgleich auf Anwendungsebene". LinuxvirtualServer.org. Abgerufen 2014-03-25.
- ^ "Jobplanungsalgorithmen im Linux Virtual Server". LinuxvirtualServer.org. 2011-02-08. Abgerufen 2013-11-24.
- ^ "Virtueller Linux -Server: Laden Sie Ihre vernetzten Dienste aus.". Bobcares.com. 2008. Abgerufen 2013-11-24.