Zum Inhalt springen

„Linux Virtual Server“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Beispiele: -Umbruch
K wikilinks
Zeile 1: Zeile 1:
'''Linux Virtual Server''' ''(LVS)'' ist eine [[Server Load Balancing|Lastverteilungssoftware]]. Sie erweitert den [[Linux]]-[[Betriebssystemkern|Kern]] um Methoden zur transparenten Zuweisung von Anfragen aus dem Netzwerk an mehrere [[Server]]. Die erlaubt die Realisierung von [[Hochverfügbarkeit|hochverfügbare]]n [[Serverfarm]]en mit [[Freie Software|freier Software]].
'''Linux Virtual Server''' ''(LVS)'' ist eine [[Software]] zur [[Lastverteilung (Informatik)|Lastverteilung]]. Sie erweitert den [[Linux (Kernel)|Linux-Kernel]] um Methoden zur transparenten Zuweisung von Anfragen aus dem Netzwerk an mehrere [[Server]]. Die erlaubt die Realisierung von [[Hochverfügbarkeit|hochverfügbare]]n [[Serverfarm]]en mit [[Freie Software|freier Software]].


== Beschreibung ==
== Beschreibung ==
[[Bild:Lvslogo.png|thumb|Logo des Linux Virtual Server Projekts]]
[[Datei:Lvslogo.png|miniatur|Logo des Linux Virtual Server Projekts]]


''Serverfarmen'' bestehen aus mehreren Rechnern, die Anfragen über ein [[Rechnernetz]] erhalten und bearbeiten, und einem oder mehrerer Lastverteiler ({{enS|''load balancer''}}), die die Anfragen auf die zur Verfügung stehenden Rechner aufteilen (engl. {{lang|en|''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.
''Serverfarmen'' bestehen aus mehreren Rechnern, die Anfragen über ein [[Rechnernetz]] erhalten und bearbeiten, und einem oder mehrerer Lastverteiler ({{enS|''load balancer''}}), die die Anfragen auf die zur Verfügung stehenden Rechner aufteilen (engl. {{lang|en|''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.
Zeile 12: Zeile 12:
* gewichtete Verteilung nach bestehenden Verbindungen
* 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:
Für die Rückantwort der Server an den anfragenden Rechner gibt es ebenfalls verschiedene Möglichkeiten. ''LVS'' implementiert die folgenden Techniken:
* LVS/NAT ''(entspricht „[[Server Load Balancing#NAT based SLB|NAT based SLB]]”)''
* LVS/NAT ''(entspricht „[[Lastverteilung (Informatik)#NAT based SLB|NAT based SLB]]”)''
* LVS/TUN
* LVS/TUN
* LVS/DR ''(entspricht „[[Server Load Balancing#Flat based SLB|Flat based SLB]]”)''
* LVS/DR ''(entspricht „[[Lastverteilung (Informatik)#Flat based SLB|Flat based SLB]]”)''


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


== Beispiele ==
== Beispiele ==
Administratives Werkzeug zur Konfiguration von LVS ist <code>ipvsadm</code>. Dieses kann nur mit dem [[Root-Account]] benutzt werden.
Administratives Werkzeug zur Konfiguration von LVS ist <code>ipvsadm</code>. Dieses kann nur mit dem [[Root-Konto]] benutzt werden.


* Einrichtung eines LVS ([[Hypertext Transfer Protocol|HTTP]]) mit 2 realen Servern
* Einrichtung eines LVS ([[Hypertext Transfer Protocol|HTTP]]) mit 2 realen Servern
Zeile 31: Zeile 31:
ipvsadm -a -t 192.168.0.1:80 -r 172.16.0.2:80 -m</code>
ipvsadm -a -t 192.168.0.1:80 -r 172.16.0.2:80 -m</code>


Erste Zeile fügt auf der [[IP-Adresse]] [[Private IP-Adresse|192.168.0.1]] den [[Transmission Control Protocol|TCP]]-Port 80 zum LVS hinzu. Anzuwendende Strategie der [[Lastverteilung#Lastverteilung in der Computertechnik|Lastverteilung]] ist hierbei [[Round Robin (Informatik)|Round-Robin]] (-s rr).
Erste Zeile fügt auf der [[IP-Adresse]] [[Private IP-Adresse|192.168.0.1]] den [[Transmission Control Protocol|TCP]]-Port 80 zum LVS hinzu. Anzuwendende Strategie der [[Lastverteilung (Informatik)|Lastverteilung]] ist hierbei [[Round Robin (Informatik)|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).
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).



Version vom 19. November 2012, 16:45 Uhr

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. Die erlaubt die Realisierung von hochverfügbaren Serverfarmen mit freier Software.

Beschreibung

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 (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. 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

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

Quellen

  • Wensong Zhang: Linux Virtual Server for Scalable Network Services. Changsha, Hunan 410073, China 2000 (PDF, 235 kByte [abgerufen am 16. April 2009]).