LVS development and experience

17
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

description

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.

Transcript of LVS development and experience

Page 1: LVS development and experience

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: LVS development and experience

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: LVS development and experience

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: LVS development and experience

Page 4 The 11th Northeast Asia OSS Promotion Forum

LVS Framework Framework

Page 5: LVS development and experience

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: LVS development and experience

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

演示者
演示文稿备注
Blocking blocks: Load balancer Layer-4 switching, Layer-7 switching Server HTTP, HTTPS, FTP, SMTP, POP3, IMAP4, most TCP and UDP services Shared storage database, network file system, distributed file system, ... High Availability Server failover ping, service detection, etc Load balancer failover state synchronization heartbeat
Page 7: LVS development and experience

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: LVS development and experience

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: LVS development and experience

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: LVS development and experience

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: LVS development and experience

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: LVS development and experience

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: LVS development and experience

Page 13 The 11th Northeast Asia OSS Promotion Forum

LVS Global Collaboration

Source: WIRED Magazine, Vol. 6, 2004

13

Page 14: LVS development and experience

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: LVS development and experience

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

演示者
演示文稿备注
Good to write documents in English, if we want to attract International users.
Page 16: LVS development and experience

Page 16 The 11th Northeast Asia OSS Promotion Forum

Collateral The Linux Virtual Server Project

(http://www.LinuxVirtualServer.org)

[email protected]

Page 17: LVS development and experience

Page 17 The 11th Northeast Asia OSS Promotion Forum

Q & A

Thanks!