Wie der Virtuelle Server arbeitet?
Zur Zeit ist der Virtuelle Server in drei Stufen implementiert. Es gibt 3 IP Load Balancing Techniken(Packet weiterleitungs Methoden)
welche zusammen in dem LinuxDirektor existieren.
Es gibt Virtuelle Server über NAT, Virtuelle Server über IP Tunneling und Virtuelle Server über Direct Routing.
Bitte schauen Sie sich die drei separaten Sektionen für ihre Arbeits Prinzipien und Konfigurationen an.
Wie die Kernel gebaut werden, und wie sie benutzt werden wird hier auch im Detail behandelt.
Die folgenden unter-Sektionen werden Ihre Vorteile und Nachteile erklären.
Der vergleich von VS-NAT, VS-TUN und VS-DR ist zusammengefasst in der folgenden Tabelle
|
| VS-NAT
| VS-TUN
| VS-DR
|
| Server
| jeder
| tunneling
| kein-arp device
|
| server netzwerk
| private IP's
| LAN/WAN
| LAN
|
| server nummern
| wenig (10~20)
| hoch
| hoch
|
| server gateway
| load balancer
| eigener router
| eigener router
|
Virtueller Server über NAT
Der Vorteil von dem Virtuellen Server über NAT ist, das die Real Server
jedes Betriebsystem welches das TCP/IP Protokoll beherscht benutzen kann.
Real Server können private Internet Adressen benutzen, und nur eine IP Adresse
wird für den Load Balancer benutzt.
Der Nachteil ist das die Skalierbarkeit der Virtuellen Servers mit
NAT limitiert ist. Der Load Balancer ist möglicherweise der Flaschenhals von dem ganzen
System wenn die Anzahl der Server Nodes(gewöhnliche PC Server)
zu 20 oder mehr ansteigt, weil beide die Anfrage und Antwort Pakete
durch den Load Balancer umgeschrieben werden müssen. Angenommen die
durchschnittliche länge von TCP Paketen ist 536 Bytes, die durchschnittliche verzögerung vom
umschreiben eines Paketes ist um die 60us herum (Beim Pentium Processor, kann das ein wenig
reduziert werden wenn man einen höherwertigen Prozessor nimmt), der maximale Durchsatz
von dem Load Balancer ist 8.93 MBytes/s. Angenommen der durchschnittliche
Durchsatz von den Real Servern ist 400Kbytes/s, der Load Balancer kann
22 Real Server Schedulen.
Virtuelle Server über NAT können für die performance Anfragen von vielen
Servern zutreffen. Eben wenn der Load Balancer zum Flaschenhals des gesammten Systems wird,
sind da zwei Methoden es zu Lösen, eine ist der hybrid Ansatz,
und die andere ist der Virtuelle
Server über IP tunneling oder Virtuelle
Server über Direct Routing. In dem DNS hybrid Ansatz, sind
viele Load Balancer welche alle ihren eigenen Server Cluster haben, und die
Load Balancers sind Gruppiert als einen einzelnen Domain Namen durch Round-Round
DNS. Sie können probieren VS-Tunneling oder VS-DRouting für eine gute
Skalierbarkeit zu benutzen, Sie können ausserdem den verschachtelten VS Load Balancer Ansatz ausprobieren,
das erste Front-End ist der VS-Tunneling oder VS-DRouting Load Balancer,
die zweite Ebene sind viele VS-NAT Load Balancer, welche alle ihren eigenen Cluster haben.
Virtuelle Server über IP Tunneling
In dem Virtuellen Server über NAT, Anfrage und Antwort Pakete müssen alle durch den Load
Balancer hindurch passieren, der Load Balancer ist möglicherweise der
Flaschenhals wenn die Anzahl der Server Nodes zu 20 oder mehr ansteigt,
weil der Durchsatz von dem Netzwerk Interface eventuell limitiert ist.
Wir können bei viuelen Internet Diensten (wie Web Services) das die empfangenen Pakete
oft sehr kurz sind und Empfangene Pakete haben gewöhnlicherweise eine grössere gesammt Menge an Daten.
In dem Virtuellen Server über IP Tunneling, der Load Balancer
Scheduled Anfragen zu den verschiedenen Real Servern, und die Real Server
geben die Antworten direkt zu den Usern zurück. So kann der Load Balancer
eine riesige Menge an Anfragen beantworten, er scheduled möglicherweise
über 100 Real Server, und er wird nicht der Flaschenhals des Systems sein. :-)
Durch benutzen von IP tunneling wird die maximale Anzahl der Server Nodes
für den Load Balancer grossartig zunehmen. Der maximale Durchsatz von den Virtuellen
Servern can dadurch über 1Gbps erreichen, auch wenn der Load Balancer nur über einen
100Mbps Full-Duplex Netzwerk Adapter verfügt.
Das IP Tunneling feature kann dazu benutzt werden um einen sehr Hoch-Performanten
Virtuellen Server zu bauen, extrem gut um einen virtuellen
Proxy Server zu bauen, denn wenn die Proxy Server Anfragen erhalten, können Sie
auf das Internet direkt zugreifen um Objekte abzurufen um sie dann direkt an den end user zu schicken.
Wie auch immer, alle Server müssen das "IP Tunneling"(IP
Encapsulation) Protokoll aktiviert haben, Ich habe es gerade auf Linux IP
Tunneling ausprobiert. Wenn Sie Virtuelle Server auf anderen Betriebsystemen mit IP Tunneling
zum Laufen bekommen, sagen Sie mir bescheid, Ich würde froh sein etwas darüber von Ihnen zu erfahren
Virtuelle Server über Direct Routing
Genau wie in dem Virtuellen Server über Tunneling Ansatz, der LinuxDirector
processed nur die Client-zu-Server hälfte einer Verbindung in den
Virtuellen Servern über Direct Routing, und die Antwort Pakete können
verschiedene Netzwerk Routen zu den Clients nehmen. Das kann die Skalierbarkeit
von Virtuellen Servern grossartig erhöhen.
Verglichen zu dem Virtuellen Server über IP Tunneling Ansatz, hat dieser
Ansatz keinen Tunneling Overhead(genaugenommen, ist dieser overhead in den meisten Fällen minimal),
aber er setzt vorraus das eines von den Load Balancern Interfaces und den Real Servern Interfaces im selben
Physikalischen Segment stehen muss.
Übersetzung durch Stefan M. Dohn Original Text von Wensong
Geschrieben am: 2002/10/15
|