Linux集群下的校园网络负载均衡方案 2
发布时间:2024-11-10
发布时间:2024-11-10
Linux集群下的校园网络负载均衡方案
摘 要:为了解决大量的校园网络服务带来的网络拥挤问题,本文提出基于Linux集群的校园网络负载均衡方案。它采用地址转换和IP隧道两种方式,将计算机集群虚拟化成一个虚拟服务器,从而在IP层上实现负载均衡调度。该方案能够充分发挥校园网络设备的利用率,减少单位资金的投入和降低维护成本,从而提高校园网络的整体性能。 关键词:负载均衡,网络地址转换,IP隧道,虚拟服务器
中图分类号:TP393.1 文献标识码 A
引 言
随着高校信息化水平的不断提高,高校校园网络的规模和服务功能也在不断扩展,新的
[1]网络设备和网络应用平台也不断更新和投入使用。校园网络要承担教学管理、科学研究、
远程教育、Web服务等诸多任务。网络中心作为校园网络的核心机构,还要承担数据存储、信息发布、流量监控、用户管理、负载均衡、信息安全、病毒防治等一系列网络管理任务。总体来说,校园网络用户群体庞大、资源利用率高、管理难度大。并且由网络服务功能的扩展带来的流量监控和负载均衡问题日益突出,占用了大量的人力和物力,使网络运营维护成本居高不下。本为提出基于Linux集群技术设计的校园网络负载均衡方案可以有效地解决这一问题。
1 负载均衡
假如学校网络有N台服务器,网络内同一时间的访问请求个数为M(一般情况下M远远大于N),这就要求网络中部署一个设备或软体,它负责将M个访问请求调度到N个不同服
[2]务器上去,这就是负载均衡器的作用。负载均衡器是服务器集群的唯一入口,它可以是一
个独立的硬件实体,也可以是一个安装在代理服务器内的软体。在校园网络中,计算机集群是通过负载均衡设备将统一的一个公有IP地址映射到整个集群中的多个IP地址主机上,以实现单一客户端对整个集群的访问。公有的虚拟IP地址相当于一个虚拟服务器,和集群内主机IP地址的关系是一对多的映射关系,这种映射关系可以有效解决校园网络IP地址短缺
[3]问题。在工作过程当中,若负载均衡器出现故障,则很可能造成整个集群负载失效。因此,
在实际应用中,我们可以部署多个均衡器,用以提供必要的负载均衡容错机制,对负载均衡器进行备份并对其工作状态进行监控,可以在网络负载均衡设备出现故障情况下进行有效转换,利用备份负载均衡设备替换故障设备,并对故障设备进行报警、检查、恢复等操作,使其恢复正常工作。
1.1 Linux中负载均衡模型
上述所提到的负载均衡实现方法是基于IP协议层实现的负载均衡技术,它将整个网络的接入请求划分成一个个单一的网络请求,通过负载均衡器将它们分别调度到服务器集群中的单一主机上,由整个集群的主机来分担任务,以最大限度地发挥整个网络的性能。实现负载均衡的关键技术在于IP层的负载分配,该技术具有良好的兼容性、高效的执行效率、简单的体系结构等特点。
在Linux系统中,这种基于IP层交换的负载均衡技术具备良好的可扩展性、易管理性,
[4]可以大幅提高整个集群系统的性能,从而实现以负载均衡为核心的Linux集群系统。该系
统可通过三种不同负载均衡模型来实现,分别是:地址转换(NAT)模型、IP隧道模型和直接
[5]路由(DR)模型。本人重点对前两种模型进行了分析和研究。
在地址转换(NAT)模型中,集群内部的IP地址与外部网络隔开,服务器内部结点拥有一个IP地址池,每个数据请求和应答都通过负载均衡设备,负载均衡设备负责对IP数据包进行处理然后和客户端进行通信。
在IP隧道模型中,整个网络是个开放的体系结构,集群系统中的每个主机在互联网上都有一个合法的IP地址,客户端和服务器端的通信是通过路由应答方式来实现。其实现过程为,客户端向虚拟IP地址主机(负载均衡器)发送通信请求,虚拟IP主机(负载均衡器)通过IP隧道对该数据包进行封装并选定目的主机结点作为新的IP主机地址,然后发送到对应IP主机结点上;对应IP主机结点接收虚拟IP地址主机(负载均衡器)发送的IP隧道数据后将数据包解包进行数据处理,并根据源客户端的IP地址将应答数据包直接反馈给源客户端,但此时应答数据包的源地址为虚拟IP地址,即负载均衡器的IP地址。
在直接路由(DR)模型中,整个集群内的主机和负载均衡器都有共同的虚拟IP地址,但负载均衡器和每个主机都不解析虚拟IP的RAP地址,只接收符合自己MAC地址的数据包。客户端向负载均衡器发送数据请求后,负载均衡器根据当前集群工作状态选择集群内部主机
[6]结点并重写数据包的MAC地址,然后将数据包广播到所属网段内。当对应主机的收到负载
均衡器广播的数据包后,便会直接和客户端进行通信,并将处理后的数据反馈给客户端。总的来说,客户端始终是和有着同一虚拟IP地址的负载均衡服务器集群进行通信。
1.2 三种负载均衡模型的比较
根据以上对三种模型的介绍,从连接通信方式、数据包处理、优点、缺点等方面对它们进行对比分析。见下表1。
表1 三种负载均衡模型对照分析
名称 通信方式 数据包处理 优点
方法简单、易于在客户端和
集群系统中实现IP层请求
和应答的转换,适合网络数
据流量小的校园网络
应答数据包直接反馈给客
户端,具有通信效率高和良
好的可扩展性优点
应答数据包直接反馈给客
户端,具有通信效率高、可
扩展性等特点, 缺点 速度慢,在大量较重负载的网络中应用时候会造成网络瓶颈 NAT 双工 IP封包 IP隧道 单工 IP封包 网络安全性低 DR 单工 MAC封包 网络安全性低、管理相对复杂
2. 基于IP层负载均衡调度的解决方法
2.1 负载均衡调度在硬件中实现
通过对以上三种模型的对比可知,不论采用哪一种负载均衡模型,其工作基本的原理是一致的,即客户端访问负载均衡设备,负载均衡设备接收到访问请求后对它进行封包转发,然后从一组服务器集群中选择一个主机,将请求数据包发送给它,集群内主机接收到请求数
据包后对数据包进行处理,然后将响应数据包反馈给负载均衡设备或者直接反馈给客户端。目前,很多企业在设计自己的负载均衡设备时,都是采用了地址转换方法来实现,比如Berkeley的Magic Router、Cisco的Local Director、Alteon的ACE Director和F5的Big/IP
[7]等都是使用网络地址转换方法。
2.2 NAT实现虚拟服务器(VS/NAT)集群负载均衡
在Internet迅猛发展的今天,IPV4地址已经接近枯竭,为了节约IPV4地址,网络在进行NAT转换时可以使用专门为内部网络保留的IP地址,比如10.0.0.0/255.0.0.0、192.168.0.0/255.255.0.0等。通过NAT将不同IP地址的主机变成一个虚拟服务器集群(VS)的示意图如下图1所示。在图1中,VS由一个负载均衡设备、一个交换机、若干服务器主机组成。当客户端通过Internet对VS进行访问时,负载均衡设备负责将请求数据包调度给相应主机,不管请求数据包被发调度哪台主机上,其反馈的结果都没有任何不同。
在图1中,
负载均衡设备
接收到请求数
据包后并对它
进行封包,然后
采用一定的算
法将数据包调
度到相应主机
上。目前常用的
调度算法是动
态反馈负载均
[8]衡调度算法,
该算法将影响
负载均衡的几
个主要元素采
用权值计算方式 图1 VS/NAT的体系结构
纳入到调度决策过程中,有效地解决负载调度的效率问题。
2.3 VS/NAT实验分析
为了进一步说明VS/NAT工作过程,在这里设计一个案例并对之进行分析。具体的VS/NAT的配置如图2表所示。设定VIP(虚拟IP)地址为10.3.1.5,80端口的数据请求都被调度到集群内主机173.1.0.1:80和173.1.0.1:8000上(web服务);21端口的数据请求被调度到集群内主机173.1.0.1:21上(ftp服务),如下表2所示。
根据上面的请求数据包负载调 表2 VS/NAT集群负载均衡调度对照表 度对照表,下面我们详细分析具体的VIP 协议 端口 集群内主机IP 端口 权 客户端请求数据包改写流程。
173.1.0.1 80 1 设定访问Web服务器的的客户端80 TCP 10.3.1.5 173.1.0.1 8000 2 请求为:
21 173.1.0.1 21 1 源地址:102.1.1.2:3688 目的地
址:10.3.1.5:80
当负载均衡器接收到数据包请求后,便通过调度程序按照相应从集群系统中选择一台主
机,假如选择173.1.0.2:80。这时候数据包被封包,并将地址改写,然后发送到173.1.0.2:80。地址改写如下:
源地址:102.1.1.2:3688 目的地址:173.1.0.2:80
主机173.1.0.2接收到数据包以后,首先将数据包解包,处理后反馈响应数据包给负载均衡设备,地址变换如下:
源地址:173.1.0.2:80 目的地址:102.1.1.2:3688
负载均衡设备接收到反馈数据包后,对源地址进行改写,将源地址改写成虚拟IP地址,地址变换如下:
源地址:10.3.1.5:80 目的地址:102.1.1.2:3688
客户端接收到的数据包的源地址便是虚拟IP地址10.3.1.5:80,而不是集群内主机173.1.0.2:80地址。这个地址转换过程是双工转换,整个过程完成了对集群内主机IP的屏蔽。不论集群内是哪一台主机响应了外部客户端的请求,其结果都是一样的。
3.通过IP隧道实现虚拟服务器(VS/TUN)集群负载均衡
在本文1.1中
提到过,采用NAT
实现VS集群系统只
适合请求和响应的
数据包较小的情
况,而当集群内服
务器数目较多、请
求和响应
数据包较大的时候
采用VS/NAT
模式就会严重影响
整个系统的性能,
并使之成为整个系
统的瓶颈。若能将
请求数据包和响应
数据包分开处理,采 图2 VS/NAT的例子
[9]用单工方式对请求数据包进行封包,将响应数据包直接反馈给客户端,这样就可以大大提
高整个集群系统性能,IP隧道(TUN)模式就是基于单工机制来实现服务器集群负载均衡的。
3.1 IP TUN工作原理
首先,在服务器集群中建立IP隧道。在IP TUN体系结构(如图3所示)中,有一个统一的VIP(虚拟IP)地址,服务器集群中每个主机都将VIP地址配置到自己的IP隧道设备
[10]上。
其次,所有的网络服务全部虚拟到VIP服务器上以供外部网络访问。
数据包处理工作过程为,客户端发送服务请求到VIP服务器上,VIP服务器对请求数据包进行IP封包后通过负载均衡设备对集群内主机进行选择,集群内主机接收到请求数据包后对数据包进行处理并直接将处理结果反馈给客户端。
3.2 IPTUN封包和数据包反馈过程
如图3所
示,在IP TUN
工作过程中,客
户请求数据包
发送到统一的
虚拟IP地址服
务器上,要将数
据包进行封装,
然后通过隧道
发送到相应主
机上,最后通过
主机直接反馈
给客户端,假定
外网客户端IP
地址为
102.1.1.2,其
过程如下图4所
示。
这里需要注意的是,经过实际服务器处理后的IP packet中,实际反馈给客户端的数据包的源地 图3 VS/TUN的体系结构
址是VIP。
4.结论
随着人们对Linux服务器依赖的加深,对其可靠性、负载能力和计算能力也倍加关注,Linux集群技术应运而生。本文提出了基于Linux系统的校园网络负载均衡方案,重点讨论了基于IP层负载均衡调度的解
决方法,提出了VS/NAT和
VS/TUN实现模型,并对VS/NAT
模型进行例证分析,证明其应
用的可靠性。
图4 IPTUN封包和数据包反馈过程
参考文献: [1] 董静宜,王鹏,陈磊,任华,唐超.云计算集群系统负载均衡算法的熵值判定[J].成都信息工程学院学报,2010,25(6):580-583.
[2] 陈 超.利用LVS中的IP负载均衡技术建立可伸缩性网络服务[J].四川理工学院学报(自然科学版),2006.8,19(4):81-85.
[3] 李文中,郭胜,许平,陆桑璐,陈道蓄.服务组合中一种自适应的负载均衡算法[J].软件学报,2006,17(5):1068-1075.
[4] 戴艺,苏金树,孙志刚.基于流映射的负载均衡调度算法研究[J].计算机学报,2012.2,35(2):218-227.
[5] 郭成城,晏蒲柳.一种异构Web服务器集群动态负载均衡算法[J].计算机学
报,2005,28(2):179-184.
[6] Christopher Negus.Linux Bible,2011 Edition[M].出版社所在城市:美国Wiley
Publishing,Inc.2011.503-510.
[7] 李飞,杨放春,苏森.分布式W曲勇爱务QoS注册中的高效负载均衡方法[J].电子与信息学报.2009.5,32(5):1022-1025.
[8] Lada A.Adamic and Bernardo A.Huberman .Zipf’s Law and the
Internet[J],Glottometrics,3,2002:143-150.
[9] Koloniari G and Pitoura E.Peer-to-peer management of XML data:Issues and research challenges[J].ACM SIGMOD Record,2005,34(2):6-17.
[10] 董丽丽.基于Linux集群负载均衡算法的分析与研究[D].西安:西安建筑科技大学,2009.
The balancing scheme for campus network load based on Linux cluster
Hu-Xiujian1,Wang-Hao2,Lian-Xiangli1,Chen-Wei1
(1.Department of Computer Information of Suzhou vocational and technological college,Suzhou,234011,China;http://puter Information College of Fuyang Teachers College,Fuyang,36037,China)
Abstract: In order to solve the problem of campus network congestion, this paper puts forward a balancing scheme for campus network load based on Linux cluster, in which address translation and IP tunnel are used--- the two ways can make the computer cluster into a virtualization server so as to realize load balance scheduling in terms of IP layer . This scheme can give full play to the campus network equipment utilization, reducing the unit capital investment and maintenance costs, and thus improve the overall performance of the campus network.
Keywords: load balancing, network address translation, IP tunnel, virtual server
下一篇:大学英语课程总结