




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、密级:保密期限:一一 工程硕士研究生学位论文题目:基王巡墨趁直亘且鱼载塑堑 塞叠丕统数逡让皇塞理学 姓 专 导 学 号:Q塾堕曼塑. 名:堡剑越业:通信筮往 师:星立出院:筮鲑堂陵 二。一。年七月 1j ! 静 巍? 毒f0t 慧独创性(或创新性声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。申请学位论文与资料若有
2、不实之处,本人承担一切相关责任。本人签名:日期:21!二2二至关于论文使用授权的说明本人完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校 可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。本学位论文不属于保密范围,适用本授权书。本人签名:聊繇羟出:日期:之!竺二2二呈 日期:竺夕:Z:2多, 警,j 1、q 舞氏 ,.、基于LVS的高可用负载均衡集群系统的设计与实现 摘要当今计算机技术己进入以网络
3、为中心的计算时代。由于客户/N 务器模型的简单性、易管理性和易维护性,客户/服务器计算模式在 网上被大量采用。大量的服务和应用(如新闻服务、网上银行、电子 商务、视频点播等都是围绕着Web进行。这促使Intemet用户剧 烈增长和Intemet流量爆炸式地增长。这给网络带宽和服务器端都带来巨大的挑战,从网络技术的发展 .来看,网络带宽的增长远高于服务器响应速度和存储访问速度的增 长,可以预见的是越来越多的瓶颈会出现在服务器端。如何建立高可 用的、高性价比、可伸缩的、易管理的网络服务平台来满足不断增长 的网络应用需求己成为迫在眉睫的问题。在这种情况下,基于Linux 负载均衡的虚拟服务器集群技术
4、应运而生。基于Linux的虚拟服务器集群技术(简称Lvs,其实现目标是创 建一个具有高可用的、高性价比、可伸缩的、易管理的基于Linux操 作系统的服务器集群,来满足日益增长的网络需求。本文就是针对 LVS是如何在若干个松散连接的独立服务器之上架构一个集群服务 器,使整个集群结构对外界用户来说表现为一个服务器来提供高可用 的网络服务。本文中的另一个重点是如何平衡各计算机之间的负载从而提高整个系统的性能。通过各种负载算法改善系统的性能,在多台计算机 之间合理地分配负载,避免在集群中某台服务器过忙,而其他节点负 载较轻的问题,使各台计算机的负载基本达到均衡一致。本文主要进行了以下几个方面的工作:1
5、、介绍了论文选题的背景和意义,介绍了网络应用对服务器性 能的要求,同时提出提高服务器性能的两种方案;2、叙述了和本课题相关的集群与均衡理论,包括集群的定义、 嚣分类、发展,负载均衡技术的相关概念、均衡算法、均衡策略等; 3、研究了Linux内核中Netfilter框架对数据包处理方式、LVS 调度算法及IPVS软件实现基础。讲解如何用Linux虚拟服务器构建 集群系统,包括:LVS的结构、框架、核心软件、体系结构,实现 LVS的三种方式等;4、结合笔者所在的香港文汇网实际需要,进行了集群系统需求 分析,并根据分析结果对集群系统进行总体设计和配置方案设计。然 后,根据设计方案,进行了详细的安装和
6、配置,实现了这一集群系统。 最后,对实现的集群进行了集群模式测试、高可用性测试和扩展性测 试。测试结果表明,笔者设计的基于LVS的高可用负载均衡集群系 统是可行的、可用的、可靠的。5、对本课题进行小结及提出尚需改进完善的问题,并且对下一 步研究的方向做了展望。关键词:集群负载均衡Linux虚拟服务器调度算法Netfi lter 鼍 蕾 孳 。o ;-, ,分q 搿DESIGN AND IMPLEMENTATION 0F THE LOAD BALANCE CLUSTER SYSTEMMTH HIGH AVAILABILITY BASED ON LVSAB STRACTTotay,the comp
7、uter technology has enteredthe networkcentered computing era.Client/server computing model has been widely adopted in the Internet due to their simplicity, manageability and easy-maintenance.A large number of services and applications(such as news services,Internet banking,e-commerce and video-ondem
8、and,etc. are carried out around the Web,which has supposed the sharp growth of Internet users and explosive growth of Internet flux.All brought huge challenges to the network bandwidth and servers. From the view on the development of network technology,the growth of the network bandwidth is far high
9、er than the growth of the speed in the server response and memoW access.It can be foreseen that more and more bottlenecks would appear in the server.How to build a hi曲ly available,cost-effective,scalable,manageable network service platform to meet the increasing demands ofnetworkapplication has beco
10、me an emergent problem.Under the circumstance,Linux virtual server(LVS thus emerged.The target of Linux virtual server(LVSis to build highly available, cost-effective。scalable,manageable server cluster based on Linux in order to meet the increasing demands of Internet.The text aims to build a cluste
11、r server on a number of loosely connected independent servers for LVS.SO that the whole cluster structure shows to be a server for users outside to provide highly available network services.Another focus of the text is how to balance the loads among the computers SO as to enhance the performance of
12、whole system.To improve the performance of system by a variety of load algorithms,reasonableallocation of loads among multiple computers to avoid one server to beover busy in cluster but the load was lighter in other nodes,whichmakethe loads of various computers basically balance unanimously.The fol
13、lowing contents were 1ncluded in the text:1.Introduced the background and significance of the topic,introduced the network application on the requirement of the performanceof server;meanwhile,put forward two plans to improve the performanceof server;2.Specified the clusterand balance theory relevant
14、 to the topic,including the definition,classification and development of cluster;relevant concepts,balanced algorithm and balanced strategy of loadbalance technology;3.Studied on the data processing method by Netfilter framework inLinux kemel.LVS scheduling algorithms and realization basis of IPVS s
15、oftware.Explained how to use Linux virtual server to build cluster system,including:structure,framework,core software,systematicstructure of LVS;and three methods of realizing LVS,etc;4.The author of actual need,cluster analysis,andaccording to the system demand analysis results ofcluster system des
16、ignscheme and the overall design.Then,according to the design scheme,andca”ied on the detailed installation and configuration,a cluster system.Finally,the realization of the mode of industrial cluster test,high usabilitytesting and scalability testing.Test results show that the design of LVSbased on
17、 the high availability load balancing cluster system is feasibleand available and reliable.5.Summarized the topic and put forward the problems which needto be improved and perfected;and made prospection on the direction ofthe next research.KEY WORDS:Cluster'Load Balance,Linux Virtual Server(LVS,
18、 Scheduling Algorithm,NetfilterX童l ”_北京邮电大学T程硕士论文目录第一章绪论l 1.1选题背景.1 1.2目的和意义2 1.3课题任务和本人工作.2 1.4论文结构.3第二章集群系统和负载均衡.4 2.1集群系统4 2.1.1集群的概念.4 2.1.2集群的分类.4 2.1.3几种典型集群系统。6 2.2负载均衡8 2.2.1负载均衡概念.8 2.2.2几种常用的负载均衡技术.9 2.2.3几种常用的负载均衡算法ll 2.3小结.12第三章Linux虚拟服务器(LVS.13 3.1LVS介绍13 3.2LVS的实现原理15 3.2.1Netfilter框架介
19、绍.15 3.2.2LVS中Netfiler的实现一16 3.3LVS的三种负载均衡模式l 8 3.3.1VS肭AT模式.18 3.3.2VS/TUN模式20 3.3.3VS/DR模式.22 3.3.4三种模式的比较24 3.4LVS的调度算法25 3.4.1IPVS调度算法25 3.4.2动态反馈负载均衡算法29 3.5LVS集群应用举例30 3.6,J、砉.:;1第四章高可用负载均衡集群系统的分析与设计32 4.1集群系统的需求分析32 4.2集群系统的总体设计33 4.2.1集群系统三层结构与作用33 4.2.2集群系统网络划分34 4.2.3集群系统的均衡策略.35 4.2.4集群系统
20、总体设计图35 4.3集群系统配置方案设计36 4.3.1负载均衡器配置方案设计37 4.3.2真实服务器配置方案设计.38 4.3.3数据库服务器配置方案设计40北京邮电大学T程硕士论文4.3.4集群网络构建方案设计4l 4.4集群系统整体架构拓扑图42 4.5,J、结.43第五章高可用负载均衡集群系统的实现与测试44 5.1安装与配置集群系统44 5.1.1负载均衡器的安装与配置44 5.1.2真实服务器的安装与配置53 5.1.3数据库服务器的安装与配置57 5.1.4集群配置常见问题与解决60 5.2集群系统测试61 5.2.1集群调度模式测试6l 5.2.2集群高可用性测试.63 5
21、.2.3集群扩展性测试64 5.2.4结论65 5.3集群在香港文汇网的应用65 5.3.1香港文汇网简介.65 5.3.2集群应用情况.66 5.4,J、结一67第六章结论.68 6.1工作总结.68 6.2研究展望.-.68参考文献.69至5(谢.70H口 囔北京邮电大学-丁程硕士论文第一章绪论弟一早瑁比当今社会,互联网已经成为社会各个方面必不可少的交流手段。由于客户机 /服务器模型的简单些性、易管理性和易维护性,客户机/服务器计算模式在网上 被广泛应该。在九十年代中期,互联网的出现,以其简单操作方式将图文并茂的 网上信息带给广大用户,使用户可以通过简单的图形界面访问互联网上的各种信 息和
22、服务。现如今,大量的服务和应该都是围绕着web进行。这促使互联网用 户剧烈增长和互联网流量爆炸式地增长。这使得网络服务器不堪重负。因此,如 何把网络服务做的更加强壮,提高服务质量水平,已经提到日程上来了。近年来,随着互联网时代的发展,香港文汇网依托在香港的特殊地理优势, 大力宣传党和中央的政策,受到网民的普遍关注。随着用户的增多,文汇网原有 的网站架构已经难以维持日益增加的用户访问。因此,互联网的用户数和网络流 量都以几何级数迅猛增长,这对网络服务的可扩展性提出很高的要求。随着网络 硬件设备的快速进步,网络带宽的瓶颈问题将日趋减弱,而网络服务器的性能问 题逐渐显现出来。为了提高服务器的性能,笔
23、者提出了多种解决方案。从目前的研究情况来看, 主要是从以下两个方面着手。一是从分析客户的访问行为入手,研究可以缩小响 应时间的方法,采用缓存和预取技术等。这些技术在现有服务器硬件设备的基础 之上尽可能地提高系统的性能,但性能提高的程度有限。二是从服务器的硬件性 能角度进行考虑,这又可分为单服务器策略和多服务器策略。单服务器策略是通过不断升级网络服务器的软、硬件资源,使其具有更高的 性能以满足需求。然而这种方法随着负载的不断增长,会导致服务器不断地升级。 经分析总结,单服务器策略存在如下不足:1.服务器是单一故障点;.2.越往高端的服务器,所花费的代价就越大;3.升级过程繁琐,服务器的切换会使服
24、务暂时中断,并造成原有资源的浪 费;4.受I!III务器硬件性能极限的限制。多服务器策略是从体系结构入手,将过去单一的服务器结构扩充为多服务器 结构。为了使得多服务器对外服务依然保持单一的服务镜像,即多服务器通过一魄砖饵北京邮电大学T程硕士论文定的方式和技术手段组合成一台虚拟的高性能服务器,文汇网运维组进行了深入 研究。 目前市场上绝大部分性能较高的服务器集群产品都是国外产品,价格非常昂 贵,如IBM的NetworkDispateher、Cisco的LocalDirector、日本F5的BigIP等 专有软硬件产品都依赖于其技术专利或高性能服务器系统,软硬件的捆绑销售价 格达上万美元。随着Li
25、nux操作系统的流行,目前出现了基于Linux、基于PC的集群解决 方案,如LVS。Linux Virtual Server(LVS是章文嵩博士等人开发的Linux服务 器集群自由软件项目。该项目提出了基于IP层和基于内容请求分发的负载均衡 调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个具有可伸缩性的、提供高可用网络服务的虚拟服务器。它支持可伸缩的Web服务, 可伸缩媒体服务,可伸缩Cache服务,可伸缩邮件服务等。LVS集群系统具有良 好的伸缩性,可支持几百万个并发连接。因此很多重负载的站点均利用LVS组 成高性能的Web服务集群,实践证明,LVS服务集群具有优良的可
26、靠性。 因此香港文汇网运维组决定对基于开源系统的LVS集群系统进行深入研究, 力争在依托开源社区海量的开源项目上寻找到一个完美的系统解决方案。由于LVS集群软件是可以免费得到源代码的自由软件,另外,在Linux平 台上己经有一些优秀的开发源代码软件可以为我们所用。因此,在Linux平台下, 在前人研究成果上进一步研究开发,研制具有自主知识产权,具有一定通用性, 满足高性能、高可用性和可伸缩性等要求的服务器集群系统软件具有重大的研究 和实用意义。课题任务:对香港文汇网的系统需求进行分析,设计和实现一个满足高可用 负载均衡的集群系统。本人主要进行了以下几个方面的工作:1、介绍了论文选题的背景和意义
27、,介绍了网络应用对服务器性能的要求, 同时提出提高服务器性能的两种方案;2、叙述了和本课题相关的集群与均衡理论,包括集群的定义、分类、发展, 负载均衡技术的相关概念、均衡算法、均衡策略等;2 I詈玑y o;d 乱纽北京邮电大学工程硕士论文3、研究了Linux内核中NetfiIter框架对数据包处理方式、LVS调度算法 及IPVS软件实现基础。讲解如何用Linux虚拟服务器构建集群系统,包括:LVS 的结构、框架、核心软件、体系结构,实现LVS的三种方式等;4、结合笔者所在的香港文汇网实际需要,进行了集群系统需求分析,并根 据分析结果对集群系统进行总体设计和配置方案设计。然后,根据设计方案,进
28、行了详细的安装和配置,实现了这一集群系统。最后,对实现的集群进行了集群 模式测试、高可用性测试和扩展性测试。5、对本课题进行小结及提出尚需改进完善的问题,并且对下一步研究的方 向做了展望。第一章绪论部分介绍了课题产生的背景、研究意义及国内外现状。第二章首先阐述了集群系统的概念和集群的分类,并介绍了目前常见的集群 系统。然后介绍了负载均衡相关技术及其常用算法。 :。 第三章阐述了Linux虚拟服务器的相关技术。首先介绍了LVS项目的系统框 架和层次结构,其次分析了LVS的实现原理,再次就LVS的三种负载均衡模式进 行介绍和对比,最后对LVS的算法进行了探讨和LVS集群应用举例。第四章介绍了基于i
29、vs-dr模式的高可用负载均衡集群系统的设计。根据香 港文汇网的需求,进行了集群系统的需求分析,并根据分析结果进行了总体设计 和基于集群角色的配置方案设计,最后给出了集群系统整体架构拓扑图。第五章介绍了集群系统的实现与测试。首先,根据第四章设计的结果进行了 详细的安装和配置过程,实现了集群系统。然后,根据设计的要求,分别对集群 系统进行了调度模式测试、高可用测试、扩展性测试。根据测试结果表明所实现 的集群系统满足设计需要。最后进行香港文汇网简单介绍,并简述了集群的应用 情况。 最后总结全文,提出尚需改进完善的问题,并且对下一步研究的方向做了展 望。北京邮电大学工程硕士论文第二章集群系统和负载均
30、衡本章将对集群系统和负载均衡这两个技术概念进行讲解。首先提出集群的概念:集群系统是通过高性能网络(LAN或WAN进行物理连接的计算机集合。然后对集群进行分类:高可用集群、高计算性能集群、高扩展性集群。最后对目前国内外流行的集群系统进行简介。其次,对负载均衡技术进行简要介绍,包含目前流行的几种负载均衡技术和常用的负载均衡算法。一般来说,可以这么理解集群的概念:集群系统是通过高性能网络(LAN或WAN进行物理连接的计算机集合【刁;这些计算机协同工作以完成共同的任务,同时为用户和应用程序提供单一的系统映像,即用户和应用程序与集群系统进行交互时,集群系统就像一台高性能的服务器。一般称集群中的计算机为节
31、点(node,集群的节点可以是任意类型的计算机,包括PC、工作站、SMP,甚至是大型机。从上述集群概念的描述可知,集群的概念包含了两个方面的含义:一是从硬件方面考虑,强调独立、自治的计算机;二是从软件方面考虑,强调集群系统的整体性。根据集群系统的不同特征有多种分类方法,业界通常把集群系统分为三类:高可用性集群、高性能计算集群和高可扩展性集群【3】。1、高可用性集群高可用性集群(High Availability Cluster,简称HACluster,是以减少服务中断(宕机时间为目的的服务器集群,致力于提供高度可靠的服务。计算机系统的可用性是指一个系统保持在线并且可供访问,它是由系统的可靠性和
32、可维护性来度量的。有很多因素会造成系统宕机,包括为了维护而有计划的宕机以及意外故障等,高可用性方案的目标就是使宕机时间以及故障恢复时间4们 语 q扎 -% 瓴北京邮电大学-T程硕上论文最小化。为了提高整个系统的可用性,除了提高计算机各个部件的可靠性以外, 一般情况下都会采用高可用性集群。高可用性集群中节点可以以不同的方式来运行,这要看它们是如何设置的。 在一个理想的两个节点的集群中,两个服务器同时处于活动状态,也就是在两个 节点上同时运行应用程序,当一个节点出现故障时,运行在出故障的节点上的应 用程序就会转移到另外的没有出现故障的服务器上,这样一来,由于两个节点的 工作现在由一个服务器来承担,
33、自然会影响服务器的性能。针对这种情况的解决方案是,在正常操作时,另一个节点处于备用状态,只 有当活动的节点出现故障时该备用节点才会接管工作,这是一个很不经济的方 案,因为必须要两个服务器来做一个服务器的工作。虽然当出现故障时不会对性 能产生任何影响,但是在正常运行时的性能价格比并不好。从上面的工作方式出发,我们可以把集群分为主/主型(Active/active、主/从型(Active/passive和混合型(Hybrid三种。 主/主(Active/active这是最常用的集群模型,它提供了高可用性,并且在只有一个节点在线时提 供可以接受的性能,该模型允许最大程度的利用硬件资源。每个节点都通过
34、网络 对客户机提供资源,每个节点的容量被定义好,使得性能达到最优,并且每个节 点都可以在故障转移时临时接管另一个节点的工作。 所有的服务在故障转移后 仍保持可用,但是性能通常都会下降。主/从(Active/passive为了提供最大的可用性,以及对性能最小的影响,Active/passive模型需要 一个在正常工作时处于备用状态,主节点处理客户机的请求,而备用节点处于空 闲状态,当主节点出现故障时,备用节点会接管主节点的工作,继续为客户机提 供服务,并且不会有任何性能上影响。混合型(Hybrid混合是上面两种模型的结合,只针对关键应用进行故障转移,这样可以对这 些应用实现可用性的同时让非关键的
35、应用在正常运作时也可以在服务器上运行. 当出现故障时,出现故障的服务器上的不太关键的应用就不可用了,但是那些关 键应用会转移到另一个可用的节点上,从而达到性能和容错两方面的平衡。2、高性能计算集群高性能计算集群(High Performance Computing Cluster,简称HPC Cluster, 是指以提高科学计算能力为目的计算机集群技术。HPC Cluster是一种并行计算 (Parallel Processing集群的实现方法。并行计算是指将一个应用程序分割成多北京邮电大学工程硕士论文块可以并行执行的部分并指定到多个处理器上执行的方法。目前的很多计算机系统可以支持对称多处理器
36、(SMP架构并通过进程调度机制进行并行处理,但是SMP技术的可扩展性是十分有限的,比如在目前的Intel架构上最多只可以扩展到32颗CPU。为了满足那些”计算能力饥渴”的科学计算任务,并行计算集群的方法被引入到计算机界。著名的”深蓝”计算机就是并行计算集群的一种实现。HPC Cluster向用户提供一个单一计算机的界面。前置计算机负责与用户交互,并在接受用户提交的计算任务后通过调度器(Scheduler程序将任务分配给各个计算节点执行;运行结束后通过前置计算机将结果返回给用户。程序运行过程中的进程间通信(IPC通过专用网络进行。3、高可扩展性集群高可扩展性集群,即带负载均衡算法的服务器集群。高
37、可扩展性集群在多节点之间按照一定的算法分发网络或计算处理负载。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能力,同时又可以避免单点故障。高可扩展性集群的框架结构如图1.1所示。图11高可扩展性集群的框架结构其中后台的多个Web服务器上有相同的Web内容,Intemet客户端的访问请求首先进入一台负载均衡器,由它根据负载均衡算法合理地分配给后台某个Web服务器。近年来,随着集群技术的应用日益广泛,国内外公司纷纷推出商业化的集群产品,同时,一些学术机构也推出了集群实现方案。其中主要有以下几种集群系统:l、Microsoft集群系统【4】6玉I
38、 曩 萝、 .Ik ,t i k北京邮电大学工程硕士论文Microsoft公司最初在它的操作系统产品Windows 2000新增加了集群功能, 该高可用性集群称为Microsoft Cluster Server(MCS。它为基于Windows NT服 务器的应用程序提供了可用性和可升级性。Microsoft提供三种支持集群的技术:网络负载均衡(NLB、组件负载均衡(CLB和Microsoft集群服务(MSCS。2、WebSpheret4】WebSphere是IBM公司推出的一套功能强大的Web应用服务器。它为企业 级Web应用程序的创建提供了一个可靠、一致的框架。它支持的平台和标准非 常多:在
39、操作系统方面,涵盖了从PC机到大型机的各类操作系统;支持J2EE、 CORBA、ActiveX接口;支持多种关系/对象/层次数据库;WebSphere提供了负 载均衡、失效恢复和集群等功能,任何对应用程序或其配置的修改,包括Java 组件的更新,将会在多个服务器上自动备份复制。WebSphere有多层次的可调整 的缓存技术。3、Beowulf在1994年夏季,Thomas Sterling和Don Becker在CESDIS(The Center of Excellence in Space Data and Information Sciences用l 6个节点和以太网组成了 一个计算机集群
40、系统,并将这个系统命名为Beowulf.Beowulf集群提供了一种使用COTS(Commodity offthe shelf硬件构造集群 系统以满足特殊的计算需求的方法。这里的COTS是指象PC和以太网这种广为 应用的标准设备,它们通常可以由多家厂商提供,所以通常有很高的性价比。4、MOSIXl6JMOSIX(Multieomputer Operating System for Unix是由Jerusalem的Hebrew 大学开发的,它是一个软件管理层,为Linux内核扩充了高性能集群计算支持能 力。MOSIX原理是利用给内核打补丁的办法全面兼容IntellA32架构的处理器, 支持内核级
41、的负载均衡。MOSIX集群系统中不存在集中的控制节点,节点之间没有主从关系,每个 节点都能够作为独立的系统运行,并且自主的做出控制决策。MOSIX是在Linux 内核中实现的,所以用户态的应用程序不需要任何修改就可以在MOSIX上运行。 通常用户很少会注意到Linux和MOSIX的差别。对用户来说,MOSIX集群就是 运行Linux的一台PC。 5、Linux Virtual Server57北京邮电大学工程硕士论文1998年5月,章文嵩博士成立了LVS的自由软件项目,进行Linux服务器集群的开发工作。该项目针对当前网络服务的需求,给出了基于IP层和基于内容请求分发的负载均衡调度方法,它通过
42、前端调度器将网络请求调度到真实服务器上去处理,从而使得服务器集群的结构对客户端是透明的,客户端访问集群系统提供的网络服务就像访问一台高性能的服务器一样。LVS也是通过给内核打补丁的办法来支持内核级的负载均衡,所以用户态的应用程序不受集群系统的影响,不需要做任何修改就可以在LVS集群服务器上运行。LVS集群采用了IP负载均衡技术。LVS中实现负载均衡的技术有三种:基于NAT的负载均衡(VS/NAT,使用IP隧道的负载均衡(VS/TI肘,使用直接路由的负载均衡(VS/DR。LVS中的调度器实现了八种负载调度算法:轮转调度、加权轮转调度、最少链接调度、加权最少链接调度、基于局部性的最少链接调度、带复
43、制的基于局部性最少链接调度、目标地址散列调度、源地址散列调度。LVS中实现了基于内容请求分发的内核Layer7交换机KTCPVS。LVS使用相关的集群管理软件对资源进行监测,能及时将故障屏蔽,实现系统的高可用性。LVS配备了主、从调度器,当主调度器故障时,从调度器可以接替工作,进一步地保证了系统的高可用性。LVS的应用很广泛,它支持可伸缩的Web服务,可伸缩媒体服务,可伸缩Cache服务,可伸缩邮件服务。LVS服务器集群系统具有良好的伸缩性,可支持几百万个并发连接。实践证明,LVS服务器具有优良的可靠性。由于LVS集群软件是可以免费得到源代码的自由软件,它得到了较大的应用。很多重负载的站点利用
44、LVS组成高性能的Web服务集群,如RedHat,红旗Linux,中软等公司推出了基于LVS的集群产品。同时,国内外的许多学术机构也在对LVS进行进一步的研究开发。负载均衡(Load Bflance旨在将大量客户端请求平均散布到提供同一服务的多台服务器上,从而提高整个分布式系统对客户请求的响应性,同时也可增强系统在服务端出现故障时的容错能力,成为提高集群系统可伸缩性的重要技术之一。集群的最大特点是多个节点的并行共同完成任务,在硬件数目比较多的情况下,即使每个硬件的MTTF时间比较长,整体的MTTF也会非常低。为了让系8骱譬鬻量尹“r, 、艮 ¥ &缸北京邮电大学工程硕士论文统体现出较好
45、的可靠性,如何让所有硬件承受的负载平均,不出现局部过大负载 或过轻负载的情况,是负载均衡的重要目的。如果出现局部过大负载,必然导致 硬件压力比较大,老化和损坏的可能性比较大;如果出现局部过轻负载,设备资 源被搁置浪费,不符合成本最低原则。负载均衡有如下的含义:首先,大量的并发访问或数据流量分担到多台结点 设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多 台结点设备上做并行处理,每个结点设备处理结束后,将结果汇总,返回给用户, 使系统处理能力得到大幅度提高。负载均衡技术的核心思想是将多台服务器作为对称方式,每台服务器都具备 等价的地位,都可以单独对外提供服务而无须其他服务器
46、的辅助。然后通过某种 负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上, 而接收到请求的服务器都独立回应客户机的请求。集群服务器中,负载均衡的效果如何决定于两个关键因素:负载均衡技术和 负载均衡算法。下面先介绍几种常用的负载均衡技术:1、基于DNS技术的负载均衡最早的负载均衡技术是通过DNS服务器中的随机域名解析来实现的:在 DNS服务器中,为多个不同的IP地址配置相同的域名,而查询这个域名的客户 机将得到其中的一个IP地址。对于同一个域名,不同的客户机会得到不同的IP 地址,他们也就访问了不同IP地址上的Web服务器,从而达到负载均衡的目的。 DNS负载均衡的优点是简单易
47、行,当前使用该技术的网站很多,但是存在 不少问题。首先,域名服务器无法知道服务器结点是否有效,如果服务器结点失 效,域名系统依然会将域名解析到该节点上,造成用户访问失效。其次,为了使 地址的分配均匀,应该将DNS的数据刷新时间TTL(Time to LIVE设置的尽 可能短,但是TTL设置得过短,将导致DNS流量大增,造成额外的网络问题。 而且DNS轮询不能区分服务器性能的差异,也不能将服务器的当前运行状态和 负荷状况考虑进来,所以服务器之间并不能作到完全的均衡负载。2、反向代理负载均衡反向代理(Reverse Proxy方式是指来自Internet上的客户使用代理服务器 访问处于内部网络上的
48、服务器。反向代理负载均衡将来自外部的连接请求均匀地 转发给内部网络上的各个服务器进行处理,从而均衡了整个系统的负载。使用反9北京邮电大学工程硕士论文向代理可以将负载均衡和代理服务器的高速缓存技术结合在一起,提升了静态网 页的访问速度。由于外部客户不能直接访问内部服务器,保证了系统的安全性。 并且可以将负载非常均衡地分给内部服务器,不会出现负载集中到某个服务器的 偶然现象。使用反向代理负载均衡也有一些问题:第一,反向代理是处于OSI参考模型 第七层应用的,所以就必须为每一种应用服务专门开发一个反向代理服务器;第 二,每一次代理,代理服务器需要打开对外和对内两个连接,在并发连接请求数 量较大的时候
49、,代理服务器的负载相应较大,在最坏的情况下代理服务器会成为服务的瓶颈。3、基于NAT的负载均衡NAT(Network Address Translation是指在位于局域网内的内部地址和外部 地址之间进行转换,以便具有内部地址的计算机能访问外部网络,外部网络中的 计算机也可以访问内部地址。通过NAT技术实现负载均衡主要是当NAT服务器 收到客户端请求后根据一些不同的策略修改请求报文中的目的地址,重定向给 “隐藏”在NAT服务器后面的具有不同IP地址的服务器,服务器返回的响应也经 由NAT服务器将源IP地址恢复原样后传给客户端。NAT技术既可通过软件方式 来实现,也可通过硬件方式即交换来实现。N
50、AT负载均衡是一种比较完善的负载均衡技术,得到了较为普遍的应用。 但是需要注意的是:由于NAT负载均衡中请求和响应的数据报文都需要通过负 载均衡调度器,当实际服务器的数量超过20时,负载均衡调度器将成为整个Web 集群系统的新瓶颈。在设计Web集群系统时应当小心处理避免这种情况的出现。4、基于IP隧道的负载均衡在采用IP隧道负载均衡技术的Web集群系统中,所有用户的访问请求报文 都是发给负载均衡调度器的。当负载均衡调度器接到请求报文后,根据各个服务 器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中, 再将封装后的IP报文转发给选出的服务器。服务器收到报文后,先将报文解封 获
51、得原来的报文,处理这个请求,然后将响应报文直接返回给用户。一般情况下, 用户请求报文的数据量比较小,而服务器响应返回给用户的数据报文量比较大。 这样,服务器将响应用户的报文不经过负载均衡服务器直接返回给用户,大幅度 地降低了负载均衡调度器的工作量。因此,负载均衡调度器就可以处理巨量的请 求,而不会成为系统的瓶颈。lO 舻 妊 忸 kk l 北京邮电大学T程硕士论文5、基于直接路由的负载均衡在采用直接路由方法负载均衡技术的集群系统中,所有用户的访问请求报文 也是发给负载均衡调度器的。当负载均衡调度器接到请求报文后,根据集群中各 个服务器的负载情况,动态地选择一台负载较轻的服务器。并将数据包中网卡
52、物 理地址(MAC改为选中的W曲服务器的MAC地址,然后重新发出数据包。 目标W曲服务器收到后,将应答包直接发回客户端(不经过负载均衡调度器。 由于在直接路由方式中,服务器不经过负载均衡调度器直接把响应返回给用户, 可以大幅度地降低负载均衡调度器的工作量,整个集群系统的节点数量和网络吞 吐量因而得以极大地提高。直接路由是高效、网络延时小的负载均衡技术,但是, 为达到MAC地址的欺骗,要求负载均衡调度器和所有应用服务器必须在同一个 物理网段。乞 负载均衡的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人 过度劳累。但是与轮流值日制度不同的是,负载均衡是一种动态均衡,它通过一 些工具实时地分析数据包,掌握网络中的数据流量状况,把任务理分配出去。对 于不同的应用环境(如电子商务网站,它的计算负荷大;再如网络数据库应用, 读写频繁,服务器的存储子系统系统面临很大压力;再如视频服务应用,数据传 输量大,网络接口负担重压,使用的均衡策略(算法是不同的。所以均衡策 略(算法也就有了多种多样的形式,广义上的负载均衡既可以设置专门的网关、 负载均衡器,也可以通过一些专用软件与协议来实现。在OSI七层协议模型中 的第二(数据链路层、第三(网络层、第四(传输层、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年医院感染技能竞赛试题
- 家具购销合同模板(2025版)
- 化粪池清理合同范本(2025版)
- 机电安装工程劳务分包合同范本(2025版)
- 二零二五年度佛山交通行业驾驶员劳动合同
- 2025年度私人车辆租赁与车辆跟踪服务合同
- 二零二五年度外语口语培训班学员入学合同示范
- 二零二五年高压电缆线路电工施工与检修服务协议
- 2025版环保草皮采购与景观绿化设计合同
- 2025版建筑劳务市场调查服务合同书
- 物业相关法律知识培训
- 2025发展对象培训班考试试题及参考答案
- 呼吸内科专科建设
- 2025年中医执业助理医师考试备考试题及答案解析
- 物业合同履约管理办法
- 电气监理工程师培训课件
- 油画创作教学课件
- 养老护理员岗位职责与考核
- 炎症性肠病病人的护理
- 2025-2030中国边缘计算技术应用现状分析及基础设施需求预测与投资机会评估报告
- 心电图室入科教育
评论
0/150
提交评论