章文嵩:使用LVS集群架设高可扩展的网络服务.pdf2. 议程
引言
LVS集群技术
使用LVS架设可扩展的网络服务
LVS用户和评价
LVS硬件平台
小结
2009系统架构师大会 Page 2
3. Internet
Internet的飞速发展
网络流量迅猛增长(90年代每年100% 、00到08每年
60~90%、未来4年的CAGR 40%)
越来越多的关键性业务在网上开展
很多网站收到前所未有的工作负载
Google每天处理几亿搜索请求
Yahoo! 每天收到34亿次的网页访问(2007.10)
视频分享网站
社交网络网站等等
Slashdot / Digg等效应
2009系统架构师大会 Page 3
4. 架设网络服务的需求
渐进的可扩展性(Incremental
scalability)
24x7的可用性( 24x7 availability)
可管理性(Manageability)
价格有效性(Cost-effectiveness)
2009系统架构师大会 Page 4
5. 可能的解决方案
单服务升级
升级过程复杂、成本高、单一故障点
服务器集群 ---- 架设网络服务的有效结构
集群系统的冗余性 --- 高可用性
分而治之 --- 高性能、高吞吐率
结点数目可以动态调整 --- 高可扩展性
高性能/价格比
2009系统架构师大会 Page 5
6. 议程
引言
LVS集群技术
使用LVS架设可扩展的网络服务
LVS用户和评价
LVS硬件平台
小结
2009系统架构师大会 Page 6
7. Linux Virtual Server
集群项目
Linux虚拟服务器项目的目标
提供一个基本的框架,使用一组高性价比的
商品化服务器建立高可扩展的、高可用的网
络服务
Linux虚拟服务器项目于1998年5月创建
http://www.LinuxVirtualServer.org/
2009系统架构师大会 Page 7
9. IP Virtual Server
在Linux内核中实现
三种IP负载均衡技术
通过网络地址转换实现虚拟服务器
通过IP隧道实现虚拟服务器
通过直接路由实现虚拟服务器
十种负载调度算法
支持IPv4和IPv6
IPVS是先进的第四层交换系统
2009系统架构师大会 Page 9
13. 负载调度
内核中的连接调度算法
Round-Robin Scheduling
Weighted Round-Robin Scheduling
Least-Connection Scheduling
Weighted Least-Connection Scheduling
Locality-Based Least-Connection Scheduling
LBLC with Replication Scheduling
Source Hashing Scheduling
Destination Hashing Scheduling
Shortest Expected Delay
Never Queue
2009系统架构师大会 Page 13
14. 负载调度
动态反馈负载均衡算法
2009系统架构师大会 Page 14
15. 集群调度器的状态同步
连接状态同步线程(内核线程)
UDP 多目广播
2009系统架构师大会 Page 15
17. 议程
引言
LVS集群技术
使用LVS架设可扩展的网络服务
LVS用户和评价
LVS硬件平台
小结
2009系统架构师大会 Page 17
18. 通用的负载均衡服务架构
负载均衡网络服
务的三层架构
Load balancer
Server cluster
Shared storage
2009系统架构师大会 Page 18
19. 架设模块
Load balancer
四层交换, 七层交换
Server
HTTP, HTTPS, FTP, SMTP, POP3, IMAP4,
大多数TCP和UDP网络服务
Shared storage
数据库、数据库集群系统、网络文件系统、
分布式网络文件系统、 ...
2009系统架构师大会 Page 19
20. 系统的高可用性
Server failover
ping, service detection, etc
Load balancer failover
state synchronization
heartbeat
2009系统架构师大会 Page 20
24. Media集群
Real Media
Service
Windows
Media
Service
QuicktimeM
edia Service
Flash Media
Server
2009系统架构师大会 Page 24
25. Media集群(续)
小规模的media集群系统
5~7 media服务器结点
基于Linux的NAS存储 (CIFS/NFS, 日志文件
系统, 高达几个TBytes存储容量)
大规模的media集群系统
10+ media服务器结点
光纤通道存储
2009系统架构师大会 Page 25
27. MySQL集群
LVS
Picture taken from MySQL web site
2009系统架构师大会 Page 27
28. Building SNS using LVS
Scalable Network Service
Global Load Balancing
Cache Cache Cache Cache
Edge Cluster Cluster Cluster Cluster
Web Web Web
Application Cluster Cluster Cluster
Memcached Memcached
Memory Cache
File File
Storage Database Database Storage Storage
Cluster Cluster Cluster Cluster
2009系统架构师大会 Page 28
29. 议程
引言
LVS集群技术
使用LVS架设可扩展的网络服务
LVS用户和评价
LVS硬件平台
小结
2009系统架构师大会 Page 29
30. 一些用LVS集群的大型站点
腾讯、百度、新浪、携程、酷6、优酷等
等
abc.com
real.com
sourceforge.net & linux.com
UK National JANET Web Cache
empas.com
EDS.com
Dell.com
2009系统架构师大会 Page 30
31. LVS用户的评价
“ 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
2009系统架构师大会 Page 31
32. 议程
引言
LVS集群技术
使用LVS架设可扩展的网络服务
LVS用户和评价
LVS硬件平台
小结
2009系统架构师大会 Page 32
33. LVS硬件平台
任何跑Linux的硬件平台都可以运行LVS
LVS的负载均衡和报文转发对CPU速度要
求低
可以用低功耗的硬件平台运行LVS
Intel ATOM CPU 1.6GHz, 功耗2~3W
Gigabit Ethernet
2009系统架构师大会 Page 33
34. LVS硬件平台
1U双机负载均衡器
2009系统架构师大会 Page 34
35. LVS硬件平台
万兆负载均衡器
万兆网卡,如Intel 10G Ethernet
Adapter
基于multi-core
Intel® Xeon处理器的系
统,如2个双核64bit Xeon系统或者四核
Xeon的系统
多队列(Multiqueue)的支持
2009系统架构师大会 Page 35
36. 议程
引言
LVS集群技术
使用LVS架设可扩展的网络服务
LVS用户和评价
LVS硬件平台
小结
2009系统架构师大会 Page 36
37. LVS的特点
LVS扩展了Linux内核来支持三种负载均衡技术
十种负载调度算法
高可扩展性 (可支持高达100个结点)
高可用性
支持大多数TCP和UDP网络服务,不需要对客
户端和服务器作代码修改
IPVS代码已经被收录到官方的 Linux内核2.4和
2.6中
支持IPv6 (Linux kernel 2.6)
2009系统架构师大会 Page 37
38. 与其他商品化产品的比较
更多的IP
负载均衡技术
多种负载调度算法
调度器间的状态同步
一个稳定可靠的代码库,一个很大的用户
群
稳定性在真实世界的大型应用中得以证明
2009系统架构师大会 Page 38
39. 行动起来吧!
组建高可扩展的网络服务是挺复杂的,也
是花费高昂的
LVS可以使得这项工作变得容易起来
LVS已经被证明非常稳定,也被越来越多
站点和系统部署
2009系统架构师大会 Page 39
40. 相关信息
The Linux Virtual Server Project
(http://www.LinuxVirtualServer.org)
wensong@linux-vs.org
2009系统架构师大会 Page 40
41. Q & A
Thanks!
2009系统架构师大会 Page 41