Wensong Zhang
China National Laboratory for Parallel & Distributed Processing Free Software Symposium 2002 October 22, 2002
Page 1
Agenda
Introduction
The
Linux Virtual Server framework Building Scalable Network Services using LVS Future Work of LVS Characteristics of LVS
Page 2
Introduction
Internet
Explosive
Page 3
Introduction
Page 4
Introduction
Possible Solutions
Single
server upgrade
Page 5
LVS Framework
Page 6
LVS Framework
Framework
Page 7
LVS Framework
IP Virtual Server
Implemented
scheduling algorithms
Page 8
LVS Framework
VS/NAT
Page 9
LVS Framework
VS/TUN
Page 10
LVS Framework
VS/DR
Page 11
LVS Framework
Comparison
VS/NAT Server any server network private server number low (10~20) server gateway load balancer VS/TUN Tunneling LAN/WAN High (100) own router VS/DR Non-arp device LAN High (100) Own router
Note: those numbers are estimated based on the assumption that load balancer and backend servers have the same hardware configuration.
Page 12
LVS Framework
Scheduling Algorithms
Round-Robin Weighted
Page 13
LVS Framework
Page 14
LVS Framework
State Synchronization
Conn
Page 15
LVS Framework
KTCPVS
Layer-7
switching in user-space
Page 16
LVS Framework
KTCPVS (Contd)
kernel
Page 17
LVS Framework
LVS + Piranha
UltraMonkey
Page 18
General Architecture
3
tiers
Shared storage
Page 19
Building Blocks
Load
balancer
HTTP, HTTPS, FTP, SMTP, POP3, IMAP4, most TCP and UDP services
Shared
storage
Page 20
High Availability
Server
failover
balancer failover
state synchronization
heartbeat
Page 21
Web Cluster
Page 22
Cache Cluster
Page 23
Mail Cluster
Page 24
National JANET Web Cache (wwwcache.ja.net) linux.com sourceforge.net valinux.com real.com One of largest PC manufacturers etc.
Copyright 2002 Wensong Zhang.
Page 25
Future Works
Adding
more load balancing algorithms Developing more advanced/flexible cluster monitoring software Making KTCPVS ready for production Exploring TCP handoff etc.
Copyright 2002 Wensong Zhang.
Page 26
Characteristics of LVS
Characteristics
LVS
extends Linux kernel to support three IP load balancing techniques Eight scheduling algorithms High scalability (up to 100 nodes) High availability Supporting most TCP and UDP services, no modifications to either clients or servers
Copyright 2002 Wensong Zhang.
Page 27
Characteristics of LVS
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
Copyright 2002 Wensong Zhang.
Page 28
Summary
Introduction The
Linux Virtual Server framework Building Scalable Network Services using LVS Future Work of LVS Characteristics of LVS
Page 29
Call to Action
Building
scalable network services is complicated and expensive LVS is here to help make your life easier LVS is proven stable, and is being deployed by more and more sites.
Page 30
Collateral
The
(http://www.LinuxVirtualServer.org) wensong@linux-vs.org
Copyright 2002 Wensong Zhang.
Page 31