kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> LVS集群技术在教学资源库平台中的应用
LVS集群技术在教学资源库平台中的应用
来源:微型机与应用2013年第23期
邱建新
(河南工业职业技术学院,河南 南阳 473000)
摘要:介绍了LVS集群技术的原理、框架。以CentOS操作系统为基础,描述了LVS集群的配置及实现过程,并对构建的集群系统进行了配置、功能和性能测试。测试结果表明,所构建的集群系统稳定、可靠,具有高可用性、可扩展性和负载均衡的特性。
Abstract:
Key words :

摘 要:介绍了LVS集群技术的原理、框架。以CentOS操作系统为基础,描述了LVS集群的配置及实现过程,并对构建的集群系统进行了配置、功能和性能测试。测试结果表明,所构建的集群系统稳定、可靠,具有高可用性、可扩展性和负载均衡的特性。
关键词:LVS;集群;教学资源库;负载均衡;高可用性

 随着互联网规模的快速扩张,人们访问互联网的业务流量呈爆炸式的增长,网络服务器的并发响应能力面临严峻的考验;同时,更多更复杂的Web事务处理也对服务器的性能提出了更高的要求。单台的计算机提供的服务已不能胜任如此艰巨的任务,而集群技术的出现,则有效地解决了这一问题。
 根据集群的功能、结构和技术的不同,可分为高性能集群、高可用性集群和负载均衡集群,其中负载均衡是集群技术的核心,是决定集群性能的重要因素[1]。在集群技术的发展过程中,出现了许多种不同的集群技术实现方案,而Linux作为一种开源的操作系统及基于LVS实现的Linux集群技术,则更多地得到了人们的关注。
1 LVS集群技术
1.1 LVS简介

 LVS[2](Linux Virtual Server,Linux虚拟服务器)是Linux操作系统上的一个负载均衡软件,是在1998年由国防科技大学的章文嵩博士主持的一个在Linux操作系统上开发的开源集群项目[3]。目前技术发展的比较成熟,已成为Linux内核的一部分。
1.2 LVS模型
 LVS提供的可伸缩网络服务的框架如图1所示。IPVS软件提供三种IP负载均衡技术,KTCPVS实现了基于内容请求分发的应用层交换。可以利用LVS框架实现高可伸缩的、高可用的Web、FTP、Mail等网络服务,开发高可用的电子商务应用。

 LVS在两个层次上很好实现了负载均衡,基于网络层的IPVS和应用层的KTCPVS内容请求分发技术,三种负载均衡技术分别为网络地址转换模式VS/NAT、IP隧道模式VS/TUN和直接路由模式VS/DR。
1.3 LVS的通用体系结构[4]
 在图2所示中,负载调度器是集群调度的核心,是客户机通过虚拟IP访问集群系统的入口。多个真实服务器组成真实提供服务的服务器池,真实服务器的数目可根据需要动态添加,它们共享一个存储区域。整个系统对外呈现一个虚拟服务器,拥有虚拟IP,用户通过虚拟IP访问负载调度器后,根据采用的负载均衡算法将用户的请求调度到一个真实的内部服务器进行处理,多个服务器可以并行执行用户的请求,增加集群系统的整体吞吐率[5]。

 CentOS5默认安装LVS,采用Piranha图形界面进行配置管理,跳动进程Pulse是Piranha的主进程,它负责发送和检测节点之间的心跳(heartbeat)[6-7],两个节点周期性地发送heartbeat信息到网络上,指出当前节点是活动(active)的还是非活动(inactive)的。当LVS开始工作时,LVS进程通过调用ipvsadm程序配置和维护内核中的IPVS路由表,为每一个真实服务器启动一个nanny进程。nanny进程可以查看服务器上配置服务的状态,在服务故障时,通知LVS进程,LVS进程即可调用ipvsadm删除IPVS中对应的路由表项。
当backup router通过心跳通道(heartbeat channel)没有接收到active router的回应时,将调用send_arp函数重新建立虚拟IP到备份结点MAC的映射,然后通过发送命令使active router中的LVS进程关闭,在备份结点中启动LVS进程以恢复和配置服务器之间的连接。
2 基于LVS的集群技术在Linux内核2.6上的实现[7-8]
2.1 平台应用背景

 我院的共享型专业教学资源库平台建设是在近几年学校的数字化校园建设成果的基础上,依托校园网构建一个功能完整、形式多样、内容丰富的、基于Web的共享型专业教学资源库软件平台,构筑开放的教学资源环境,最大限度地满足学生自主学习的需要。为向系统用户(教师和学生)提供流畅、不间断、实时高速度的访问服务,采用了开源Linux操作系统CentOS5.4,结合基于LVS的集群技术,构建系统平台服务器。
2.2 系统拓扑
 平台系统以虚拟IP向外提供服务,图3中①、②为负载均衡主、从调度器,通过交换网络与真实服务器③、④、⑤、⑥连接,平台系统共享内部存储⑦和⑧。节点①和②负责把客户请求转发到Real Server上,当节点①负载均衡器(load balance)不正常工作时,节点①的资源和VIP(虚拟IP)自动切换到节点②,整个系统的调度策略采用LVS/DR。共享型专业教学资源库平台拓扑如图3所示。

2.4 集群系统配置过程
 在CentOS5.4中已集成了LVS,只需在系统安装时选择相应的套件即可,省去了繁琐的内核编译过程。
 (1)按拓扑要求,配置相应服务器的网络参数,并安装所需的piranha软件包。
#rpm-ivh piranha-0.8.4-7.el5.i386.rpm
#/etc/init.d/piranha-gui restart
 (2)访问http://125.219.112.X:3636,进行集群的Web界面配置。
配置包括GLOBAL SETTINGS、REDUNDANCY和VIRTUAL SERVERS,配置文档可参考文献[7],配置完成后,信息保存到/etc/sysconfig/ha/lvs.cf文件。
 (3)把主调度器上的配置文件保存到备份调度器。
 (4)在主、从调度器上分别启动piranha主进程。
#service pulse restart
3 性能测试
 在平台服务器的集群功能配置完成后,为了验证集群配置的正确性,以及是否满足负载均衡、高可用性的要求,同时对于Web站点的服务器的响应时间和吞吐量性能表现,做以下测试:
3.1 集群的调度测试


 在图4中,在3台真实的Web服务器和1台的真实FTP服务器中放置不同的首页面,利用另一台测试机访问并随机刷新http://125.219.112.X-1或ftp://125.219.112.X-1,查看输出结果,测试用户的访问能否被调度到真实的服务器上。
 验证结果:共进行了100次随机访问,其中80次访问Web服务,20次访问FTP服务,统计不同页面的出现次数如表2所示。

3.2 集群可用性测试
 模拟宕机情形,关闭主调度器,测试主、从调度器能否正常切换。
 测试结果:在LVS工作过程中,关闭主调度器①,通过使用ping命令检查已不能与主调度器①连通,用3.1节中方法重新测试调度,结果相同,说明在主调度器宕机过程中,从调度器已接管所有资源管理功能,等到主调度器重启完成,再度进行测试,仍然得到3.1节中相同的结果,说明在可用性测试中,集群的主、从调度器正常平滑切换。
3.3 压力负载测试
 JMeter[9]是Apache组织的开放源代码项目,它是功能和性能测试的工具。对JMeter进行测试时,使用了分布式测试技术,使用6台测试PC,其中一台机器作为Controller,其他的机器为Agent,在所有的机器上运行JMeter-server.bat文件。在所有的机器上设置线程数(模拟并发用户数),经过统计,系统的平均响应时间和吞吐量如表3所示。

 本文使用CentOS5操作系统,采用基于LVS/DR调度的集群技术建立了共享型专业教学资源库平台,并对构建的集群进行了配置、功能和性能测试。系统使用以来一直稳定、快速、高效地向校园网络用户提供服务,从未出现过宕机或断网故障。系统的应用结果表明,所构建的集群系统具有高可用性、可扩展性及负载均衡的特性,是安全和稳定的集群系统。
 集群系统是复杂的,可通过不同的配置改变进行优化[10],最大限度地提升集群的性能,这也是下一步的研究重点。
参考文献
[1] 涂俊英.一种改进的Linux集群系统负载均衡算法[J].微电子学与计算机,2012,31(3):106-109.
[2] Xu Yang, Xie Xiaoyao, Xia Daoxun. Research and design on LVS cluster system[M/CD]. 2009.
[3] Linux服务器集群系统[EB/OL].http://www.linuxvirtualserver.org/zh/lvs1.html,2003.
[4] 刘惠.基于LVS集群动态调度的研究与实现[D].安徽:安徽大学,2012.
[5] 王东煜,张佳乐.基于Linux集群系统的并行通信性能研究[J].电子技术应用,2012,38(6):111-113.
[6] 张永立,胡杰,张根宝.Linux集群心跳检测方法的研究与实现[J].化工自动化及仪表,2010(6):82-84.
[7] CentOS 5 Document[EB/OL]. http://www.centos.org/docs/5/html/5.2/2008.5.
[8] 张帆,袁道华,叶振,等.基于Linux的服务器集群系统设计及实现[J].计算机工程与应用,2006(5),127-131.
[9] Apache Jmeter[EB/OL]. http://jmeter.apache.org/,2013.
[10] 刘玉艳,沈明玉.一种LVS负载均衡调度算法WLC的改进[J].制造业自动化,2010,32(9):187-191.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map