




已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)基于linux集群的可伸缩电子邮件系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 服务器集群是一组用高性能的网络连接起来的独立的服务器的集合。他们能 够协同工作,共同处理i n t e r n e t 上日益增长的客户请求。它具有良好的可用性, 可伸缩性以及优秀的性能价格比是当前服务器技术的热点。电子邮件服务作为 i n t e r n e t 最基本的服务之一,已经被广泛的使用,组建基于服务器集群的电子 邮件系统服务是满足电子邮件系统飞速发展的必然要求。采用构件化的方法,把 集群电子邮件系统构件化,使之能快速,高效的搭建电子邮件服务系统。 本文在对l i n u x 虚拟服务器集群体系结构的深入分析和研究的基础上,针对 电子邮件系统提出采用n a t 方式的双负载均衡服务器的集群邮件系统的解决方 案:在全面分析l i n u x 虚拟服务器集群连接调度算法的基础上,针对l i n u x 虚拟 服务器集群本身对实际服务器的监测功能的不足,提出动态反馈负载均衡连接调 度算法并加以实现。论文分为五个大部分,第一部分为概述与背景,主要对服务 器集群和电子邮件系统的当前发展的概要描述。第二部分为l i n u x 集群的体系结 构,详细论述了l i n u x 虚拟服务器的集群的i p 的负载均衡技术和负载联接调度 的算法,以及新提出的动态反馈负载调度算法的设计与实现。第三部分为集群电 子邮件系统的体系结构,讲解了层次化的群电子邮件系统的体系结构,描述了双 负载均衡服务器的集群邮件系统的解决方案。第四部分是集群电子邮件系统服务 的搭建,描述了基于w e b 的集群管理构件的实现方法。第五部分是系统的测试及 尚待解决的问题。 关键字:服务器集群可伸缩性负载平衡电子邮件构件 a b s t r a c t s e r v e rc l u s t e ri sas e to fa u t o n o m o u ss e r v e r sc o n n e c t e db yh i 曲p e r f o r m a n c e n e t w o r k s ,w h i c hc a nw o r kc o - o p e r a t i v e l yt op r o c e s st h em o r ea n dm o r er e q u e s t sf r o m c l i e n tw i t ht h ee x p l o s i v ei n c r e m e n to fi n t e m e t d u et oi t sh i g ha v a i l a b i l i t y , h i g h s c a l a b i l i t ya n de x c e l l e n tp e r f o r m a n c e - p r i c er a t i o ,s e r v e rc l u s t e rh a sb e c o m eah o t p o i n to f m o d e ms e r v e rt e c h n o l o g y a so n eo f b a s i ci n t e r n e ts e r v i c e s ,e - m a i ls e r v i c ei s w i l d l yu s e d a n di t i st r e n dt om a k eu s eo fs e r v e rc l u s t e rt om e e t 、i t l l r a p i d l y d e v e l o p m e n to f e m a i ls y s t e m t h i sp a p e r , b a s e do na n a l y z i n gt h ea r c h i t e c t u r eo fl i n u xv i r t u a ls e r v e rc l u s t e r , p r e s e n t e das o l u t i o no f d o u b l el o a db a l a n e e rb a s e do nn a tf o re - m a l ls y s t e m ;b a s e d o na n a l y z i n gs c h e d u l i n ga l g o r i t h m sa n dt h es h o r to fl i n u xv i r t u a ls e r v e rc l u s t e r , p r e s e n t e d ad y n a m i c f e e d b a c kl o a dw i t h b a l a n c i n gs c h e d u l i n ga l g o r i t h ma n d i t s i m p l e m e n t a t i o n t h e r e a r ef i v e c h a p t e r s i nt h i s p a p e r t h e f i r s t c h a p t e r i st h e b a c k g r o u n dm a t e r i a l so ft h er e s e a r c h i te x p o u n d e dt h er e s e a r c hd i r e c t i o no fs e r v e r c l u s t e ra n de - m a i ls y s t e m t h es e c o n d c h a p t e rd i s c u s s e dl i n u x c l u s t e ra r c h i t e c t u r e ,i t a n a l y s e si pl o a db a l a n c i n gt e c h n o l o g ya n ds c h e d u l ea l g o r i t h mo f l i n u xv i r t u a ls e r v e r c l u s t e ra n d p r e s e n t sd y n a m i c f e e d b a c kl o a dw i t hb a l a n c i n gs c h e d u l i n ga l g o r i t h m t h e “r dc h a p t e rp r e s e n t e daa r c h i t e c t u r eo f l a r g e - s c a l ed i s t r i b u t e dh i e r a r c h i c a le m a i l s e r v e rw i t ht h es o l u t i o no fd o u b l el o a db a l a n c e rb a s e do nn a t f o re m a l ls y s t e m t h e f o r t hc h a p t e r p r e s e n t e dh o w t oc o n s t r u c tac l u s t e re - m a i ls y s t e ma n d s u p c r v i s a it o o l s o fc l u s t e rb a s e do l lw e b i nt h el a s tc h a p t e r , i t g a v eas i m p l et e s tc a s ea b o u tt h ew h o l e s y s t e ma n dd i s c u s s e ds o m ei s s u e st h a ts h o u l d b ec o n s i d e r a t et oi m p r o v et h es y s t e m k e y w o r d s :s e r v e rc l u s t e r , s c a l a b i l i t y , l o a db a l a n c i n g ,e - m a i ls y s t e m ,c o m p o n e n t 昆明理工大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下( 或 我个人) 进行研究工作所取得的成果。除文中已经注明引用的内 容外,本论文不含任何其他个人或集体已经发表或撰写过的研究成 果。对本文的研究做出重要贡献的个人和集体,均已在论文中作了明 确的说明并表示了谢意。本声明的法律结果由本人承担。 学位论文作者签名:侈r 辱 日期:渺;年月) 香e t 一 扛 茎主! ! 竺! 壅壁塑里堡堕皇量塑堡墨竺堕婴塑咝:二。 绪论 当今世界是i n t e r n e t 的时代,随着i n t e r n e t 的迅猛发展,i n t e r n e t 正在深 刻的改变着人们的生活方式。电子邮件服务作为i n t e r n e t 最基本的服务之一, 其发展速度完全超出了人们的想象。目前在美国l 亿多因特网用户中,8 0 以上 都有电子信箱。全世界电子信箱的数量去年一年增加了8 8 ,达到5 7 亿个。 预计两年后,全球将有1 0 亿个电子邮件信箱。在国内,据c n n i c 公布的报告, 8 7 6 5 的互联网用户最常用的互联网服务是电子邮件,高居所有网络服务的榜 首。随着电子邮件的迅速普及,使得搭建价廉,可扩展和高性能的电子邮件系统 成为当前许多政府机关,企业的当务之急。 伴随i n t e r n e t 的发展,服务器的负荷不断增加。为了避免服务器的过载, 需要服务器拥有不断扩展、升级的能力。同时网上业务的发展对网络服务的可靠 性要求不断提高,服务的高可用性也越来越重要。 当前主要采用集群的方法即用集群技术构造网络服务器组,让多台服务器来 完成相同的服务,以提升系统的性能和增加服务的可用性。来满足人们对邮件系 统的高可用性,高可靠性和高可扩展性的要求。 本文所要研究和探讨的就是基于l i n u xv i r t u a ls e r v e r 的基础上,针对电 子邮件系统的特点。采用双负载均衡服务器的体系结构和新的连接调度算法的 l i n u x 虚拟服务器集群,通过基于w e b 的管理模块来快速,高效的搭建价廉,可 扩展的高性能电子邮件系统。 昆明理工大学硕士学位论文4 基于l i n u x 集群的可伸缩电子邮件系统的研究第一童 第一章概述和背景 1 1 服务器集群技术的发展状况 1 1 1 网络服务器现状 近年来,伴随i n t e r n e t 的发展,互联网的用户数和网络流量正以几何级数 增长,这对网络服务的可扩展性提出很高的要求。随着网络硬件设各的飞速进步, 网络带宽的瓶颈效应日趋减弱,网络服务器的性能问题逐渐显现出来。 随着站点访问人数和访问频率的增加,越来越多的客户请求发送到服务器 服务器的负荷不断增加,响应时问在服务器性能不提升的倩况下必然是越来越 长。有统计,自1 9 9 2 年以来每年全球因网络延迟而损失的网上销售额高达4 0 亿美元。因此网络发展对服务器提出的一个关键需求就是拥有不断扩展、升级的 能力。 要解决对网络服务器的可扩展性要求有两种选择“1 : 方案一:升级网络服务器,采用更快的c p u ,增加更多的内存,使其具有更 高的性能。方案二:增加网络服务器,让多台服务器来完成相同的服务,通过并 行技术来大大提升系统性能,这种方法就是服务器集群。 显然。方案一不能处理不断增长的负载和可用性需求。这种服务器升级方法 有下列不足:一是升级过程烦琐,机器切换会使服务暂时中断,并造成原有资源 的浪费;二是越往高端的服务器,所花费的代价越大;三是一旦该服务器或应用 软件失效,会导致整个服务的中断。 方案二的集群技术是近年来发展迅速的并行技术的一种,它是一组互相独立 的计算机,由网络互连,纽威一个单一的计算机系统,并以单一系统的模式加以 管理。它可以提供与超级计算机相当的任务处理能力。 1 1 2 集群技术 1 1 2 1 集群的概念 集群是用高性能网络或者l a n 进行物理连接的计算机的集合。集合里的计算 昆明理工大学硕士学位论文 基于l i n u x 集群的可伸缩电子邮件系统的研究 第一章 机又叫作节点( n o d e s ) ,它们是一些完 整的独立的计算机系统。c l u s t e r 中的 节点可以是服务器,也可以是工作站, 可以是p c ,也可以是大型机甚至是w p s ( m a s s i v e l yp a r a l l e lp r o c e s s o r s ) 。 集群中的各个节点在保持本身计 算机系统完备性的同时,还应该具有另 一个更为重要的特征,即各个节点必须 能够在一起协同工作,形成一个单一的,集成的系统资源。1 。 从图1 1 中可以看出集群系统体系结构的特点 c l u s t e r 节点:每一个节点是一个完整的计算机。这隐含着完备的计算机系 统以及相应完备的外围设备。此外,在每一个节点上都驻留着一个完整的, 标准的操作系统。 单一系统映像:s s i ( s i n g l e - - s y s t e mi m a g e ) 整个集群是一个单一的计算 处理资源,在这一点上集群系统和分布式系统有区别。集群系统是通过s s i 技术来实现单一资源的特征。s s i 技术实现了集群的有效管理和简单使用。 尽管到现在为止,大多数的集群产品还不能提供完整的s s i 服务,但s s i 却 是集群的重要特征。 节点之间的互联:每一个节点是用性能尽可能高的网络来连接,如e t h e r n e t , f d d i 和a t m 交换网等。当使用不同的网络连接时,必须提供标准的协议来实 现节点之间的平滑通信。 增强的可用性( a v a i l a b i l i t y ) :可用性表示系统对用户应用可使用的时间 的百分比。集群技术提供了有效的、花费更低的解决方案。 更好的性能:集群系统可以在很多的服务领域提供更好的性能。例如,一 个集群系统可以作为一个超级w e b 服务器,或者一个超级的邮件服务器。如 果集群中的每一个节点可以支持n 个客户,那么有m 个节点的集群系统就可 以支持m * n 个客户。另外,集群技术在并行处理领域,还可以缩短单个任务 的执行时间。 更好的灵活性和可伸缩性:集群系统可以根据实际情况灵活地改变整个系 昆明理工大学硕士学位论文 6 基于l i n u x 集群的可伸缩电子邮件系统的研究 第一章 统的配置,如增加或者减少节点等。这种平滑的可伸缩性不仅表现在系统规 模的可伸缩,还表现在技术,服务的可伸缩。 工作站网络( n o w ,n e t w o r ko fw o r k s t a t i o n s ) 构成的集群系统已经成为科 学和工程计算、企业日常事务处理、i n t e r n e t 信息处理的主要基础,近年来, 由于网络技术和工作站技术的迅猛发展,n o w 以其更好的性能价格比受到人们的 青睐,并大有取代大型机甚至巨型机的趋势。 1 1 2 2 集群的特点 集群概念的提出带来了许多的优点,同时也带来了许多的挑战。其晟主要的 优点是可易用性,可用性,可伸缩性和良好的性能价格比。 可易用性:因为集群的单个节点仍旧是传统的平台,所以用户可以在他们平 时就很熟悉的环境下面开发和运行应用程序。同时这也可以让现有的许多程序可 以不加修改的运行在处理能力强大的集群平台上。非常有利于保护用户己有的软 件投资。 可用性:可用性包括可靠性和好的可用性等。在传统的系统中,如大型机和 容错系统,通常是以高费用为代价来提供可用性。相反,在集群系统中,却是用 低费用的组件来提供较高的可用性。集群系统可用性的实现,其关键技术是开发 共享组件可获得的软件。 可伸缩性:一个集群系统的处理能力可以简单地通过增加节点来加强。同时, 集群的可伸缩性是多面的。包括资源的可伸缩性、应用的可伸缩性、和技术的可 伸缩性等。 良好的性能价格比:集群系统良好的性能价格比是它受到人们青睐的重要因 素。它可以把一些廉价系统组合在一起协同地工作,在总体上的性能却可以超过 大型机甚至巨型机。美国亚特兰大的e m o r y 大学、c e s d i s 哥德航天飞行中心。 和加利福尼亚技术学院的科学技术人员、研究人员和实验室工作人员一起在 1 9 9 7 年 2 建立了1 6 个节点的p - - d 2 0 0 微机集群b e o w u l f 系统,只用5 万美 元而使系统达到每秒1 0 亿次浮点运算的能力。使用大众化的p c 通过l a n 互联而 达到超级计算机的功能和能力。 同时,集群技术可以保护用户在原有设备上的硬件投资,用户可以将新旧设 备组合起来成为一个集群,达到提供更高的性能的目的。 昆明理工大学硕士学位论文 7 1 1 2 3 集群的分类 按照侧重点的不同,可以把集群分为三类:一类是高可用性集群,运行于两 个或多个节点上,目的是在系统出现某些故障的情况下,仍能继续对外提供服务。 高可用性集群的设计思想就是要最大限度地减少服务中断时问。第二类是负载均 衡集群,目的是提供和节点个数成正比的负载能力,这种集群适合提供大访问量 的网络服务。负载均衡集群往往也具有一定的高可用性特点。另一类是超级计算 集群,利用若干台p c 机就可以完成通常只有超级计算机才能完成的计算任务。 在这里我们所要讨论的是用集群技术构建电子邮件服务器,因此我们研究的 重点是负载均衡集群。 因为集群技术很好的满足了对网络服务器的可扩展性和可用性需求,所以使 用集群技术构建网络服务器成为了很多网站的选择,也是未来网络服务器模式的 主要发展方向。 1 2 可伸缩技术的概念 ,;赫。1 蕊 可伸缩技术是篆群披水的一个熏器的技术特绥。露黼,艄赫术只是一种 内容十分丰富的技术,下面从多个方面对它进行论述: 1 2 1 资源的可伸缩性 资源的可伸缩性是指通过增加c p u 数量或者进行更多的硬件投资来获得更 高的系统性能和改善软件的效率。 系统大小的伸缩:加大一个计算机系统或者一个集群系统的最简单的办法是 增加节点数目或者节点内处理器的数目。系统大小伸缩并不是仅仅简单的增加一 台机器或者减少一台机器,它往往受到集群系统设计和节点互联方案的制约。 系统资源的伸缩:允许增加集群系统内接点的资源,如c a c h e 、内存、或者 硬盘空间的大小,并以此来提高系统的性能和增加吞吐量。 系统软件的伸缩:可伸缩系统的软件可以从下面三个方面进行改进 应使用最新版本的操作系统来提供更多的功能,比如多用户。多进程, 多线程支持、更大的用户空间支持和效率更高的内核。 昆明理工大学硕士学位论文 8 基于l i n u x 集群的可伸缩电子邮件系统的研究第一章 使用优化的编译器。 使用效率更高的数学和工程库。 1 2 2 应用的可伸缩性 为了能够充分利用可伸缩系统的能力,基于c l u s t e r 的应用程序应该是可伸 缩的。这样的应用程序才能在规模不断扩大的集群系统上有更好的性能。衡量应 用程序的可伸缩性的两个标准是节点数量的可伸缩和面向问题规模的可伸缩。 节点数量的可伸缩:它表明在系统节点数量不断增加的情况下,系统性能有 多大的改善。 问题规模的可伸缩性:它表明在系统有更大的数据处理量和负载时性能的表 现如何。 1 2 3 技术的可伸缩性 技术的可伸缩性使得一个可伸缩的系统能够适应技术的改变。具体而言,它 可以分为三类:版本的可伸缩性,空间的可伸缩性和异构性可伸缩性。 版本的可伸缩:一个系统可以用更新的组件进行规模的扩展,如更快的处理 器,更快的内存,更新的操作系统和性能更优的编译器等。并且,当系统变迁到 新的版本后,它的计算处理能力应该相应的提高。此外,在系统中未作更新的部 分应该做到尽可能少的改变,这样可以在对集群中的一个组件进行升级时可以尽 量不要求整体的改变。对过去的并行计算机来说,这一点做得很不够,造成用户 在对系统的更新后不得不重新开发新的用户应用程序。 空间的可伸缩性:空间的可伸缩性在最初是指在多处理系统中,可扩充的处 理器空间。对网络而言,它天然具有无限的空间可伸缩性。 异构可伸缩性:它使得系统可以通过集成不同的软件和硬件组件来扩充系 统,它也被称为标准的,开放的体系结构和接口。 1 3 可伸缩性的设计原则 设计一个可伸缩的集群系统是一个复杂过程,通常在设计的过程中应该考虑 昆明理工大学硕士学位论文 9 基于l i n u x 集群的可伸缩电子邮件系统的研究第一章 下面四个原则:独立原则,平衡原则,可伸缩原则和延迟隐藏的原则“3 。 1 3 1 独立的设计原则 这个原则要求在集群系统的设计中,保持各个组件问的独立性。即使不能够 做到完全的独立,也应该在设计的时候尽量的减少各个组件之间的依赖,这里的 组件是指在集群系统内所有的软硬件构成部分。 独立的原则为可伸缩性带来一个很明显的好处:我们可以通过改善独立于 其他组件的部分来扩充整个系统,而不用考虑和升级系统内的其他组件。比如当 用户想增加系统的节点数,他并不需要考虑升级操作系统,编程环境和应用程序。 当对处理器进行升级时,同样可以不用升级其他组件而提高系统的性能。这 也是异构性给系统带来的好处。这是因为组件并没有绑定在一个特殊的体系结构 上面,从而赋予了这个组件可以内置于许多系统的能力,这样,可以极大地减少 系统的开支。 对可伸缩集群系统的应用程序的设计,应该有以下的一些原则: 应用程序的算法应该独立于体系结构和平台。 编程语言应该是独立于机器的。 集群中的节点应该是独立于网络的,网络的接口应该独立于网络的拓扑 结构。 实现独立的设计原则有两个通用的技术,体系结构与实现相分离,使用标准 的组件。 1 3 2 平衡的设计原则 在一个系统中,多数的组件是较新的和较快的组件,但有的组件却可能很慢, 这个组件就成为整个系统的瓶颈。平衡的设计原则就是尽可能的减少在瓶颈环节 的性能约束。此外,平衡设计还应该能够避兔在单一的组件处的失效导致整个系 统的崩溃。 昆孵理工大学硕士学位论文 1 0 基于l i n u x 集群的可伸缩电子邮件系统的研究箜二童 1 3 3 可伸缩的设计原则 它表明在设计可伸缩系统的时候,可伸缩的设计从一开始就应该是一个主要 的目标,它允许系统在要求高性能的时候可以扩大规模,同时也可以缩小规模以 满足用户在系统花费上的预算要求,可伸缩设计的两个常用的方法是超前设计和 向后兼容。 超前设计: 使用超前设计技术,一个系统的设计不仅要满足当前的处理需求,它还 要包括一些将来进行系统扩展时的附加特性的设计。虽然这些特性对当前是 一种多余,但对系统将来的升级和性能改善打下了坚实的基础。 向后的兼容设计: 超前设计是为了满足系统未来的技术和特性要求而进行的。与之互补的 一种技术是向后兼容的设计原则。它要求在进行系统的软件硬件设计 1 3 4 延迟隐藏的设计原则 在一般的集群系统中,一个远程的资源请求操作可能会有一个较长的处理延 迟,在一些特定的场合中,必须对这种延迟进行处理。延迟隐藏的技术是将延迟 隐藏在整个处理中。 1 4 电子邮件系统的构成与当前的发展状况 电子邮件系统包括两个组件:删a ( m a i lu s e ra g e n t ,邮件用户代理) 和 m t a ( m a i it r a n s p o r ta g e n t ,邮件传送代理) 。m u a 是邮件系统为用户提供的可 以读写邮件的界面的软件;而m t a 是运行在底层,能够处理邮件的收发工作的程 序。简单的说,用户可以使用m u a 写信、读信、而通过m t a 收信、发信。m u a 与 m t a 之间通过协议通信有s m t p ,p o p 3 ,i m a p 协议等当使用一个m u a 程序写信( 例 如e l m ,p i n e 或m a i l ) 时,应用程序把信件传给s e n d m a i l 或p o s t f i x 这样的m t a 程序。尽管大多数的系统只使用一个m t a 程序,然而实际上可以同时运行几个这 样的程序,比如运行一个m t a 程序处理局域网信件,而运行另一个m t a 程序来处 理u u c p 信件。如果信件是寄给局域网或本地主机的,那么m t a 程序应该从地址 昆明理工大学硕士学位论文 基于l i n u x 集群的可伸缩电子邮件系统的研究第一章 上就可以确定这个信息。如果信件是发给远程系统用户的,那么m t a 程序必须能 够选择路由,与远程邮件服务器建立连接并发送邮件。这种远程连接可以建立在 u u c p 或t c p 之上。如果是后者,那么就要采用s m t p 协议( s i m p l em a i lt r a n s f e r p r o t o c o l ,简单邮件传输协议) 。 当前组建可伸缩的电子邮件系统的研究主要是利用集群技术,比较典型的有 三类。第一,p o r c u p i n e 项目“1 :它是由美国华盛顿大学研制开发的基于集群的 邮件系统。这个系统最大的特点就是组成系统的各个节点功能是一致的,它强调 每个节点都能服务所有的用户,采用的是了一种基于动态邮箱迁移的完全对称式 的结构。p o r c u p i n e 的这种设计能连接多达1 0 0 0 个p c 机,每天能处理多达1 0 亿封消息,支持超过千万的用户。第二,n i n j a m a i l 系统”1 :它是分布式的,集 群的w e b m a il 系统。它是建立在n i n j a 集群体系和o c e a n s t o r e 广域数据存储体 系上的。n i n j a 集群是美国加利福尼亚大学开发的,o c e a n s t o r e 提供广域网上 多个服务器的数据交换。n i n j a m a i l 的主要特点是它的高可用性和功能不随系统 的扩展而下降性。第三,国内由章文嵩博士创立的l i n u xv i r t u a ls e r v e r 的自 由软件项目咖。它是通过网络地址转换技术( n a t ) ,i p 隧道技术( i p t u n n e l i n g ) 和直接路由技术( d i r e c tr o u t i n g ) 实现v i r t u a ls e r v e r ,并在l i n u xv i r t u a l s e r v e r 集群的基础上搭建各种网络服务。 以上三种类型的集群电子邮件系统的研究集中体现了当前国内外对电子邮 件系统的研究动态。国外对可扩展的集群电子邮件系统的研究主要集中在建立完 全新式的电子邮件系统的体系结构以满足大数量用户和可扩展性的要求。其中 p o r c u p i n e 项目,提出了集群各节点的功能一致性的概念f h c ( f u n c t i o n a l l y h o m o g e n e o u sc l u s t e r i n g ) 。1 ,采用复杂的同步机制,保证各节点的状态的统一。 虽然在实验室环境下p o r c u p i n e 表现出随用户数量的增加,系统性能也线性增强 的良好的可扩展性。但p o r c u p i n e 也有相当的缺点,它强调每个节点都能服务所 有的用户,因而涉及到大量内部节点通信和状态信息的维护,使系统实现起来非 常复杂,而且没有很好的解决负载平衡问题。p o r c u p i n e 系统的邮件处理和存储 是分离的,每个用户的邮箱还可能被分成几个部分,使得每个用户请求的处理时 间变长。p o r c u p i n e 的状态信息是分布在各节点内存中的,因此在定位时速度快。 但这些状态信息本身要耗费相当的资源,管理和一致性维护需要复杂的协议。最 昆明理工大学碗士学位论文 1 2 基于l i n u x 集群的可伸缩电子邮件系统的研究第一章 后,p o r c u p i n e 为实现全对称的结构,使用了自己设计的专用邮件服务程序,因 此其功能还很不完全,没有提供对w e b m a i l 的支持。离商业化系统的要求还相去 甚远。而n i n j a m a il 系统完全依赖于n i n j a 集群和o c e a n s t o r e 的基础设施,其 使用与推广受到很大的局限性。国内工作于国家并行与分布式处理重点实验室的 章文嵩博士所创立的h i n u xv i r t u a ls e r v e r 项目,由于其集群系统的简便易行, 已大量用在w e b 服务器集群中,并取得了良好的效果。但就电子邮件这类数据操 作密集服务,l i n u xv i r t u a ls e r v e r 项目并未作进一步的阐述。 昆明理工大学硕士学位论文 基于l i n u x 集群的可伸缩电子邮件系统的研究第二章 第二章l j n u x 集群的体系结构 2 1l i n u x 虚拟服务器( l v s ) 的简介 l v s 是由中国国防科技大学的章文嵩主持开发的,该方案使用一台负载均衡 器在服务器集群中的各节点之间来分配负载,这样,就使务器集群所提供的服务 好像一个i p 地址所提供的虚拟服务一样,客户端的用户看到的是一台虚拟的服 务器,而不是服务器集群。它的均衡粒度是每个连接( p e rc o n n e c t i o n ) 的服务 器节点,可以在服务器集群中实现很好的负载均衡。而且一台或几台服务器节点 的失效( 除了负载均衡器) ,不会中断提供给用户的服务,同时服务器的管理变 得更加简单了,管理员可以在任何时候把一台或几台服务器加入集群一起对外服 务。它是在i p 层上实现均衡负载的集中式集群技术。从可伸缩的角度,它较全 面的考虑到了资源,应用和技术的可伸缩性。 2 2lin u x 虚拟服务器的集群的构成 l v s 集群采用i p 负载均衡技术,在操作系统核心空间中将i p 层上的t c p u d p 请求均衡地转移到不同的服务器上,且均衡器自动屏蔽掉服务器的故障,从而将 一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对 客户是透明的,而且无需修改客户端和服务器端的程序。一般来说,l v s 集群采 用三层结构,其体系结构如图2 1 所示,三层主要组成部分为“”: 负载均衡器( 1 0 a db a l a n c e r ) ,它是整个集群对外面的前端机,负责将客 户的请求发送到一组服务器上执行,而客户认为服务是来自一个i p 地址 ,( 我们可称之为虚拟i p 地址) 上的。 服务器池( s e r v e rp 0 0 1 ) ,是一组真正执行客户请求的服务器,执行的服 务有w e b 、m a i l 、f t p 和d n s 等。 昆明理工大学硕士学位论文 1 4 基于l i n u x 集群的可伸缩电子邮件系统的研究 第二章 共享存储( s h a r e d s t o r a g e ) ,它为服务 器池提供一个共享的 存储区,这样很容易 使得服务器池拥有相 同的内容,提供相同 的服务。 在l v s 集群中,服务器 集群的结构对客户是透明 的,客户访问集群提供的网 络服务就像访问一台服务器 一样。客户程序不受服务器集群的影响,不需作任何修改。系统的伸缩性通过在 服务器集群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障 和正确地重启系统获得高可用性。 负载均衡器采用基于i p 层负载均衡调度技术。1 。当客户的连接请求到达时, 平衡器根据调度算法和当时的负载情况从服务器池中选出一个服务器,将这个连 接请求转发到被选中的服务器,同时将这个转发和调度记录在张路由表中。对 l v s 来说,所有的操作都是在操作系统核心空间中完成的,它的调度开销很小, 所以它能调度很多服务器,而本身不会成为系统的瓶颈。服务器池的结点数目是 可变的。当整个系统收到的负载超过目前所有结点的处理能力时,可以在服务器 池中增加服务器来满足不断增长的请求负载。对大多数网络服务来说,结点与结 点间不存在很强的相关性,所以整个系统的性能可以随着服务器池的结点数目增 加而线性增长。 集群系统的特点是它在软硬件上都有冗余。系统的高可用性可以通过检测节 点或服务进程故障和正确地重启系统来实现。通常,在负载均衡器上由资源监视 进程来时刻监视各个服务器结点的健康状况,当服务器对i c m p 包不可逃或者网 络服务在指定的时间内没有响应时,资源监视进程通知操作系统内核,将该服务 器从调度列表中删除或者失效。这样,新的服务请求就不会调度到坏的结点。 现在前端的负载均衡器有可能成为系统的单一失效点。为了避兔均衡器失效 导致整个系统不能工作,可以设立均衡器的备份。两个心跳后台进程( h e a r tb e a t 昆明理工大学硕士学位论文 丛rl i f l u x 架群的町仲缩l u fj l g f l :系统的研究 第一二章 d a e m o n p r o c e s s ) 分别在主、从均衡器上运行,它们通过串口线和u d p 等心跳 线来棚互汇报各自的健康情况。当从均衡器不能监听到主均衡器的心跳时,从均 衡器会接管卜均衡器的工作从而丌始提供负载调度服务。一般通过a r p 欺骗 ( g r a t u itc ) l i sa r i ) 来接管集群的v i r t u a li pa d d r e s s 。当主均衡器恢复时, 将1 动变成从均衡器或从均衡器释放v i r t u a li pa d d r e s s ,主均衡器收回 v r t u a l1 pa d d r e s s 并提供负载调度服务。然而。主均衡器的接管会导致已有 的州度信心王火,需要客户程序重新发送请求。 后端存储通常用容错的分柿式文件系统如a p s 、g f s 、c o d a 和i n t e r 。e z z o 等。这些系统会考虑文件访问的伸缩性和可用性。各服务器访问分前j 式文f , :系统 就像访问本地文件系统一样。然而,当不同服务器上的应用程序同时防问分前i 式 文件系统上同一资源时,应用程序的访问冲突需要消解才能使得资源处于一致状 态。这需要“一个分斫i 式锁管理器( d i s t r i b u t e dl o c km a n a r e r ) 它可能是分布 式文件系统内部提供的,也可能是外部的。 2 3l in u x 虚拟服务器的i p 负载均衡技术 l v s 实现了三种i p 负载均衡技术,它们分别为通过网络地址转换实现的集群 ( v s n a l ) 、通过i p 隧道技术实现的集群( v s 1 u n ) 和采用直接路由实现的集 群( v s i ) r ) 。在后面几小节将仔细分析它们的工作原理和它们的优缺点。在这 b 先作以下约定:称客户的s o c k e t 和服务器的s o c k e t 之间的数据通信为连接, 无沦它们是使用t c p 还是u d p 协议。 2 3 1 用网络地址转换( n a t ) 实现虚拟服务器( v s n a t ) 昆叫耻。e 人学唧! l “学位论文 1 6 基于l i n u x 集群的可伸缩电子邮件系统的研究 第二章 地址转换模式n a t n a t 结构图与n a t 包处理流程 我们看到,n a t 的网络结构呈现为一种类似防火墙的私有网结构,中间的虚 线表示网络隔离带。通过内部i p 地址,将服务结点池同互联网隔离开来。服务 结点无法和客户端直接通信,不论是请求数据还是应答数据。都需要经过负载均 衡器进行i p 包处理工作。 n a t 中主要的工作就是改写i p 包的源、目的地址信息,使得发向v i p 的请求 数据经过改写后重新指向内部主机;同样内部的应答数据经过负载均衡器改写 后,以v i p 作为源地址发至请求者。这样的模式也称作网络地址转换( 也有叫做 i p 地址伪装) ,我们在代理服务器、i p t a b l e s 、透明网关等应用中,都使用到这 种模型,可以说这是一件比较成熟的技术汹3 。 由于使用n a t 方式,要对进入和流出集群的网络包进行改写包头地址的工作, 在负荷比较熏的时候会影响整个集群的性能,负载均衡器容易成为瓶颈。 2 3 2 用i pt u n n e ii n g 实现虚拟服务器( v s t u n ) i pt u n n e i i n g ( 隧道) 又称为i pe n c a p s u l a t i o n ( i p 封装) ,是一种把i p 数据包( 包括i p 数据包包头和i p 数据包数据) 封装在一个新的i p 数据包里的 技术,在这个新的i p 数据包里原来的i p 数据包仅仅作为它的数据部分。这样, 昆明理工大学硕士学位论文 基于l i n u x 集群的可伸缩电子邮件系统的研究笙三皇 目的_ 地址为一个i p 地址的数据包在经过封装以后就能够重定向到另一个i p 地 址。i p 封装技术被广泛的应用于m o b i l e - - i p ( 移动i p ) , i p - - m u l t i c a s t ( i p 组播) 领域。 i p 隧道模式i p i p p i p 结构图与i p i p 包处理流程 i p i p 模式采用的是开放的网络结构,服务结点拥有合法的互联网i p 地址, 可以通过路由路径将应答包直接返回给客户端。因此,负载均衡器仅仅处理进入 集群的请求数据包,而返回包不经过路由器。因此,这种模式称作单工连接模式 ( 单方向连接工作模式) 。负载均衡器和服务结点的连接可以是l a n ,也可以在 不同的网络上,只需要保证负载均衡器能够将i p 包发送至服务结点即可。 负载均衡器收到客户端的请求包后,通过i p i p 协议为该i p 包重新处理,形 成以选定的服务结点为目的i p 的新的i p 包,原有的i p 包数据则封装在新的i p 包里。服务结点收到均衡器发来的i p i p 数据后,将该包解开。根据其内的客户 端地址( 源地址) 将处理结果直接返回给客户端。而应答包的源地址则成为集群 的虚拟地址v i p 。 t p l p 模式的技术在其他领域也有体现,因为对i p 进行重新封装,整个过程 对应用层仍然是透明的。p p t p 协议就是对i p 隧道协议的一种应用。不过目前i p i p 昆明理工大学硕士学位论文 些! ! ! ! ! ! 生型塑卫业笪坐兰业丛至竺塑堕壅塑:墨一 仅仅在l jn u x 系统上实现。该协议必须在k e r n e l 中打丌设备选项支持,通过 t u n e l 设备绑定v i p ,服务结点在返回应答数据时,可以以v i p 作为源地址构筑 应答包。 2 3 3 用d ir e g tr o u i :i n g 实现虚拟服务器( v s d r ) 直接路由模式u r d r 结构图与d r 包处理流群 和i p i p 模式一样,d r 模式也是采用单工的连接方式,应答数= f l i 不再经过均 衡器而赢接返回给客户端。服务结点也必须拥有能够到达客户端的合法i p 地j i f :。 而且,d r 模式中,负载均衡器和服务结点必须位于同一个网段。 负载均衡器接收到客户端请求后,选择合适的服务结点,然后改写陔i ,倒( 包 的m a c 地址部分,使之成为目的服务结点的m a c 地址,辩将此包广播剑均衡器所 在的网段。山于每个服务结点都棚有一个虚拟的网络设备( n j 以址d u m m y o 或者 i o :o ) ,这些设箭上绑定了和均衡器一样的v i p ,只是该发彳i 并不1 1 应对v 的 r a p 解析坷;会和均衡器的v i p 地址冲突。负载均衡器收到符合自身m a c 的 包后经过处理后直接将应答数据返回给客户,而此时的源地址仍然赴v 。这 样,在客,o 端看来,访问的和接受响应的始终是集群的v i p 地址了。 昆l l j j 理1 人学矧i :学位论艾 1 9 基t - l i n u x 集群的可仲缩电子l l g f l 系统的研究 第二章 2 3 4 三种负载均衡模式综合比较 虽然i 。v s 支持三种负载均衡模式,但是从上面的分析我们发现,根据负载均 衡器处理l i ) 包的进出方式,l v s 实际上包含了两利- 模型”:忡 + 处雕和烈r ( 烈 向连接工作模式) 处理。显然,n a t 地址转换模式属于双: 连接处州,在这利模 式f ,负载均衡器不但需要处理进入集群的i p 包,而1 7 还要处川i ! 集舯内拜i i1 7 止 返回的应答i i ) 包,一个用户从发出访问请求到接受响应都要经过饿i l y c f i j f 女心 负载均衡器的处理,因此称之为双工连接处理。丽其他两种模式t f t 负载均衡器 仅仅处理进入集群的i p 请求包,而集群内部结点的响应数w 则小阿通过饥找均 衡器返回客户端,而是通过节点到客户端的路出通道直接发送到日的地。“ij j 匀 衡器仅处理一次完整连接的i p 请求部分,而对i p 的应答数据则不处i i 1 ,所以称 之为单工连接模式。 二者比较。有什么有缺点呢。要知道,在现今的w e b 世界中,大多数的删络 请求比较小,无非是一些u r l 页面请求,g e t 或者p o s t 表单要么就赴某些指 令等等,这些数据基本上在几百到几k 个字节。对这样的i p 数掘包进行处删赴 比较轻十2 f i , j 事。而相反,w e b 中的应答数据通常很大,一个普通的w e bd ! l i i 山篮 几十k ,更何况返回的如果是视频、音频流了,加上r 益疯狂的网络i i j 戈,i ! i 】他 f q 强劲的处耻i ! 器也无法承受这样大量的i p 包处理工作。 因此在i p 负载均衡中,如果使用双工模式( n a t ) ,不仅璎对进入集1 1 i f ( j 请求做出处理( 改写i p 包的源、目的地址) ,还要列服务结点返l ? 1 0 j 人h 数州做 同样的工作。那么,随着集群服务节点池规模的增长,负载均衡7 , m ( j 处s l ! f i - j 很 快就会达到饱和也大大影响了l v s 集群的规模可扩展性。而倥f jj p f pi 戈占f ) r 模式,负载均衡器只需要处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚谈判策略全解专业指导助你成功离婚
- 物流企业驾驶员劳动合同及交通法规遵守协议
- 离婚协议书起草及离婚程序实务操作合同
- 离婚协议签署后反悔情形下个人隐私保护合同
- 针对国际海上运输的船舶建造合同中的质量与进度要求
- 养老金私募投资风险管理策略-洞察及研究
- 个性化营养干预研究-洞察及研究
- 教师招聘之《幼儿教师招聘》能力提升试题打印及答案详解【易错题】
- 智能电网中的能源调度技术-洞察及研究
- 小学科学竞赛试题及答案
- 【MOOC】医学心理学-北京大学 中国大学慕课MOOC答案
- 大型活动火灾应急预案
- 剪映专业版教学课件
- 地坪拆除服务合同
- DB22T 277-2011 建筑电气防火检验规程
- 广东省执法证网上考试系统题库及答案
- 《建筑设计基础》全套教学课件
- 统编2024版七年级语文上册全册知识点梳理
- 2024年新青岛版(六三制)六上科学全册知识点
- 山东省潍坊市寒亭区2023-2024学年七年级上学期9月入学测试数学试卷(含答案)
- 三轴搅拌桩安全技术交底(好)
评论
0/150
提交评论