基于Linux PC集群负载均衡的研究与实现

来源 :吉林大学 | 被引量 : 0次 | 上传用户:liongliong498
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Internet正在以超过摩尔定律的速度发展,各种应用和服务迫切的需要更为高效,更为可靠的系统提供支撑。尤其在网络核心,关键业务的应用(如WWW,FTP,VOD),都遇到了单台服务器负载过高的现象,从而无法确保网络的正常应用。集群系统是支撑这些应用长远发展的解决方案之一,也是性价比很高的方案。将集群技术应用到网络核心关键应用中去,可以解决性能瓶颈,保障服务质量,提高技术竞争力。这是应用需求扩大的结果,充分体现了技术驱动和应用拉动的事务发展规律。负载均衡(Load Balance)建立在现有网络结构之上,它提供了有效透明的方法扩展网络设备和服务器带宽、增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。负载均衡是一种策略,这种策略可以针对网络结构中的不同层次而有不同的具体实现,它主要完成以下任务:合理的业务量分配,对外统一服务,解决网络拥塞问题,服务就近提供,实现地理位置无关性 ;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效。在网络服务集群这一研究领域,已有了很多研究成果。早期的循环DNS系统可以将负载分摊到多台机器上,但是不能做到均匀。Berkeley的MagicRouter使用一种类似“本地交换机”的装置来分发负载,实现了较精细的负载平衡。但是该模型中的分发装置在重载时成为性能的瓶颈,因此可扩展性不好。在IBM的eNetwork系统中,类似的分发装置只需完成一部分工作,因此性能瓶颈得到缓解。本论文在参考了上述技术之后,针对网络服务这一专用领域的集群系统进行了研究,提出一种优化的方案——“环状应答”。环状应答的原理和过程如下, 在集群服务器中,关键的流程是一个称为“环状应答”的过程,客户发起请求,服务器1接受请求,并根据自身的负载情况和其他服务器负载情况决定是否自己处理请求和转发请求,假设服务器1转发了请求,服务器2产生应答。根据TCP/IP的原理,服务器2在应答时,必须伪装成服务器1,即应答数据包的源IP地址必须是服务器1的地址。只有这样,客户端才会认为应答是合法的,不至于扔掉数据包。这要求,服务器2在接收到转发数据包时,要同时知道客户端和服务器1的IP地址。IP包头部中只有一个源地址字段,因此普通的IP包不能满足上述要求。通过IP-IP封装技术或MAC修改技术可以实现。比如IP-IP封装技术,服务器2接收到的是一个被封装的IP包,它有两个IP包头。通过分析这两个头部,可以得到服务器1和客户端的IP地址。一旦转发,服务器1必须能够记住这条连接,并将客户端后续发来的数据包都转发到服务器2。在这个环状的应答过程中,客户始终是被蒙蔽的,它不<WP=90>需要知道是谁为自己服务,因此也无须任何修改。但是,服务器1和2使用了非正常的IP数据包发送方式,因此内核中的TCP/IP协议栈需要修改。在此模型上,作者研究了RFC2003。采用RFC 2003中的封装技术。当服务器1要把数据包转发时,它在该数据包的基础上,再追加一个IP头部,该IP头部中包含新服务器2的IP地址,并包含特殊的协议类型编码。服务器2收到该数据包后可以通过IP头部中的协议类型来判断该数据包是否经过封装,从而知道该数据包是否直接来自于客户端。服务器2在解开封装后,得到原始的数据包,其中包含数据和客户端的IP地址。服务器2应该直接对客户端发回应答,这里要对应答的IP数据包进行重写。虽然有多种方案可用,但采用IP-IP封装技术是最具扩展性的,因为封装后的数据包还是合法的IP包,它甚至可以穿越WAN,从而实现更大规模的集群。本策略是一个基于Linux的PC集群负载均衡策略,通过修改Linux内核中的TCP/IP协议栈,使得集群中各节点能自动平衡网络负载。实现方案采用完全分散的设计模式,不采用集中式的分发管理中心,因此适合于PC集群。在设计中,每个节点既有服务的能力,又有转发的能力。每个节点记录其它节点的负载情况,本节点的连接和转发情况,并依据这些信息做出转发决策,使得用户请求被均匀分散到各个节点。集群的内部通讯协议保障各节点的信息同步,并具有探测节点故障的能力。当节点出现故障时,可采取多种应对手段,进一步提高了系统可用性。另外,本系统能够保持用户态编程接口不变,基于本系统的应用程序开发将会很容易。作者对Linux的TCP/IP协议栈进行了必要的分析,内容涉及TCP/IP各层的实现及主要数据结构,数据接收和发送的过程,协议栈的初始化过程,中断和系统调用。此外,还对该领域的相关研究做了介绍,并比较了本系统和它们的异同点。最后,介绍了测试环境和结果。实验表明,本系统运行稳定,性能随集群规模线性增长,具有较好的可扩展性和可移植性。
其他文献
本文针对软件移植技术展开深入研究、设计一个从Windows到Linux的软件移植辅助工具W2L(Windows To Linux)并设计和实现一个Delphi单元文件移植子系统UTS(Unit File Transplan
网络安全研究的一个重要理论基础是安全评价,特别是定量刻画网络系统的安全性,评价安全机制保证的安全程度,这是从理论上指导构建网络安全的基础。目前,大部分的网络安全性评
可编程逻辑控制器(PLC)由于具有很高的可靠性和强大的处理能力,在工业控制系统中被广泛采用。目前PLC程序自动生成软件基本都针对单机环境和特定的编程语言而开发,如何设计一
随着Internet的迅速发展,各种各样的数字多媒体信息包括文本、图像、音频、视频等通过网络广泛传播。同时网上的信息可以被方便地复制和修改,因特网上的侵权问题变得越来越严
本文在密码学理论的基础上,对混沌加密技术进行了深入的研究,对其实现原理、加密解密模型进行阐述,并将其与传统加密技术进行比较.提出一种多级混沌加密算法,并利用超混沌映
论文针对一些特殊矩阵类,研究矩阵计算中的三类问题:延拓矩阵类的性质、对称矩阵类的反问题以及块循环矩阵类的预条件方程组的求解。首先,利用延拓矩阵的奇异值分解,导出延拓矩阵
剖面图是地质研究,特别是石油勘探开发研究中最基本的地质图件,但目前对剖面图的处理、绘制还大都还停留在手工阶段,而人们应用计算机绘制剖面图却因缺少开发剖面图图件的规范,使
由于Web的易用性和实用性,它已经成为了当今使用最为广泛、最有前途的信息传播技术。但是,Web服务只提供Internet的信息平台。随着Internet技术的兴起与发展,人们已经不满足
企业信息化建设和研究中,信息和应用的集成一直是研究和应用的热点。企业信息和应用的集成主要目的是为了解决企业信息和应用系统之间由于数据异构性存在而造成的“信息孤岛”
本论文从具体的网络结构出发,设计并实现了一套在TCP/IP网络上提高信息传输效率的算法和方案。它对传统的文件传输方式进行了改进,将点对点的传输转换成多点对一点的传输,并在多