Linux Virtual Server (LVS) ist eine Software zur Lastverteilung. Sie erweitert den Linux-Kernel um Methoden zur transparenten Zuweisung von Anfragen aus dem Netzwerk an mehrere Server. Dies erlaubt die Realisierung von hochverfügbaren Serverfarmen mit freier Software.

Beschreibung

Bearbeiten
Logo des Linux Virtual Server Projekts

Serverfarmen bestehen aus mehreren Rechnern, die Anfragen über ein Rechnernetz erhalten und bearbeiten, und einem oder mehrerer Lastverteiler (englisch load balancer), die die Anfragen auf die zur Verfügung stehenden Rechner aufteilen (engl. scheduling). Da Rechner dynamisch zu diesem Verbund hinzugefügt und entfernt werden können, lassen sich so Skalierbarkeit und Verfügbarkeit erhöhen. LVS übernimmt in einer solchen Installation die Rolle des Lastverteilers.

LVS stellt vier Strategien zur Verfügung, um Anfragen aufzuteilen:

  • Round-Robin-Verteilung
  • gewichtete Round-Robin-Verteilung
  • Verteilung nach bestehenden Verbindungen (englisch least-connection scheduling)
  • gewichtete Verteilung nach bestehenden Verbindungen

Für die Rückantwort der Server an den anfragenden Rechner gibt es ebenfalls verschiedene Möglichkeiten. LVS implementiert die folgenden Techniken:

Für eine hochverfügbare Installation werden noch weitere Komponenten benötigt, für die es ebenfalls Freie-Software-Projekte gibt.

  • Zweiter Rechner mit LVS, der bei Versagen des ersten Rechners einspringt (engl. cold standby). Infrage kommt beispielsweise die Software Heartbeat des High Availability Linux-Projekts (engl. für „hochverfügbares Linux“, siehe Weblinks).
  • Netzwerk-Monitoring-Software, die das Versagen eines Servers erkennt und ihn automatisch aus dem Verbund entfernen (und ggf. wieder einbinden) kann.

Beispiele

Bearbeiten

Administratives Werkzeug zur Konfiguration von LVS ist ipvsadm. Dieses kann nur mit dem Root-Konto benutzt werden.

  • Einrichtung eines LVS (HTTP) mit 2 realen 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

Erste Zeile fügt auf der IP-Adresse 192.168.0.1 den TCP-Port 80 zum LVS hinzu. Anzuwendende Strategie der Lastverteilung ist hierbei Round-Robin (-s rr). Die folgenden zwei Zeilen fügen jeweils einen realen Server dieser virtuellen Adresse (192.168.0.1:80) hinzu. Hierbei sollen die weitergeleiteten Pakete maskiert werden (-m).

  • Statusabfrage des oben eingerichteten LVS
 ipvsadm -L -n
 IP Virtual Server version 1.0.8 (size=65536)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  192.168.0.1:80 rr
   -> 172.16.0.2:80                Masq    1      3          1
   -> 172.16.0.1:80                Masq    1      4          0

Literatur

Bearbeiten
  • Wensong Zhang: Linux Virtual Server for Scalable Network Services. Changsha (China) 2000 (englisch, linuxvirtualserver.org [PDF; 235 kB; abgerufen am 16. April 2009]).
Bearbeiten

📚 Artikel Terkait di Wikipedia

Server Name Indication

unterschiedlicher Domains einen gemeinsamen Server auf dem TLS-Port 443 teilen, auch wenn dieser nur eine IP-Adresse besitzt (Virtual Hosting). Beim Aufbau einer TLS-Verbindung

Hostrechner

Apache-HTTP-Servern enthält eine VirtualHosts-Direktive, die mehrere getrennte Websites auf einem einzigen Host ermöglicht. Zwei Formen sind zu unterscheiden: IP-basierte

Virtuelle IP-Adresse

Die Virtuelle IP-Adresse (virtual IP address, gelegentlich auch VIP) bezeichnet eine dynamische IP-Adresse, die automatisch einer von mehreren redundanten

Virtual Hosting

Virtual Hosting bezeichnet das Hosting von Internetdiensten auf einem aus dem Internet erreichbaren Server, wobei sich mehrere Kunden einen gemeinsamen

Server (Software)

von Servern an den Webbrowser übertragen werden. Server, die HTTP implementieren, d. h. die es beherrschen, werden als HTTP-Server oder Web-Server bezeichnet

Virtual Local Area Network

Ein Virtual Local Area Network (VLAN) ist ein logisches Teilnetz (Netzsegment) innerhalb eines Switches bzw. eines gesamten physischen Netzes. Es kann

Virtual Private Network

betriebener Server hergestellt. Dieses dient u. a. dazu, die gegenseitige Erreichbarkeit der per VPN verbundenen Teilnetze auch mit wechselnden IP-Adressen

Router

Windows bietet in allen NT-basierten Workstation- und Server-Varianten (NT 3.1 bis Windows 10 / Server 2019) ebenfalls Routing-Dienste. Die Serverversion