Page 1 The 11th Northeast Asia OSS Promotion Forum LVS Project: 14 Years Development and Experience Wensong Zhang The 11th Northeast Asia OSS Promotion Forum 2012.11.14
May 14, 2015
Page 1 The 11th Northeast Asia OSS Promotion Forum
LVS Project: 14 Years Development and Experience
Wensong Zhang The 11th Northeast Asia OSS Promotion Forum
2012.11.14
Page 2 The 11th Northeast Asia OSS Promotion Forum
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 Developer
Page 3 The 11th Northeast Asia OSS Promotion Forum
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.org
Page 4 The 11th Northeast Asia OSS Promotion Forum
LVS Framework Framework
Page 5 The 11th Northeast Asia OSS Promotion Forum
IPVS is an advanced Layer-4 switching
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
Page 6 The 11th Northeast Asia OSS Promotion Forum
Building Scalable Network Service using LVS General Architecture
3 tiers Load balancer Server cluster Shared storage
Clusters Web Cache Email, etc
Page 7 The 11th Northeast Asia OSS Promotion Forum
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 servers
Page 8 The 11th Northeast Asia OSS Promotion Forum
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 everyone
Page 9 The 11th Northeast Asia OSS Promotion Forum
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
http://marc.theaimsgroup.com/?1=linux-virtual-server&m=95385809030794&w=2
“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 http://marc.theaimsgroup.com/?1=linux-virtual-server&m=95385694529750&w=2
Page 10 The 11th Northeast Asia OSS Promotion Forum
Some Sites using LVS QQ.com has deployed thousands of LVS
in the production Alibaba has used about 500 LVS systems Baidu.com has used about 500 too sourceforge.net & linux.com real.com IBM and EDS use LVS in their solutions One of largest PC manufacturers There is about tens of thousands of LVS
deployment on this planet
Page 11 The 11th Northeast Asia OSS Promotion Forum
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.2
11
Page 12 The 11th Northeast Asia OSS Promotion Forum
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 added
12
Page 13 The 11th Northeast Asia OSS Promotion Forum
LVS Global Collaboration
Source: WIRED Magazine, Vol. 6, 2004
13
Page 14 The 11th Northeast Asia OSS Promotion Forum
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.
14
Page 15 The 11th Northeast Asia OSS Promotion Forum
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.
15
Page 16 The 11th Northeast Asia OSS Promotion Forum
Collateral The Linux Virtual Server Project
(http://www.LinuxVirtualServer.org)
Page 17 The 11th Northeast Asia OSS Promotion Forum
Q & A
Thanks!