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.