(计算机应用技术专业论文)基于linux负载均衡系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于linux负载均衡系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于linux负载均衡系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于linux负载均衡系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于linux负载均衡系统的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要摘要随着i n t e m e t 的飞速发展,各种网络服务的流量呈爆炸式的增长,尤其是w w w 、f t p 、e m a i l 等网络服务。同时,网络用户数量迅猛增长,希望获得不问断的高质量的网络服务。因此,需要建立能够提供高性能、高可用性、高可扩展性的网络环境。然而,仅仅通过升级服务器的硬件是权宜之计,不仅要高额成本的投入,即使性能再优越的设备也不能满足不断增长的业务需求。因此要解决这样的问题,就非常有必要从体系结构入手,而不是简单的服务器硬件的升级。将负载均衡技术运用到集群技术当中是一种很好的解决方案。l i n u x 虚拟服务器( l i n u xv i r t u a ls e r v e r 简称l v s ) 是基于l i n u x 上构建的负载均衡集群系统,其体系结构设计合理,代码组织得当,提供了一个实现可伸缩网络服务的l i n u x 负载均衡系统的框架,为研究与开发性能更加完善的负载均衡系统提供了平台。本文通过深入了解l v s 的体系结构,分析i p v s 的源代码,提出了当前l v s面临的几个问题:基于连接的调度,轮叫调度算法和最小连接调度算法的缺陷,负载均衡器的单点瓶颈。并提出了相应的解决方案。本文针对这些问题在l v s平台基础上设计了基于a g e n t 的负载均衡系统。该系统利用软件a g e n t 的自治性、智能性、反应性、协作性、面向目标性等特性,将a g e n t 运用于在各个真实服务器之间轮流传递负载信息,并将汇总负载信息发送给负载均衡器,大大减小了负载均衡器的负荷,降低了负载均衡器单点瓶颈故障发生率。同时,系统中引入服务器综合负载、动态反馈负载信息、监控守护进程等杌制。在系统工作过程中,根据各个真实服务器的实际综合负载,使得整个系统的负载真正的实现了“均”衡。文章详细介绍了该系统的设计原理,并阐述了在l v s 系统基础上的实现方法。最后通过实验测试,对轮叫调度算法、最小连接调度算法和基于a g e n t 的负载均衡系统进行了比较。实验结果表明,本文所设计实现的基于a g e n t 的负载均衡系统的负载均衡调度性能具有明显的优越性。关键词l i n u x 虚拟服务器:负载均衡;集群:a g e n ta b s t r a c ta b s t r a c tw i t ht h ed e v e l o p m e n to f i n t e m e ta tf u us p e e d t h et r a f f i co f d i f f e r e n tn e t w o r ks e r v i c e sg r o w se x p l o s i v e l y , e s p e c i a l l ys u c ha sw w w :f t p ,e - m a i la n ds oo n a tt h es a m et i m e ,t h en u m b e ro fn e t w o r ku s e r si n c r e a s e sf a s t t h e yh o p et og e tc o n t i n u o u s l ya n dh i g l l - p e r f o r m a n c en e t w o r ks e r v i c e s ow en e e dt oc r e a t ean e t w o r ke n v i r o n m e n tt h a tc a np r o v i d es c a l a b i l i t y , a v a i l a b i l i t ya n dm a n a g e a b i l i t ys e r v i c e s h o w e v e gi ti sas t o p g a pt or e s o l v et h ep r o b l e mb yo n l yt ou p d a t eh a r d w a r e b e c a u s en o to n l ym u c hc o s tw i l lb ec o n s u m e db u ta l s os t i l lc a n ts a t i s f yt h er e q u i r e m e n to fc o n t i n u o u s l yr i s i n gt r a f f i c t h e r e f o r e ,t or e s o l v et h ep r o b l e m ,w em u s tp r o c e e d 、v i t l lt h ew h o l es y s t e m sa r c h i t e c t u r e i n s t e a do fs i m p l yu p d a t i n gt h es e r v e r sh a r d w a r e i ti sav e r yg o o ds o l u t i o nt oa p p l yl o a db a l a n c i n gw i t hc l u s t e rt e c h n o l o g y l i n u xv i r t u a ls e r v e r ( l v s ) i sal o a db a l a n c i n gc l u s t e rs y s t e mt h a ti sb a s e do nl i n u x t h ea r c h i t e c t u r eo fl v si sd e s i g n e dr a t i o n a l l y t h es o u r c ec o d eo fa l g o r i t h m si si so r g a n i z e de x p e d i e n t l y l v sp r o v i d e sap l a t f o r mw i ms c a l a b l en e t w o r ks e r v i c ef u n c t i o nf o rr e s e a r c h i n ga n dd e v e l o p i n gm o r ep e r f e c tl o a db a l a n c i n gs y s t e m i nt h ep a p e r , w ed e e pa n a l y s et h ea r c h i t e c t u r eo fl v sa n dt h es o u r c ec o d eo fi p v s t h e nw ep u tf o r w a r dc u r r e n tp r o b l e m so fl v s s u c ha ss c h e d u l i n gb a s e do nc o n n e c t i o n ,t h el i m i t a t i o no fr o u n dr o b i na n dl e a s tc o n n e c t i o ns c h e d u l i n ga l g o r i t h m sa n dt h es i n g l ep o i n to fb o t t l e n e c ki nl o a db a l a n c i n gs e r v e r t h e nw ep r o p o s et h es o l u t i o n so ft h ep r o b l e m s t h e r e f o r e ,i no r d e rt or e s o l v et h e s ep r o b l e m s ,w ed e s i g nt h ea g e n tb a s e dl o a db a l a n c i n gs y s t e mi nt h eb a s eo f 【v s t h es y s t e mt a k e sa d v a n t a g eo ft h ea g e n t sf e a t u r e ,s u c ha sa u t o n o m y , i n t e l l i g e n t ,r e s p o n s e ,c o o p e r a t i n ga n ds oo n w eu s ea g e n tt oa l t e r n a t e l yt r a n s m i tl o a di n f o r m a t i o na m o n gt h er e a ls e r v e r sa n ds e n dt h es u m m a r yl o a di n f o r m a t i o nt ot h el o a db a l a n c i n gs e r v e r , w h i c hg r e a t l yd e c r e a s et h eo v e r h e a do ft h el o a db a l a n c i n gs e r v e ra n dr e d u c es o m es i n g l eb o t t l e n e c kt r o u b l ei n c i d e n c e n es y s t e mu s e ss o m en e wm e c h a n i s m s s u c ha sc o m p o u n dl o a di n f o r m a t i o n ,d y n a m i cf e e d b a c kl o a di n f o r m a t i o n ,d a e m o np r o c e s s o ra n ds oo n i nt h ec o u r s eo fs y s t e mw o r k s ,a c c o r d i n gt ot h ed y n a m i cl o a do fe a c hr e a ls e r v e r , t h el o a db a l a n c i n gs e r v e rm a k e st h ew h o l el o a db a l a n c i n gs y s t e mr e a l l yr e a l i z eb a l a n c e i nt h ep a p e r ,w ei n t r o d u c et h ed e s i g np r i n c i p l eo ft h ea g e n tb a s e dl o a db a l a n c i n gs y s t e ma n dt h ei m p l e m e n to f t h es y s t e mb a s e di nt h el v ss y s t e m f i n a l l y , w ec o m p a r et h er o u n dr o b i ns c h e d u l i n ga l g o r i t h m ,t h el e a s tc o n n e c t i o na l g o r i t h ma n dt h ea g e n tb a s e dl o a db a l a n c i n gs y s t e mb ye x p e r i m e n t 1 r i l ee x p e r i m e n t a lr e s u l ts h o w st h a tt h el o a db a l a n c i n gs c h e d u l i n gp e r f o r m a n c eo fa g e n tb a s e dl o a db a l a n c i n gs y s t e mi so b v i o u s l ys u p e r i o rt ot h eo t h e rt w oa l g o r i t h m s k e y w o r d s :l i n u xv i r t u a ls e r v e r ;l o a db a l a n c e ;c l u s t e r ;a g e n t独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。签名:盔! 垒日期:鲨盛i 皇关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。( 保密的论文在解密后应遵守此规定)签名:二吐导师签名:纠第1 章绪论1 1 课题背景第1 章绪论随着i n t e m e t 的飞速发展,网络用户数量迅猛增长,对网络的需求量也飞速提升;越来越多的人在互联网上购物、娱乐、休闲、与人沟通、获取信息;各种网络服务的流量呈爆炸式的增长,尤其是w w w 、f t p 、e m a i l 以及流媒体这样的网络服务。同时用户对网络上的这些服务的性能要求也越来越高,网络用户希望获得7 2 4 小时的不间断的高质量的网络服务,对电子商务等网站尤为突出,任何服务中断和关键性的数据丢失都会造成不可估量的商业损失。例如:y a h o o现在每天要发送6 2 5 亿页面【”。而d e l l 现在每天在网站上的交易收入为一千四百万美元,一个小时的服务中断都会造成平均五十八力- 美元的损失1 2 】。如此大量的访问量和高强度的负荷对网络服务器的性能要求越来越高。因此对于提供大量负载的服务器来讲,c p u 、i o 处理能力很快都会成为瓶颈,实现高可扩展、高可用性的网络服务需求越来越大,这种需求对于硬件和软件方面可以归结以下几点:高可扩展性( s c a l a b i l i t y ) ,当服务的负载增长时,系统能被扩展来满足需求,且不降低服务质量。高可靠性( a v a i l a b i l i t y ) ,尽管部分硬件和软件会发生故障,整个系统的服务必须是每天2 4 小时每星期7 天可用的。高可管理性( m a n a g e a b i l i t y ) ,整个系统可能在物理上很大,但应该容易管理。价格有效性( c o s t e f f e c t i v e n e s s ) ,整个系统实现是经济的、易支付的。然而,从网络技术的发展来看,网络带宽的增长远高于服务器处理器速度和内存访问速度的增长,所以,越来越多的瓶颈是出现在服务器端。在此情况下,如果扔掉现有设备去做大量的硬件升级,将造成现有资源的浪费,而且如果再面临下一次业务量的提升,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量的需求,因为单台服务器的性能总是有限的,一般来讲,一台比较好的p c 服务器所能提供的并发访问处理能力大约为1 0 0 0个,更为高档的专用服务器能够支持3 0 0 0 5 0 0 0 个并发访问,这样的能力还是无法满足负载较大的网站的要求。尤其是网络请求具有突发性,当某些重大的事件发生时,网络访问就会急剧上升,从而造成网络瓶颈。更值得考虑的问题是,在同一时期,服务器越到高端的硬件,其成本与性能比越是成指数上升i j j ,如图1 - 1所示。北京工业人学工学硕士学位论文单机系统性能和价格曲线图1 - 1高端服务器成本与整体性能比较f i g u r e l - 1t h ea d v a n c e ds e r v e r s c o s tc o m p a r e sw i t hp e r f o r m a n c e因此要解决这样的问题,就非常有必要从体系结构入手,而不是简单的服务器硬件的升级。于是,负载均衡机制便得到广泛的应用与推广。本课题是从性能、成本与技术等各项综合因素出发,在l i n u x 平台下,运用l i n u x 虚拟服务器( l i n u xv i r t u a ls e r v e r ,简称l v s ) 技术建立一个高可扩展性、高可靠性和高可管理性的“三高”集群系统来有效的解决网络服务负载均衡的问题。1 2 国内外在该方向上的研究现状及分析首先,介绍负载均衡技术的基础理论及其集群技术在国内外的研究现状。1 2 1 负载均衡技术负载均衡( l o a db a l a n c e ) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡技术的思路是将多台服务器作为对称方式,每台服务器都具备等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。然后通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器都独立回应客户机的请求。负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台结点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台结点设备上做并行处理,每个结点设备处理结束后,将结果汇总,返回给用户,使系统处理能力得到大幅度提高。目前有许多不同的负载均衡技术用以满足不同的应用需求,下面从负载均衡所采用的设备对象、应用的网络层次( 指o s i 参考模型) 来进行分类说明。( 1 ) 基于d n s 的负载均衡最早的负载均衡技术是通过d n s 服务中的随机名字解析来实现的,在d n s第1 苹绪论服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的w e b 服务器,从而达到负载均衡的目的。( 2 ) 反向代理负载均衡使用代理服务器可以将请求转发给内部的w e b 服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀转发给多台内部w e b 服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部w e b 服务器,而这种代理方式是多个客户使用它访问内部w e b 服务器,因此也被称为反向代理模式。( 3 ) 基于n a t 的负载均衡技术网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。这些技术虽然可以完成服务器的流量负载均衡的工作,但是对于建立一个高扩展性,高管理性,高可靠性的一个负载均衡系统还是不够的,利用集群( c l u s t e r )技术构建负载均衡系统是一个最有效的方案。1 2 2 集群技术集群技术是一种计算机系统之间连接的方式,运用它可以将分散的计算系统连接起来完成原来单独结点的计算系统无法完成的任务。集群系统允许用户把普通商用硬件系统组成集群,并根据需要随时在集群中增加新的硬件,提高系统的伸缩性和可用性,从而能够在价格相对低廉的中低端平台上享用过去只有高端系统才具备的高可伸缩性和高可用性,既提高了系统的性能,同时也降低了成本,实现尽可能多的计算机处理能力和数据的透明访问能力,同时实现高性能与高可靠性的目标。建立一个集群系统的主要目的在于:固有的应用得以保障。集群系统以一种很自然的方式开始存在,例如,在我们的社会中,人们常常以群体的形式出现并彼此共享信息,公司、社团、班级等等都是这样的概念。在从个人计算向集群分布式计算迁移的时候,往往可以保留原有在个人计算系统上的应用,直接将原有的应用重新在新的集群系统中运行,并获得性能的提升。这也是集群出现的一大原因。性能成本。集群系统的并行性降低了处理的瓶颈,提供了全面改进的性能,也就是说,集群系统提供了更好的性能价格比。北京t 业大学工学硕+ 学位论文资源共享。集群系统能有效地支持不同位置的用户对信息和资源( 硬件和软件) 的共享。灵活性和可扩展性。集群系统可以增量扩展,并能方便地修改或扩展系统以适应变化的环境而无需中断其运行。实用性和容错性。依靠存储单元和处理单元的多重性,集群系统具有在系统出现故障的情况下继续运行的潜力。可伸缩性。集群系统能容易地扩大以包括更多的资源( 硬件和软件) 。集群系统提高了网络系统的稳定性和网络中心的数据处理能力及服务能力,自8 0 年代初以来,各种形式的集群技术纷纷涌现。由于集群能够提供高可用性和可伸缩性,所以,它迅速成为企业矛n l s p 计算的支柱。r 1 ) 国外现状微软公司在w i n d o w s 2 0 0 0 中增加了集群功能,该可用性集群叫做w o l t p a c k ,也叫做m c s ( m i c r o s o rc l u s t e rs e r v e r ) 。它主要是在企业级对基于w i n o w sn t 服务器的应用程序提供可用性和扩展性。w o l f p a c k 现在支持两个服务器,一个用来对用户提供服务,另一个作为备份服务器使用。m i c r o s o f t 下一步的目标是将w o l t p a c k 支持的结点数扩展到1 6 个 4 1 。t u r b o l i n u x 公司推出了能够显著地提高基于t c p i p 协议的多种网络服务质量的高可用性集群t u r b o c l u s t e r 。r e d h a t 也提供了基于l i n u xv i r t u a ls e r v e r 思想构建的高可用性性集群系统p i r a n h a 。由e r i c s s o n 软件研究中心开发的高可用性集群系统e d d i e 的主要目的时提供一个商业级的,能提供较好的服务质量的w e b服务的解决方案。高性能集群系统m o s i x 为l i n u x 核心增加了集群计算的功能。在m o s i x集群环境中,用无需对应用程序进行修改,或将应用程序与库连接起来,或将应用程序分配到不同的结点上运行。m o s i x 会自动将这些工作透明地交给别的结点来执行。日本f 5 公司开发出了高可用性集群b i g i p s 1 ,它是使用于本地网络站点或数据中心的高可用的、智能化的负载均衡产品,它提供了对网络流量的自动和只能的管理。与前几种集群系统不同的是,b 1 g - i p 向用户提供的是个即插即用设备,而其他的提供的都是软件方法。( 2 ) 国内现状:集群服务已经成为提高网络带宽,提供更大访问流量的有效机制。现在国内外有许多新兴的软硬件产品的解决方案联想公司在1 9 9 9 年推出用于分布式高性能计算的n s l 0 0 0 高性能集群服务器,该系统是一个四结点的系统,主要基于联想万全4 5 0 0 r 服务器,以总体成本相对较低的设备组合,足以代替传统r i s c 小型机和中型机的工作,而价格仅为市场上同等性能小型机的1 2 1 4 。中软网络技术股份有限公司也推出了基于中软l i n u x 3 0 操作系统l i n u x 虚拟服务器集群系统,进行了一定的优化,有效地提高了系统性能。该系统具有结点第1 章绪论服务器兼容性好,集群服务器可靠性高的优点。中科红旗软件技术有限公司的r e d f l a gc l u s t e rs e r v e r 3 0 集群软件采用l i n u x虚拟服务器技术,提供了基于w e b 的集群管理工具,具有很强的易用性。在集群内,除使用n f s 为网络文件系统外,还可使用红旗c l u s t e r 所带的c o d a 网络文件系统。集群内还可采用s a n 、n a s 等分布式存储方案。朗新公司也推出了类似于t u r b o c l u s t e r 的高可用性集群系统l o n g s h i n ec l u s t e rs e r v e r 。1 2 3l i n u x 虚拟服务器l i n u x 虚拟服务器f 6 】建于多个服务器之上,多台真实服务器对用户来说是透明的,而只能看到一台作为负载均衡器的服务器。l v s 支持作为负载均衡服务器直接连接到同一个l a n 的集群结点,它还能够以隧道传送i p 包的方式连接到远程服务器。后一种方法包括压缩i p 包中的均衡请求,这些i p 信息包从负载均衡服务器直接发送到远程集群结点真实服务器上,由他们处理用户的请求,这样从客户方面来看好像所有服务都是通过负载均衡器来完成的。l i n u x 虚拟服务器能够提供良好的可扩展性、可靠性和处理性能。系统可以透明的增加或者删除一个服务器结点,可以对实际服务器进行检测,如果发现有结点失败就重新配置系统。l i n u x 虚拟服务器自由软件项目是由章文嵩博士领导建于1 9 9 8 年5 月,致力于l i n u x 虚拟服务器开发工作,这项基于l i n u x 的集群技术i p v s ( b a s e di pv i r t u a ls e r v e r ) ,是一种在l i n u x 操作系统上基于i p 层的负载均衡调度技术,它在操作系统核心层上,将来自i p 层的t c p u d p 请求均衡地转移到不同的服务器,从而将一组服务器构成一个虚拟服务器。该项目的目标是:在l i n u x 操作系统下实现一个高性能、高可用性的服务器,它具有很好的可伸缩性( s c a l a b i l i t y ) 、可靠性( r e l i a b i l i t y ) 和可管理性( m a n a g e a b i l i t y ) 。目前,l v s 项目仍然处于进一步的开发和完善中,并且提供了一个实现可伸缩网络服务的l v s 框架。1 3 本文的主要研究内容与组织结构本文将介绍基于l i n u x 的集群系统( l v s ) ,它具有以下两方面的优点:一方面,l v s 的i p v s 软件是自由软件,其源代码开放,采用模块化,设计结构精妙,各个功能模块之间的逻辑关系清晰。为开发基于l i n u x 的负载均衡系统构建了一个可扩展的系统平台,可对该系统进行改进与开发:另一方面自由软件所构建的系统本身具有非常的低廉的成本,适用于各个网络服务应用环境当中。基于这两方面,本文就是在此系统框架结构上设计的一个基于a g e n t的负载均衡集群系统。本文通过在分析现有l v s 系统之后,论述在现有l v s 系统的负载均衡方法上存在一些问题,如调度粒度单纯基于连接,负载均衡器容易形成瓶颈,以及几种负载均衡算法上存在的缺陷。针对这些问题,本文提出了解决方案,设北京工业大学工学硕士学位论文计并实现了基于a g e n t 的负载均衡系统,有效的解决了l v s 系统面临的问题。本文共五分章,具体内容如下:第一章主要介绍课题背景以及论文研究的主要内容。讨论了当前网络服务负载的现状和存在的问题,针对问题,提出构建高可扩展性、高可靠性和高可管理性的“三高”集群系统来解决问题。第二章主要介绍了本文设计系统的基本平台l i n u ) 【虚拟服务器。通过介绍系统的工作方式和体系结构,为后面的系统分析与设计作理论铺垫。第三章主要分析l i n u x 虚拟服务器负载均衡系统面临的问题,通过分析问题提出解决方案,由此引入了本文所设计的基于a g e n t 的负载均衡系统。第四章是本文的核心,主要对基于a g e n t 的负载均衡系统的工作原理和具体实现作详细的介绍。第五章对本文基于a g e n t 的负载均衡系统进行实验测试和性能分析。1 4 本章小结本章首先介绍了网络上的业务量大大超过了人们预先的估计,越来越大的数据访问量和计算强度使得单设备根本无法承担。要解决服务器瓶颈的问题必须从体系结构入手,由此引入了负载均衡技术以及集群技术。接着,着重介绍了负载均衡技术和集群技术的基本概念,发展趋势及其国内外研究现状,接着提出了本文研究的l i n u x 虚拟服务器的特性,在此基础上引出本文设计的基于a g e n t 的负载均衡系统的理论与现实意义。最后介绍了本课题的主要研究内容。第2 章l i n u x 虚拟服务器实现负载均衡第2 章l i n u x 虚拟服务器的工作方式2 1l i n u x 虚拟服务器简介l i n u x 虚拟服务器( l i n u xv i r t u a ls e r v e r ,简称l v s ) ,其实现目标是创建一个具有良好的扩展性、高可靠性、高性能和高可用性的服务器集群。使用l v s架设的服务器集群系统从体系结构上看是透明的,最终用户只感觉到是一个虚拟服务器。真实服务器之间可以通过高速的l a b 或分布在各地的w a n 相连。最前端是负载均衡器,它负责将各种服务请求分发给后面的真实服务器,让整个集群表现得象一个服务于同一i p 地址的虚拟服务器。l v s 是基于i p 层的,它在l i n u x 内核中实现了基于内容请求分发的负载平衡调度解决方法的功能。通过l v s ,能够快捷方便的将一组服务器组建成一个实现可伸缩的、高可用网络服务的虚拟服务器。并且,借助第三方的工具包,还可以实现对l v s 集群进行可用性支持的功能扩展。l v s 的体系结构1 1 8 】示意图如图2 1 所示:负载均衡器层真实服务器层存储层图2 - 1l v s 集群的体系结构f i g u r e 2 - 1t h ea r c h i t e c t u r eo f l v sc l u s t e r从图2 - 1 可以看出,l v s 的体系结构主要由三部分组成。( 1 ) 负载均衡器( 1 0 a db a l a n c e r )它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个i p 地址上的。由于该主机并不真正处理客户的北京t 业大学工学硕上学位论文请求,只是将请求分发给下面的服务器群来处理。所以也称之为虚拟服务器。负载均衡器可以是用i p 负载均衡技术的负载均衡器,也可以是基于内容请求分发的负载均衡器,还可以是两者的结合。在本文中只研究i p 负载均衡技术。在i p 负载均衡技术中,需要服务器池拥有相同的内容提供相同的服务。当客户请求到达时,负载均衡器只根据负载情况从服务器池中选出一个服务器,该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会被转发到翦面选出的服务器。( 2 ) 服务器池( s e r v e rp 0 0 1 )由一组真正的执行客户请求的服务器组成,该池中的每台服务器称之为真实服务器,服务器上可以执行w w w 、e m a i l 、f t p 、d n s 以及流媒体等服务。服务器池的结点数目是可以变的。当整个系统收到的负载超过目前所有服务器所能处理的能力时,可以在服务器池中增加真实服务器来满足不断增长的请求负载。对大多数网络服务来说,结点与结点不存在很强的相关性,所以整个系统的性能可以随着服务器池的结点数的增加而线性增长。( 3 ) 后端存储( b a c k e n ds t o r a g e )为服务器池提供一个共享存储区,使得服务器池拥有相同的内容,提供相同的服务,为整个集群内部运行提供稳定、一致的文件存取服务。后端存储为整个集群系统提供了很好的可扩展性。但是该部分并非系统所必需的部分,如果服务器池中的各台真实服务器所提供的服务能够保持文件同步与共享,提供相同的内容与相同的服务,就可以将该部分省去。l v s 在设计时考虑系统的透明性、可伸缩性、高可用性和易管理性。l v s服务器集群系统具有良好的伸缩性,可支持几百万个并发连接。配置1 0 0 m 网卡,采用v s t u n 或v s d r 调度技术,集群系统的吞吐量可高达1 g b i t s s 。2 2l i n u x 虚拟服务器的运行机制2 2 1 负载均衡器的负载分配负载均衡器是集群的唯一入口,本系统采用i p 负载均衡技术。从客户端的角度看,集群通过这层的服务体现为一个基于i p 地址的单一系统映像【羽( s s i ) ,整个集群共用这个虚拟地址,通过它客户端可以把整个集群看作一个独立的具有合法i p 地址的主机系统,客户端的所有访问都发往这个虚拟i p 地址。负载均衡器的主要工作如下:接收所有到达集群的用户请求,并查看这个用户请求的服务是否本集群所提供的,决定处理,转发或丢弃该数据包:对一个新的用户请求在系统的哈希表中建立一个连接条目,并查询哈希表,决定是重新调度还是按照哈希表中条目所记录的方式分发数据包;根据系统的负载均衡调度算法,决定该用户请求由哪台真实服务器处理,并转发给该真实服务器;通过配置管理工具管理集群,增加,删除,修改真实服务器和负载均衡器第2 章l i n u x 虚拟服务器实现负载均衡结点,将服务绑定负载均衡调度算法,配置负载均衡调度算法的参数。另外,若系统是v s - n a t 模式( 将在下一节做详细介绍) ,还将处理真实服务器发给用户的回应包,改写i p 数据包并转发给客户。2 2 2 备份负载均衡器在l v s 的体系结构图中容易发现,前端的负载均衡器由可能成为系统的单一失效点。一般来说,负载均衡器的可靠性相对较高,因为负载均衡器上程序已经遍历过,但不排除硬件老化、网络线路等故障,是集群中最脆弱的环节。因此,有必要提供容错机制,能够在负载均衡器失效的时候进行自动检测并平滑替换,也就是常说的h a ( h i g h a v a i l a b i l i t y ) 技术。在本系统中设立了一个备份负载均衡器作为主负载均衡器的备份。两个守护进程分别在主、从负载均衡器上运行,它们相互定时的回报各自的活动状况,通过一条心跳线来互相通信,一旦备份均衡器不能接收到主负载均衡器的信息,或者收到主负载均衡器的异常信息时,备份均衡器将通过a r p 欺骗来接管对外的虚拟i p ( v i p ) ,同时接管主负载均衡器的工作提供负载均衡服务。当主负载均衡器恢复时,从备份负载均衡器释放v i p 给主负载均衡器,主负载均衡器收回响应的地址,重新提供负载调度服务。2 2 3w e b 服务监视l v s 系统的高可靠性表现在软硬件上都有冗余。通过监测服务和正确地重新配置系统来实现,使得系统收到的请求能被服务器池中存活的结点处理。负载均衡器上有服务监视进程来时刻监视各个服务器结点的活动状态。当探测到服务器池中某服务在指定时间内没有响应,服务监测进程将通知负载均衡器将该服务器从调度列表中删除。这样,新的服务请求就不会被调度到失败的结点。2 2 4 存储系统在本系统中,存储系统有两方面重要作用。( 1 ) 由于实际处理客户请求的是服务器中的多个真实服务器,此时,为了保证服务器池中的服务器所提供的内容都一致,需要所有的数据文档的一致性。共享存储通常是数据库、网络文件系统或者分布式文件系统。服务器结点需要动态更新的数据一般存储在数据库系统中,同时数据库会保证并发访问时数据的一致性。静态的数据可以存储在网络文件系统( 如n f s c i f s ) 中。分布式文件系统可为各服务器提供共享的存储区,它们访问分布式文件系统就像访问本地文件系统一样,同时分布式文件系统可提供良好的伸缩性和可用性。( 2 ) 存储系统的高可靠性存储系统可以通过冗余磁盘阵列技术【7 ( r e d u n d a n ta r r a yo fi n d e p e n d e n td i s k s ) 保证系统的可靠性,r a i d 技术是一种工业标准,目前对r a i d 级别的定义可以获得业界广泛认同的有4 种,r a i d 0 、r a i d l 、r a i d o + i 和r a i d 5 。r a i d 0 :又称数据分块,即把数据分成若干相等大小的小块,并把它们写到北京工业人学工学钡+ 学位论文阵列上不同的硬盘上。具有成本低、读写性能高、存储空间利用率高等特点。但是由于没有数据冗余,会带来灾难的数据损失。r a i d l :又称镜像。即每个工作盘都有一个镜像盘。这种阵列可靠性很高,但其有效容量减d , n 总容量一半以下,因此数据空间浪费很大。r a i d ( 0 + i ) :结合了r a i d 0 和r a i d l ,条块化读写的同时使用镜像操作。r a i d ( 0 + 1 ) 允许多个硬盘损坏,因为它完全使用硬盘来实现资料备份。它具有安全性好,读写性能好,但构建阵列成本投入大,数据空间利用率低。本系统在负载均衡器上采用了r a i d 5 技术,这是目前应用最广泛的r a i d技术。各块硬盘进行条带化分割,相同的条带区进行奇偶校验,校验数据平均分布在每块硬盘上。以r l 块硬盘构建的r a i d 5 阵列可以有n l 块硬盘的容量,存储空问利用率非常高。任何一块硬盘上的数据丢失,均可通过校验数据推算出来。在更换了发生故障的硬盘并根据校验数据恢复丢失的数据后,系统即可恢复正常。r a i d 5 具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛。存储硬件技术的发展也促使从无共享的集群向共享存储的集群迁移。存储区域网( s t o r a g e a r e a n e t w o r k s ) 技术解决了集群的每个结点可以直接连接共享一个庞大的硬盘阵列。硬件厂商也提供多种硬盘共享技术,如光纤通道( f i b e rc h a n n e l ) 、共享s c s i ( s h a r e ds c s i ) 。这些技术的发展使得共享存储变得容易。规模生产也会使得成本逐步降低。2 3l v s 三种模式及其比较首先介绍一下l v s 的负载均衡模型,共有三种:地址转换( n a t ) 、i p 隧道( i pt u n n e l i n g ) 和直接路由( d r ) 模型。2 3 1 地址转换模式n a t ( v s n a t )网络地址转换( n e t w o r ka d d r e s st r a n s l a t i o n ,以下简称n a t ) ,最基本的使用是将局域网的内部地址转化为i n t e m e t 上可用的外部地址。n a t 模式集群的工作原理是将用户请求数据报的报文头( 目标地址、源地址和端口等) 被负载均衡器改写后,在客户端看来,它们连接着一个服务器的碑地址,而不同i p 地址的真实服务器组也认为它们是与客户直接相连的。由此,对于用户端和服务器端来看,都是透明的,因此,可以用n a t 方法将不同i p 地址的并行网络服务变成在一个口地址上的一个虚拟服务。也就是说可以通过访问负载均衡器的虚拟i p 地址,进而由负载均衡器改写数据报,交由服务器池中的任意一台真实服务器处理服务,当真实服务器处理完用户请求之后,再交由负载均衡器处理,改写数据报之石,转发给客户端。v s n a t 的体系结构如图2 2 所示,在一组真实服务器前有一个负载均衡器,它们是通过s w i t c 姗b 相连接的。这些真实服务器提供相同的网络服务、相同的内容,即不管请求被发送到哪一台服务器,执行结果是一样的。服务的内容可以复制到每台服务器的本地硬盘上,可以通过网络文件系统( 如n f s ) 共享,也第2 章l i n u x 虚拟服务器实现负载均衡可以通过一个分布式文件系统来提供。图2 - 2v s n a t 的体系结构f i g u r e 2 2t h ea r c h i t e c t u r eo f v s n a t客户通过v i r t u a li pa d d r e s s ( 虚拟服务的i p 地址,简称v i p ) 访问网络服务时,请求报文到达负载均衡器,它根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址v i p 改写成选定真实服务器的地址,报文的目标端口改写成选定真实服务器的相应端口,最后将修改后的报文发送给选出的真实服务器。同时,负载均衡器在连接h a s h 表中记录这个连接,当这个连接的下一个报文到达时,从连接哈希表中可以得到原选定真实服务器的地址和端口,进行同样的改写操作,并将报文传给原选定的真实服务器。当来自真实服务器的响应报文经过负载均衡器时,负载均衡器将报文的源地址和源端口改为v i p 和相应的端口,再把报文发给用户。工作流程如图所示:北京工业大学丁学硕士学位论文i p 数据包按照负载均衡策略选择个服务器节点,把i p包的目标地址改为服务器节点的内部i p 源地址改为均衡器的内部i p均衡器把服务器节点处理完的i p 包的目标地址改为客户端i p ,源地址改为均衡器的v i p图2 - 3v s n a t 的工作流程图f i g u r e 2 3t h ew o r k i n gf l o wc h a r to f v s n a t2 3 1 2i p 隧道模式( v s t u n )在v s n a t 的集群系统中,请求和响应的数据报文都需要通过负载均衡器,当真实服务器的数目在1 0 台和2 0 台之间时,负载均衡器将成为整个集群系统的新瓶颈。大多数i n t e m e t 服务都有这样的特点:请求报文较短而响应报文往往包含大量的数据。如果能将请求和响应分开处理,即在负载均衡器中只负责调度请求而响应直接返回给客户,将极大地提高整个集群系统的吞吐量。i p 隧道( i pt u n n e l i n g ) 是将个i p 报文封装在另一个碑报文的技术,这可以使得目标为一个i p 地址的数据报文能被封装和转发到另一个i p 地址。i p 隧道技术亦称为i p 封装技术( i pe n c a p s u l a t i o n ) 。i p 隧道主要用于移动主机和虚拟私有网络( v i r t u a lp r i v a t en e t w o r k ) ,在其中隧道都是静态建立的,隧道一端有一个i p 地址,另一端也有唯一的i p 地址。v s t u n 的体系结构如图2 - 4 所示,各个服务器将v i p 地址配置在自己的i p 隧道设备上。i p 隧道模式的工作流程如图2 - 4 所示,负载均衡器收到客户端的请求包后,通过i p i p 协议为该i p 包重新处理,形成以选定的真实服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论