Linux Virtual Server for Scalable Network Services


Published on

Published in: Technology
1 Comment
1 Like
  • Hello friends,

    Now you can send 5000 FREE emails per month using our email marketing servers with multiple IPs to get your campaign to inbox.Get great inbox deliveries and land your 95% emails to inbox.

    With our userfriendly and beautiful web-app you would be able to track every movement of your campaign. You would be able to see the users who have opened, clicked, unsubscribed, bounced and marked as spam.

    You can register here for your FREE account:
    * You must have access to your own opt-in list of your subscribers. You will not use the servers for spamming.You must be compliant with the ICANN-SPAM ACT of anti spamming.We do not sell email lists.
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Linux Virtual Server for Scalable Network Services

  1. 1. Introduction Linux Virtual Server for Scalable Network Services Ï Ï Explosive growth of the Internet Ï The requirements for servers Wensong Zhang Ï Increamental scalability Ï 24x7 availability Ï Manageability Ï Ottawa Linux Symposium 2000 Cost-effectiveness Ï July 22th, 2000 The single server solution The cluster of servers solution 1 Linux Virtual Server 3-tier architecture of LVS Linux Virtual Server is a software tool that supports load balancing among multiple Internet servers that share their workload. It can be used to build scalable network services. 3 Virtual Server via NAT IP Load Balancing Techniques Ï Virtual Server via NAT (Network Ï Address Translation) Ï Virtual Server via IP Tunneling Virtual Server via Direct Routing 5
  2. 2. An example of virtual server via NAT Packet rewriting flow: 7 VS via IP Tunneling VS-Tunneling Workflow 9 VS via Direct Routing VS-DRouting Workflow 11
  3. 3. Virtual Server via NAT ÏÏ Advantages and Disadvantages Advantages: real servers can run any OS that supports Ï TCP/IP Ï only an IP address is needed for the load Ï Virtual Server via NAT balancer, real servers can use private IP Ï Virtual Server via IP Tunneling Virtual Server via Direct Routing ÏÏ addresses. Disadvantages: the maximum number of server nodes is limited, because both request and reponse packets are rewritten by the load balancer. When the number of server nodes increase up to 20, the load balancer will probably become a new bottleneck. 13 Virtual Server via Direct Virtual Server via IP Tunneling ÏÏ ÏÏ Routing Advantages: Advantages: real servers send response packets to clients real servers send response packets to clients directly, which can follow different directly, which can follow different network Ï network routes real servers can be in different networks, Ï routes Ï LAN/WAN. greatly increasing the scalability of Virtual ÏÏ no tunneling overhead Disadvantages: ÏÏ Server. servers must have non-arp alias interface; or servers can be configured to redirect Ï Disadvantages: some packets to local port. real servers must support IP tunneling the load balancer and servers must have protocol. one of their interfaces in the same LAN segment. 15 The Comparison Table of Implemention Issues VS-NAT, VS-Tunneling and VS-DRouting VS-NAT VS-Tunneling VS-DRouting Server OS any tunneling non-arp device Server network private LAN/WAN LAN Server number low (10~20) high (>100) high (>100) Server gatewayload balancer own router own router 17
  4. 4. Connection Scheduling Implemention Issues (cont') Fine scheduling granularity: Ï Each connection entry uses 128 bytes Network connection Ï effective memory. Connection hash table using clients' The scheduling algorithms: Ï <protocol, address, port> as hash key. Ï Ï Ï Slow timer to collect stale connection. Round-Robin Scheduling Ï Ï ICMP handling Weighted Round-Robin Scheduling Ï Three packet forwarding methods can be Least-Connection Scheduling used together in a single load balancer. Weighted Least-Connection Scheduling 19 Connection Affinity The LocalNode Feature Sometimes the connections from the same client must be assigned to the same server Ï In a virtual server of only a few either for functional or for performace nodes(2,3 or more), it is a resource waste reasons, such as FTP, SSL, http cookies. if the load balancer is only used to direct Ï packets. Use the persistent template to handle The LocalNode feature enable that the connection affinity. load balancer not only can redirect <cip, 0, vip, 0, sip, 0> for FTP packets, but also can processe some <cip, 0, vip, vport, sip, sport> for packets locally. persistent services except FTP. 21 FWMARK-based services LVS Cluster Management Software Ï Use a firewall-mark to denote a virtual ÏÏ RedHat Cluster Server / Piranha service instead of <protocol, address, ÏÏ LVS+Piranha Cluster Management tools. Ï UltraMoney: Open-Source Server Farm port> It can be flexibly used to build a virtual Ï LVS+lvs-gui+heartbeat+ldirectord Ï heartbeat+ldirectord services associated to different IP addresses and port numbers. Ï heartbeat+mon ... 23
  5. 5. Some sites using LVS Related Works Ï Ï Ï The client-side approach UK National JANET Cache The server-side Round-Robin DNS Ï ( Ï approach Ï The server-side application-level Ï Ï scheduling approach Ï One of largest PC manufacturers Ï EDDIE Ï pWEB Ï ... Ï Reverse-proxy (Apache) SWEB 25 Conclusion Ï Related Works (cont') LVS has patched Linux kernel 2.0 and Ï The server-side IP-level scheduling Ï kernel 2.2 to support three IP load balancing techniques: Ï approach. Berkeley's MagicRouter , Cisco's ÏÏ VS-NAT, VS-Tunneling, VS-DRouting Four scheduling algorithms Ï LocalDirector, Alteon's ACEDirector, RR, WRR, LC, WLC Ï F5 Big/IP Ï High scalability (up to 100 nodes) Ï IBM's TCP router Ï High availability Ï ONE-IP IBM's NetDispatcher Supporting most of TCP and UDP services, no modification to either clients or servers. 27 Compared to Other Future Work Ï Commercial Products Ï Making the LVS netfilter module for Ï Ï Three IP load balancing technologies kernel 2.4 stable in the following month Ï Multiple scheduling algorithms A robust and stable code base, a large Implementing application-based (layer-7) load balancing inside the Ï user and developer base. Reliability proven in big real world Ï kernel. More load-balancing algorithms or Ï applications Free to everyone Ï load-sharing algorithms Exploring higher degrees of high availability (or even fault-tolerance) 29
  6. 6. Acknowledgements Linux Virtual Server Project Ï Thanks to Julian Anastasov, Joseph Mack, Peter Kese, Horms, Lars Marowsky-Bree, Roberto Nibali and Ï others. Thanks to Red Hat, OLS. 31