本文主要是介绍LVS集群技术在教学资源库平台中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘 要: 介绍了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 集群的调度测试
这篇关于LVS集群技术在教学资源库平台中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!