LVS development and experience


Published on

Linux Virtual Server (LVS) is an open source load balancing software for Linux, it can be used to build highly scalable network services. The talk will give a brief introduction about the LVS project and its software, and outline over 14 years development and milestones, which includes community development and global collaboration, and finally conclude some personal experience from open source development of LVS.

1 Comment
  • I like your document.
    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

LVS development and experience

  1. 1. LVS Project: 14 Years Development and Experience Wensong Zhang The 11th Northeast Asia OSS Promotion Forum 2012.11.14The 11th Northeast Asia Page 1OSS Promotion Forum
  2. 2. About Me  Wensong Zhang, Ph.D.  Working at Alibaba, leading software infrastructure team  LVS founder & developer  Was the chief scientist and co-founder of TelTel, an associate professor at NUDT, the co-founder of ChinaCluster, and Red Hat Kernel DeveloperThe 11th Northeast Asia Page 2OSS Promotion Forum
  3. 3. LVS Framework The Linux Virtual Server Project  The goal of the Linux Virtual Server project  to provide a basic framework for building highly scalable and highly available network services using a large cluster of commodity servers.  http://www.LinuxVirtualServer.orgThe 11th Northeast Asia Page 3OSS Promotion Forum
  4. 4. LVS Framework FrameworkThe 11th Northeast Asia Page 4OSS Promotion Forum
  5. 5. LVS Framework IP Virtual Server  Implemented in the Linux kernel  Three IP load balancing techniques  Virtual Server via NAT  Virtual Server via IP Tunneling  Virtual Server via Direct Routing  Ten scheduling algorithms IPVS is an advanced Layer-4 switchingThe 11th Northeast Asia Page 5OSS Promotion Forum
  6. 6. Building Scalable Network Service using LVS General Architecture 3 tiers  Load balancer  Server cluster  Shared storage  Clusters  Web  Cache  Email, etcThe 11th Northeast Asia Page 6OSS Promotion Forum
  7. 7. Characteristics of LVS Characteristics  LVS extends Linux kernel to support three IP load balancing techniques  Ten scheduling algorithms  High scalability (up to 100 nodes)  High availability  Supporting most TCP and UDP services, no modifications to either clients or serversThe 11th Northeast Asia Page 7OSS Promotion Forum
  8. 8. Characteristics of LVS Compared to Other Commercial Products  More IP load balancing techniques  Multiple scheduling algorithms  State synchronization  A robust and stable code base, a large user and developer base.  Reliability proven in big real world applications  Free to everyoneThe 11th Northeast Asia Page 8OSS Promotion Forum
  9. 9. Comments from LVS Users  “ We tried virtually all of the commercial load balancers, LVS beats them all for reliability, cost, manageability, you-name-it” Jerry Glomph Black, Director, Internet & Technical Operations, Real Networks, Seattle Washington, USA  “I can say without a doubt that lvs toasts F5/BigIP solutions, at least in our real world implementations. I wouldn’t trade a good lvs box for a Cisco Local Director either” Drew Streib, Information Architect, VA Linux Systems, USA 11th Northeast Asia Page 9OSS Promotion Forum
  10. 10. Some Sites using LVS  has deployed thousands of LVS in the production  Alibaba has used about 500 LVS systems  has used about 500 too  &   IBM and EDS use LVS in their solutions  One of largest PC manufacturers  There is about tens of thousands of LVS deployment on this planetThe 11th Northeast Asia Page 10OSS Promotion Forum
  11. 11. LVS Development  I got my first Linux CD at the end of 1995, mainly installed Linux for fun, later used Linux servers in some SI solutions.  May 1998: the first version of LVS was released as a patch for Linux kernel 2.0, which only supports VS/NAT and Round-Robin scheduling, very simple!  Later, added more scheduling algorithms, and included some bug fixes, and so on.  Nov 1998: implemented the VS/IPTunneling load balancing.  May 1999: implemented the VS/DirectRouting load balancing, then ported it to the Linux kernel 2.2The 11th Northeast AsiaOSS Promotion Forum Page 11 11
  12. 12. LVS Development (cont’d)  More and more people joined the project.  May 2000: ported to the Linux kernel 2.4  Sep 2002: ported to the Linux kernel 2.5  Oct 2003: included into the Linux kernel 2.5 devel trunk, and into the Linux kernel 2.4 stable branch too.  Nov 2003: Linux kernel 2.4.23 includes LVS  Dec 2003: Linux kernel 2.6.0 includes LVS  Nov 2008: Google engineers helped to add IPv6 support  Feb 2010: SCTP protocol support was addedThe 11th Northeast AsiaOSS Promotion Forum Page 12 12
  13. 13. LVS Global Collaboration  Source: WIRED Magazine, Vol. 6, 2004The 11th Northeast AsiaOSS Promotion Forum Page 13 13
  14. 14. Some Insights  It’s better to do things well first, then reward follows.  Open source is a good way to get more users, users will test and give feedbacks.  Open source is also a good way to collect requirements.  Through open source development, we can get help from a lot of developers and talents, we can improve our skills through collaboration. Software quality is improved as well.  Open source can make our code to have much longer lifecycle.The 11th Northeast AsiaOSS Promotion Forum Page 14 14
  15. 15. Some Insights (Cont’d)  The ways that users run our software usually beyond our imagination.  Do not think that it’s too hard to do open source, just write software and open source it.  It’s important to write documents for open source projects, especially the QuickStart.  It’s also very important to give acknowledgements to every contribution, then community can grow.The 11th Northeast AsiaOSS Promotion Forum Page 15 15
  16. 16. Collateral  The Linux Virtual Server Project (  wensong@linux-vs.orgThe 11th Northeast Asia Page 16OSS Promotion Forum
  17. 17. Q & A Thanks!The 11th Northeast Asia Page 17OSS Promotion Forum