LVS背景
LVS
项目是由国内章文嵩博士在1998年5月
成立的Linux Virtual Server
的自由软件项目开发,主要是针对Linux
服务器集群的开发工作。同时,Linux Virtual Server
项目是国内最早出现的自由软件项目之一。
Linux Virtual Server
项目的目标 :使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)
、可靠性(Reliability)
和可管理性(Manageability)
。
目前,LVS
项目已提供了一个实现可伸缩网络服务的Linux Virtual Server
框架,如图3
所示。在LVS
框架中,提供了含有三种IP
负载均衡技术的IP
虚拟服务器软件IPVS
、基于内容请求分发的内核Layer-7
交换机KTCPVS
和集群管理软件。可以利用LVS
框架实现高可伸缩的、高可用的Web、Cache、Mail
和Media
等网络服务;在此基础上,可以开 发支持庞大用户数的、高可伸缩的、高可用的电子商务应用。
LVS整体架构
整体架构如下:
图1: LVS通用3层架构
一般来说,LVS
集群采用三层结构,其体系结构如图1
所示,三层主要组成部分为:
- 负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。
- 服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。
- 共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
不同服务所适用的调度方式:
WEB
服务:VS/NAT
媒体
服务:VS/DR
Cache
服务:VS/TUN
具体的调度方式我们下一篇文章会详细讲解
IPVS组成部分
- ipvs
Linux
内核的一部分,根据规则执行请求的调度,类似于Iptabels
的netfilter
内核模块!在Linux 2.4
版本时合并进内核。 - ipadm
为ipvs
设置规则的命令行工具,需要安装适用。
一般的ipvs
架构我们只需要适用到上面2
个模块就行了!
IPVS集群特点
- 功能强大
3
种IP
负载均衡技术8
种连接调度算法- 虚拟服务无限制
- 详细的数据统计
- 攻击防卫策略
- 适用性强大
- 后端服务器可运行任何支持TCP/IP的操作系统,包括Linux,各种Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。
- 负载调度器能够支持绝大多数的TCP和UDP协议:
tcp:http、tcp、proxy、smtp、https、ldap
udp:dns、ntp以及音视频协议
- 性能
- 集群可支持百万并发
TUN
或者DR
技术,吞吐量可接近10G/s
- 可靠性
LVS
服务器集群软件已经在很多大型的、关键性的站点得到很好的应用,所以它的可靠性在真实应用得到很好的证实。有很多调度器运行一年多,未作一次重启动。
- 软件许可证
LVS
集群软件是按GPL(GNU Public License)
许可证发行的自由软件,这意味着你可以得到软件的源代码,有权对其进行修改,但必须保证你的修改也是以GPL
方式发行。
总结
本篇文章主要介绍了关于LVS
的背景,以及LVS
的特点。对于详细的负载均衡技术和调度算法我们下一篇文章会详细讲解!
同时可以参考lvs社区
的几篇文章,链接如下:
http://www.linuxvirtualserver.org/zh/lvs1.html
http://www.linuxvirtualserver.org/zh/lvs2.html
http://www.linuxvirtualserver.org/zh/lvs3.html
http://www.linuxvirtualserver.org/zh/lvs4.html