- IPVS
-
Dieser Artikel wurde auf der Qualitätssicherungsseite des Portals Freie Software eingetragen. Beteilige dich an der Diskussion und hilf mit, den Artikel zu verbessern. Linux Virtual Server (LVS) ist eine Lastverteilungssoftware. Sie erweitert den Linux-Kern um Methoden zur transparenten Zuweisung von Anfragen aus dem Netzwerk an mehrere Server. Die erlaubt die Realisierung von hochverfügbaren Serverfarmen mit freier Software.
Inhaltsverzeichnis
Beschreibung
Serverfarmen bestehen aus mehreren Rechnern, die Anfragen über ein Rechnernetz erhalten und bearbeiten, und einem oder mehrerer Lastverteiler (engl: 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 (engl: 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 – einen Überblick gibt der Artikel Server Load Balancing (SLB). LVS implementiert die folgenden Techniken:
- LVS/NAT (entspricht „NAT based SLB”)
- LVS/TUN
- LVS/DR (entspricht „Flat based SLB”)
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
Administratives Werkzeug zur Konfiguration von LVS ist
ipvsadm
. Dieses kann nur vom Superuser 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
Quellen
- Wensong Zhang: Linux Virtual Server for Scalable Network Services. Changsha, Hunan 410073, China 2000 (PDF, 235 kByte ; Stand: 2009-04-16).
Siehe auch
Weblinks
- Linux Virtual Server Project (englisch)
- LVS facility and framework (englisch)
- Software „Heartbeat” des „High Availability Linux”-Projekts
Wikimedia Foundation.