(计算机软件与理论专业论文)web集群服务器及管理系统.pdf_第1页
(计算机软件与理论专业论文)web集群服务器及管理系统.pdf_第2页
(计算机软件与理论专业论文)web集群服务器及管理系统.pdf_第3页
(计算机软件与理论专业论文)web集群服务器及管理系统.pdf_第4页
(计算机软件与理论专业论文)web集群服务器及管理系统.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机软件与理论专业论文)web集群服务器及管理系统.pdf.pdf 免费下载

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

文档简介

摘要 随着w e b 技术的发展和应用的广泛,w e b 服务的性能问题日益显得重要。因此 高性能、高可用w e b 服务成为当前w e b 服务领域的研究热点。w e b 集群服务器系统 是解决当前w e b 服务性能问题的有效途径之一,它将用户的请求按照负载平衡算 法分发到集群中的某台服务器上去,并行处理用户的请求,从而提高系统运行效 率。但当前集群系统的管理多是命令行方式,不容易被普通用户接受,因此设计 一个基于w e b 的集群管理系统是必要和有意义的。论文主要包括以下四个方面的 工作: 首先,讨论了集群系统的基本概念、基本原理,以及如何实现集群系统可用 性和扩展性,接着论述了请求分配和负载平衡与w e b 集群服务器系统的关系,指 出了当前请求分配技术和负载平衡方法存在的不足。 其次,本文深入探讨了当前w e b 集群服务器系统的请求分配策略和负载平衡 算法,指出了这些技术的基本原理和应用范围以及其存在的问题。针对这些不足 和问题,本文提出了使用报文转发技术和动态负载平衡算法构造w e b 集群服务器 系统的技术方案。 第三,设计并实现一个基于动态请求分配法的w e b c l u s t e r 系统,整个系统基 于l i n u x 的n e t f i k e r 框架实现,经试验证明这种方法是非常高效的。另外文中使 用了双机冗余备份的方法,来提高平衡器的可用性。针对当前集群系统难管理性 问题,本文还实现了一个基于w e b 的集群管理工具w e b a d m ,以对w e b 集群服务器系 统的远程管理。 最后,对集群系统作了简单的总结和进一步展望,并给出了分散式负载平衡 的基本工作原理和任务分发的算法。 关键词:w e b 集群服务器系统,请求分配,负载平衡,报文转发 a b s t r a c t w i t ht h ed e v e l o p m e n ta n dw i d ea p p l i c a t i o no f w e b t e c h n o l o g y ,t h ep e r f o r m a n c e o fw e b b a s e ds y s t e m si sm o r ea n dm o r ec r i t i c a l t h e r e f o r e ,h i g hp e r f o r m a n c ea n d h i g ha v a i l a b i l i t yh a sb e c o m e ar e s e a r c ha n dd e v e l o p m e n t h o t s p o ti nw e b s e r v i c e s a s o r l eo ft h ee f f e c t i v em e t h o d s ,w e bc l u s t e rs e r v e rs y s t e ma i m st os o l v et h ep r o b l e mo f w e bs e r v i c ep e r f o r m a n c e i tt r a n s m i t sc l i e n tr e q u e s t st ot h es e r v e ri nt h ec l u s t e rb a s e d o nl o a db a l a n c ea l g o r i t h m ,a n dt h e ne a c hs e r v e rd e a l sw i t hs o m e r e q u e s t si no r d e rt o i m p r o v et h es y s t e me f f i c i e n c y b u tt h ec u r r e n tc l u s t e rm a n a g e m e n t i sc o m m a n dl i n e b a s e d ,w h i c hi sd i f f i c u l tt ob eu s e d t h e r e f o r e ,t e c h n i q u e sa n dm e t h o d so fc l u s t e r m a n a g e m e n ts h o u l db et h o r o u g h l yi n v e s t i g a t e d ,a n da ne f f i c i e n te a s i l yu s e dc l u s t e r , m a n a g e m e n ts y s t e mh a st ob ed e v e l o p e d t h e s ea r em y r e s e a r c ho b j e c t i v e s a l lm y r e s e a r c hw o r kc a nb ed i v i d e di n t ot h ef o l l o w i n gf o u rp a n s : f i r s to fa l l ,b a s i c c o n c e p t ,p r i n c i p l e s ,a n di m p l e m e n t a t i o nt e c h n i q u e s o ft h e c l u s t e rs y s t e ma r ed i s c u s s e d t h e n ,t h er e l a t i o n s h i pb e t w e e nr e q u e s td i s p a t c h i n g ,l o a d b a l a n c i n ga n dw e bc l u s t e r s e r v e rs y s t e ma r ep r o v i d e d a n dt h ed i s a d v a n t a g e si n r e q u e s td i s p a t c h i n g a n dl o a db a l a n c i n ga r ed i s c u s s e di nd e t a i l s e c o n d l y ,a p p l i c a t i o n a r e aa n d p r o b l e m s i nw e bc l u s t e rs e r v e rs y s t e ma r ep o i n t o u t ,i no r d e rt oo v e r c o m et h e s ed i s a d v a n t a g e sa n dc o p ew i t ht h ep r o b l e m s ,as c h e m e o f c o n s t r u c t i n g w e bc l u s t e rs e r v e r s y s t e m i s p r o p o s e d ,u s i n gp a c k e t t r a n s m i t t e c h n o l o g ya n dd y n a m i c l o a db a l a n c i n g a l g o r i t h m t h i r d l y ,t h e w e bc l u s t e r s y s t e mw h i c hb a s e sd y n a m i cr e q u e s td i s p a t c h i n g a l g o r i t h m i sd e s i g n e da n d i m p l e m e n t e d o nt h el i n u xn e t f i l t e rf r a m e w o r k ,a n dt h et e s t r e s u l t ss h o wt h a tt h ea l g o r i t h mc a l li m p r o v et h ep e r f o r m a n c ee f f e c t i v e l y b e s i d e st h ea b o v e , t h ep a p e ra l s og i v e sar e d u n d a n tl o a db a l a n c es e r v e rs o l u t i o nt oi m p r o v eb a l a n c en o d e a v a i l a b i l i t y t oi m p r o v et h ew e b c l u s t e rs y s t e mm a n a g e m e n t ,aw e bb a s e dc l u s t e r m a n a g e m e n tt o o l ,w e b a d m ,i si m p l e m e n t e dt om a n a g er e m o t ew e b c l u s t e rs e r v e r s y s t e m f i n a l l y ,s o m ep e r s p e c t i v e so f t h ef u t u r e r e s e a r c ha r ep r o v i d e d , k e y w o r d s :w e bc l u s t e rs e r v e rs y s t e m ,r e q u e s td i s p a t c h i n g ,l o a db a l a n c i n g , p a c k e tf o r w a r d 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得酉j 垦太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名 签字日期:) 力口昨6 月肜日 , 第一章绪论 1 1 研究背景和意义 如今,计算机技术已进入以网络为中心的计算时期,大量的应用都围绕网络 进行,这对服务器的性能和可用性提出了越来越高的要求。由于客户服务器模 型的简单性、易管理性和易维护性,客户服务器计算模式在网上被大量采用。 在九十年代中期,w w w 的出现以其简单操作方式将图文并茂的网上信息带给普通 大众,w e b 也正在从一种内容发送机制成为一种服务平台,大量的服务和应用( 如 新闻服务、网上银行、电子商务等) 都是围绕着w e b 进行。这也促进w e b 用户剧 烈增长和网络流量爆炸式地增长。 但w e b 服务的飞速发展同时也给网络带宽和w e b 服务带来了极大的挑战。首 先,从网络技术的发展来看,网络带宽的增长远高于处理器速度和内存访问速度 的增长,如1 0 0 me t h e r n e t 的应用,以及gb i t 技术的出现,这使越来越多的 网络瓶颈出现在服务器端。其次,从访问流量来看,许多热门站点如y a h o o 阳“, 每天都会接受到数以亿计的巨额访问量。站点的w e b 服务因为访问量的爆炸式增 加而使服务不堪重负,以致不能及时处理用户的请求,让用户处于长时间的等待, 从而导致了服务质量的大大降低。因此如何建立高性能的w e b 服务来满足不断增 长的负载需求成为目前w e b 应用研究的热点。最后,从服务时间上来看,大多数 网站都需要提供每天2 4 小时的服务,尤其对电子商务网站,任何服务中断和关 键性数据的丢失都会带来巨大的经济损失。所以这就对w e b 网络服务的可用性提 出了更高的要求。 综上所述,w e b 服务的可用性、高性能问题成为w e b 服务领域研究的热门问 题。如何解决这些问题,集群技术的出现和发展给我们提供了一条有效解决路径, 它将多个处理器连接起来,使用它们合在一起的计算能力,进而提高整个系统的 性能。 1 2 目的和内容 美国d e c 公司( d i g i t a le q u i p m e n tc o r p o r a t i o n ) 开发的v m s c l u s t e r 系统 开发最早,技术也很成熟,应用也很广泛,但由于v m s 操作系统只能在d e c 公司 的v a x 系列和a l p h a 系列服务器上运行,v m s c l u s t e r 系统的应用受到很大限制。 西北大学计算机科学系硕士研究生学位论文 然而u n i x 是服务器或工作站上普遍使用的操作系统,它运行稳定、安全性也比 较好,因此许多大的公司都采用了基于u n i x 的集群系统解决方案。九十年代末 期,l i n u x 操作系统不断走向成熟,它的健壮性不断增强,并且提供了g n u 软件 和标准化的p v m 、m p i 消息传递机制,最重要的是l i n u x 在普通p c 机上提供了对 高性能网络的支持,这样就大大推动了基于l i n u x 的集群系统的发展。其中典型 的代表有i b m 的d i s p a t c h e r 和c i s c o 的l o c a ld i r e c t o r ,这些集群系统共同特 点是可用性和扩展性良好,很好的解决w e b 服务的性能问题。 w e b 集群服务器系统作为集群系统研究领域的一个热点,其性能主要受三 个因素的影响:单个w e b 服务器的性能、请求分配策略和请求调度算法。其中, 请求分配策略和请求调度算法又决定着w e b 集群服务器系统的性能和扩展性。 一般来说,解决w e b 服务的高性能问题,一种最直接的办法就是提升w e b 服务器的硬件处理速度,然而,实际应用中,w e b 服务器并不能充分利用硬件资 源,展现与硬件资源相匹配的性能。 另一种方法是改变w e b 服务器的软件结构,越来越多的结果证明w e b 集群结 构是一个优秀的选择。w e b 集群把多台性能较低的服务器用网络连接成一个性能 较高的群体,整个群体通过网络协同工作,并且服务结构对用户透明。系统的可 扩展性通过在服务器组中添加或删除节点来完成。且这种方案的性价比高,特别 适合业务规模不太确定的站点,或者中、小型站点向大型站点升级,我们称这平 台为w e b 集群服务器系统。 w e b 服务器的另一个主要问题是w e b 服务的可用性问题,因为任何集群系统 中都有一些资源的故障会导致整个服务的中断,因此在出现故障时迅速检测到中 断,并且尽可能地牵制中断并尽快将系统恢复到初始状态是很重要的。 针对以上问题,本文探讨了构建高可用w e b 服务器集群系统的方法,即将一 组服务器构成一个实现可扩展的、高可用网络服务的集群服务器,并在l i n u x 平台中实现了这些方法。另外,本文还详细探讨了基于w e b 集群管理系统的关键 技术和具体实现方法。 1 3 本文组织结构 为了解决w e b 集群服务的可用性、高性能、可管理性等问题,论文是这样组 织的:第二章主要介绍集群系统的技术和w e b 集群服务器系统的概念以及对请求 西北大学计算机科学系硕士研究生学位论文 2 分配和负载均衡与w e b 集群服务器系统的关系进行归纳总结。第三章主要介绍 w e b 集群服务器系统的请求分配策略和负载平衡调度算法的基本方法和基本原 理,并讨论了w e b 集群服务器系统的容错技术和全局文件系统的问题。第四章详 细讨论了w e b c l u s t e r 系统的设计和实现的方法,主要讨论包括l i n u x 技术的网 络协议分层结构、网络数据缓冲区以及n e t f i l t e r 的主要技术原理,w e b c l u s t e r 系统是基于报文转发技术实现的,系统的负载平衡方法使用动态负载平衡调度算 法,并且本文详细讨论了系统容错的实现方法,最后对系统的性能进行简要的测 试分析,以证明w e b 集群系统的优越性。针对w e b 集群系统的难管理性问题,本 文第五章详细设计并实现一个基于w e b 的集群管理系统( 以下简称w e b a d m ) ,主 要讨论了系统实现的关键技术、系统结构模型,系统的通信接口及主要功能模块 的介绍。第六章对本文所做的工作进行了简单总结,并探讨了w e b 集群服务器系 统进一步应开展的工作,讨论了分散式负载平衡的主要原理和基本的任务分发方 法。 西北大学计算机科学系硕士研究生学位论文 第二章集群技术 在应用中,我们经常需要比串行计算机所能提供的能力更强的计算能力,这 就是创建和使用并行计算的主要原因。基于集群的并行计算是解决单处理器速度 瓶颈的最好方法之一,除此之外,使用并行结构开发和制造高速系统比使用串行 系统达到相同性能要便宜的多。 2 1 集群系统 2 1 1 集群概述 集群( c l u s t e r ) 是一种并行或分布式处理系统,由很多连接在一起的独立 计算机节点组成,像一个单独集成的计算机资源一样的协同工作。 集群中的计算机节点可以是一个单处理器或多处理器的系统( p c 、工作站或 s m p ) ,拥有内存、i o 设备和操作系统。一个集群一般是指连接在一起的两个或 多个计算机( 节点) ,节点可以是在一起的,也可以是物理上分散而通过l a n 连接在一起的。一般的集群系统结构如图2 1 所示。 图2 1 集群系统结构图 从2 1 图可以看出,集群系统含有多个重要部件。其中,网络接口硬件担当 着通信处理器的任务,负责在节点间通过网络开关传送和接收数据包。通信软 件提供了快速而可靠的节点间以及与外界数据通信的手段。集群各节点可以像集 成的计算资源一样一同工作,戡者说集群各节点像一台计算机一样工作。集群中 间件负责为独立但互联的计算机对外提供统一的系统映像( 单一系统映像) 和易 用性。编程环境可以为开发应用程序提供可移植的、有效的和易用的工具( 如编 译器、p v m ( 并行虚拟机) 和m p i ( 消息传递接口) ) 。 西北大学计算机科学系硕士研究生学位论文4 对集群的研究源于集群系统的良好的性能可扩展性( s c a l a b i l i t y ) 。提高 c p u 主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性 能的提供是有限的。接着人们通过增加c p u 个数和内存容量来提高性能,于是出 现了向量机,对称多处理机( s m p ) 等。但是当c p u 的个数超过某一阈值,像s m p 这些多处理机系统的可扩展性就变的极差。主要瓶颈在于c p u 访问内存的带宽并 不能随着c p u 个数的增加而有效增长。与s m p 相反,集群系统的性能随着c p u 个数的增加几乎是线性变化的。图2 2 显示了这种情况。 二 刁削1 弘 里相瓤体,- - 1 图2 2 几种计算机系统的可扩展性图 集群系统的优点并不仅在于此。下面列举了集群系统的主要优点: 1 、高可扩展性:集群中的节点可以根据需求增删。 2 、高可用性:集群中的个节点失效,它的任务可以传递给其他节点,可以 有效防止单点失效。 3 、高性能:负载平衡集群允许系统同时接入更多的用户。 4 、高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。 5 、可管理性:作为一个单一系统被管理的能力。 对于集群系统的分类各个研究组织由不同的分类方法可以分为按结点的耦合 方式分,可分为紧耦合集群和松耦合集群;按控制方式分,可分为集中式集群和非 集中式集群;按同构性分,可分为同构集群和异构集群;按安全性分,可分为开放 式集群和封闭式集群;这里主要是根据集群在其功能上分为常见的三类: 高性能( h i g hp e r f o r m a n c ec o m p u t i n g ) 集群,简称h p c 集群,这类 集群通过将多台机器连接起来同时处理复杂的计算问题。模拟星球附近 西北大学计算机科学系硕士研究生学位论文 5 的磁场、预测龙卷风的出现、定位石油资源的储藏地等情况都需要对大 量的数据进行处理。传统的处理方法是使用超级计算机来完成计算工作, 但是超级计算机的价格比较昂贵,而且可用性和可扩展性不够强,因此 集群成为了高性能计算领域瞩目的焦点。 高可用( h i g ha v a i l a b i l i t y ) 集群,简称h a 集群,这类集群的主要 功能就是提供不间断的服务。有许多应用程序都必须一天二十四小时地 不停运转,如所有的w e b 服务器、工业控制器、a t m 、远程通讯转接器、 医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂时的停 机都会导致数据的丢失和灾难性的后果。 负载均衡集群,这种集群追求的不是高速的计算能力而是快速的事务 ( t r a n s a c t i o n ) 处理和响应能力,同时对系统的高可用性高扩展性有较 高的要求。这种集群系统是随着i n t e r n e t 的发展和网络负荷增加而产生 的负载均衡集群往往也具有一定的高可用性特点。 2 1 ,2 集群的可用性 集群的可用性”( a v a i l a b i l i t y ) 是通过系统的可靠性( r e l i a b i l i t y ) 和可维 护性( m a i n t a i n a b i l i t y ) 来度量的。工程上通常用平均无故障时间( m t t f ) 来度量 系统的可靠性,用平均维修时间( m t t r ) 来度量系统的可维护性。于是可用性被 定义为: a v a il = m l 1 f ( m t t f + m t t r ) * 1 0 0 计算机界根据可用性把计算机系统分为如下几类,如表l 所示, 可用比例年停机时间可用性分类 ( p e r c e n ta v a i l a b i l i t y )( d o w n t i m e y e a r ) 9 9 53 7 天常规系统 ( c o n v e n t i o n a l ) 9 9 9 8 8 小时可用系统 ( a v a i l a b l e ) t 9 9 9 95 2 6 分钟高可用系统 ( h i g h l ya v a i l a b l e ) 9 9 9 9 95 3 分钟f a u l tr e s i l i e n t 西北大学计算机科学系硕士研究生学位论文 6 表1 系统可用性分类 另外对于关键业务( 如电子商务) ,任何停机通常是灾难性的。因为停机带 来的损失也是巨大的。表2 的统计数字列举了不同类型企业应用系统停机所带来 的损失。 应用系统每分钟损失( 美元) 呼叫中心( c a l lc e n t e r ) 2 7 0 0 0 企业资源计划( e r p ) 系统 1 3 0 0 0 供应链管理( s c m ) 系统 1 1 0 0 0 电子商务( e c o m m e r c e ) 系统 1 0 0 0 0 客户服务( c u s t o m e rs e r v i c ec e n t e r ) 2 7 0 0 0 系统 表2 停机给企业带来的损失 由表2 可知,随着企业越来越依赖于信息技术,由于系统停机而带来的损失 也越拉越大。因此对企业用户来讲,集群系统的可用性与经济效益息息相关,如 何构造高可用的集群系统成为当前研究的热点。 所谓高可用集群就是采用集群技术来实现计算机系统的高可用性。高可用集 群通常有两种工作方式: 容错系统:通常是主从服务器方式。从服务器检测主服务器的状态, 当主服务器工作正常时,从服务器并不提供服务。但是一旦主服务器 失效,从服务器就开始代替主服务器向客户提供服务。 负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的 工作负载。一般集群w e b 服务器、数据库集群和应用服务器集群都属 于这种类型。 那么如何提高系统的可用性,纵观综合国内外各种集群系统,它们采用的技 术主要在以下几种: i l 、自动故障替换:它是采用主从两台或多台服务器在故障时自动切换到 后备服务器这种切换在i p 地址切换技术的支持下对用户是透明的。主服务器 与后备服务器都可以处于两种状态之一:活动状态( a c t i r e ) 和非活动状态 西北大学计算机科学系硕士研究生学位论文 ( i n a c t i v e ) 。当主服务器与后备服务器都处于无故障正常状态时,主服务器为 活动状态,执行系统的主应用程序,也就是提供向客户机提供i p 服务请求。而非 活动状态服务器执行监督活动服务器的任务,也可以同时执行一些其它非主导任 务,一旦非活动服务器检测到活动服务器故障( 包括软硬件故障) ,就进行故障 切换原来非活动服务器成为活动节点,启动主应用程序,启用虚拟i p 地址,开 始响应客户机的i p 服务请求,而原来活动服务器则停止应用程序执行和虚拟i p 地址的使用。自动故障替换实际上就是传统容错计算机技术中的双机备份。 2 、i p 地址切换:当集群中一台服务器发生故障而由另一台节点机来接替其 服务时,如果对外提供服务的i p 地址也要改变成新的i p 地址,对使用来说是难以 接受的为了保持集群内服务器的切换对公共网络上用户是透明的,就必须保持 提供服务的i p 地址不改变,这个地址称为公共虚拟i p ( v i p ) 地址。提供服务的节 点切换时,该v i p 随之移到新的服务节点,这种技术称为i p 地址切换( i p a ) 。这是 实现服务节点切换的主要手段,改变节点的i p 地址只要修改其网络配置文件就可 以实现,由于原来与该i p 地址相联接口的m a c 地址一般不修改,因此随后要向网 络发布a r p 广播让网络上各客户机,服务器修改与该i p 地址对应的m a c 地址。 3 、心跳检测( h e a r tb e a t ) :心跳检测是指集群系统中监控节点定时地( 如每 间隔5 秒钟) 向被监控节点发出检测信息包,被监控节点中的心跳守护程序返回 “我活着”的应答信息和有关的状态信息,如被监控节点不能及时响应就认为被 监控节点发生故障。 集群内传输心跳检测信息有以下几种途径: 直接利用系统内的i p 通信网络。监控节点用广播方式向集群内全部被监 控节点发出心跳包。然后等待各节点回答,心跳包一股是u d p 格式。这 种方式下,如i p 网络发生故障,故障的定位就比较困难; 采用r s 2 3 2 串行接口线把监控节点与被监控节点连接起来用以专门传 输心跳包,这根线路称为心跳线,这种方式在被脏控节点仅仅是1 3 台 的双机备份系统中用的十分广泛。 s c s i 通道连接。节点双方之间通过s c s i 总线连接传送t t y 协议格式的心 跳包,这是一种高速的心跳线。 s s a 连接:用高性能串行外设接口路a 总线把二者连接。按s s a 规范心跳 西北大学计算机科学系硕士研究生学位论文 包的长度将是固定的1 2 8 字节、二者的连接长度l p , s c s i 长的多。 4 、冗余磁盘阵列,r a i d 冗余磁盘阵列是具有纠错能力的高可靠的存储器, r a i d 技术并不是l i n u x 特有,r a i d 技术在小型服务器系统中被广泛地使用,l i n u x 则更加全面地支持r a i d 技术。并且把r a i d 磁盘纳入操作系统的核心之中,l i n u x 支持从r a i d l 一r a i d 5 各种级别的高可靠容错磁盘设备,并支持软件方式外部 d a s d 方式和r a i d 磁盘控制器的r a i d ,还可以做成多节点共享的冗余容错磁盘阵 列,方便地解决了故障节点切换时的数据切换问题。 2 1 3 集群的扩展性 研究可扩展的系统,其主要动机在于寻求一个灵活的、成本可伸缩的计算系 统架构方案。如图2 3 所示的,计算机种类在由销售量及性能和成本组成的坐标 系统中,形成一座金字塔。金字塔的顶部是那些能够提供万亿次以上性能的超级 系统,他们把许多资源集成在一个看上去”单一”的系统中,采用顶失的技术构造 并行系统,具有最高的性能。 l i i _ _ _ _ 一 年销售量 图2 3 计算机分类图 可扩展性通过它所提倡的公共的开放系统结构,包括了所有的计算机类。研 究集群的可扩展体系结构,目的就是寻求一种可扩展的框架技术,使得图2 3 中大型系统的高端技术能够不断应用于中低端的产品中,从而不断提高计算机的 性能价格比水平。 像早期的c r a y 巨型机,当时在超级计算领域具有无可匹敌的地位,但是随 着可扩展并行技术和商品化组件的发展,当年巨型机的地位逐渐被并行计算集群 代替。由于大部分集群都采用了标准化的商品组件,一方面可以充分享受部件性 西北大学计算机科学系硕士研究生学位论文 9 能的增长( c p u 、网络、磁盘容量等都以近似摩尔定律的速度增长) ;另一方面, 在系统架构上也具有很强的灵活性。和专有的并行平台相比,以下的好处就显而 易见了: i 单个工作站越来越强大,集群节点的计算能力也日益增强。而个人用户 对于工作站的使用率往往很低,这样就有大量的闲置计算资源可以利 用。 2 能够满足对不同性能和成本的要求。比如,用户可以在起初购买一个低 端系统。当他对性能地要求增加时,他可以扩展此系统,而原有的软件 和硬件部分仍然可以使用,充分保护了他原有的投资。 3 ,高端机可以使用低端机的部件以降低成本。例如,由于批量大、p c 机使 用的是低价的、市场销售的标准件。因为采用的是可扩展系统结构,故 超级计算机也能使用这些部件。从而可以降低系统成本。事实上,使用 商品化部件:处理器、存储芯片、磁盘、i 0 控制器等,已经成为高性 能系统开发的趋势。 如果成本有效性能够随着生产技术的改进而增加的话,则为高端系统而开发 的顶尖技术可能最终向金字塔下方移动,从而改进低端系统的性能。 那么何谓可扩展性,如果能够通过增加资源以满足不断增长的对性能和功能 的要求,或者是通过缩减资源,以降低成本,从涵盖硬件和软件的角度上讲,我 们可以把符合这年中特性的计算机系统称作是可扩展的。 可扩展并不是仅仅意味着体积的扩大、数量的增加,它也涵盖了缩减能力。 目前日益多见的嵌入式系统就是很好的一个例子,它既是硬件体积、计算能力的 缩减,又是软件的缩减( 许多嵌入式操作系统往往通过剪裁而来) 。因此,看待 扩展问题需要从下面的几个观点入手: 功能性和性能:一个可扩展的系统应该能够提供更好的性能、更多的功 能。系统的总体计算能力应该随着资源的增加而按照比例增加。理想的 情况是,增长的速度是线性的。 成本伸缩:另一方面讲,系统扩展的代价必须是合理的。粗略的标准是, 成本的增加应该小于n 或者n l o g n 的一个线性系数。 可兼容性:包括硬件、系统软件和应用软件在内的组成部分。我们希望 西北大学计算机科学系硕士研究生学位论文 用户原有的程序在不作变动或只作少量的变动后仍可以使用。从部件上 看,伸缩通常只涉及到系统的一部分,如果添加更多的处理器或者是将 现有的处理器升级到新的一代。新增加的部分应能够与系统的其余部分 相兼容。这就是说,原有的存储器、磁盘、互联设备以及外设仍然可以 使用。 2 2w e b 集群服务器系统 w e b 集群服务器系统的概念最早由u i u c 的n c s a 提出并实现了一个原型系 统“n c s as c a l a b l ew e bs e r v e rc l u s t e r ”,后来b e r k e l e y 的n o w ( n e t w o r ko f w o r k s t a t i o n s ) 小组、网络设备巨头c i s c o 公司和著名的i b m 公司等也加入了这 个行列,提出了许多新概念和新方法,并很快推出了相应的产品。目前比较成熟 的产品主要有c i s c o 的l o c a ld i r e c t o r ,i b m 的n e t w o r kd i s p a t c h e r 等等。 一个w e b 集群服务器系统让”是由多台w e b 服务器组成的,但对外部而言, 整个集群就如同一台高性能的w e b 服务器,系统只有一个对外的网络地址,所有 的h t t p 请求都发到这个地址。系统中有专门的机制能够将这些请求按照一定的 策略分发到集群中的各台服务器上,让它们各自分担一部分工作。也就是说,w e b 集群服务器系统是通过并行处理来达到整个系统的高性能。 在一个w e b 集群服务器系统中,每台w e b 服务器都是一台独立的计算机,其 上面有自己的操作系统和w e b 服务器软件,这些计算机可以相同,也可以不同。 由完全相同计算机( 硬件组成、配置、操作系统和w e b 服务器软件都相同) 组成 的w e b 集群服务器被称为同构w e b 集群服务器系统:而由不完全相同的计算机组 成的集群w e b 服务器成为异构w e b 集群服务器系统。构造异构w e b 集群服务器具 有较强的现实意义,但其实现的难度却大的多,必须解决许多额外的困难问题。 w e b 集群服务器系统的组成结构和工作原理决定了它能够比较容易的达到 较好的可扩展性。所谓可扩展性“1 指的是采用同样的方法或技术高效率地支持 大规模系统的能力。从发展的角度来看,w e b 集群服务器将会在各种商业领域占 有举足轻重的地位。商业系统的可靠性和容错性,两者结合在一起称为系统的可 用性。由于w e b 集群服务器中各台w e b 服务器之间的相对独立性,采用一些不太 复杂的技术就能够使w e b 集群服务器达到很高的可用性。 此外,w e b 集群服务器系统还具有价格便宜、能够保持原有资源等特点,因 西北大学计算机科学系硕士研究生学位论文 此w e b 集群服务器技术已经成为当前研究的热点之一。 2 3 请求分配和负载平衡 2 3 1 请求分配与w e b 集群服务器系统 如何把服务请求分配到集群中的某台服务器上是w e b 集群服务器系统需要 解决的关键问题1 。通常一个w e b 集群服务器系统对外界而言只有一个网络地 址,集群通过这个地址接收所有从网络上到达的h t t p 请求。所谓请求分配指的 是将w e b 服务请求分发到集群中不同的w e b 服务器予以处理。请求分配工作通常 由系统中一台平衡器来完成,请求分配的单位是h t t p 请求。平衡器并不对实际 的请求作应答工作,这些应答工作由集群中实际的w e b 服务器来完成。平衡器只 将接收到的每一个请求都重新定向到集群中的某台w e b 服务器,并通过网络将该 请求传输给w e b 服务器。 系统通过请求分配,可以让集群中各台w e b 服务器均衡分担负载。当请求到 达的密度较大时,平衡器可以将它们快速分散到集群中各台w e b 服务器上去接收 实际的应答服务。于是在同一时刻,可使多台w e b 服务器同时工作并分别应答不 同的请求,这样就大大增加了系统的吞吐能力。系统在这种情况下实际上是通过 并行处理来提高w e b 服务的性能。所以可以认为请求分配是使集群中各台w e b 服务器实现并行处理的手段。 目前,实现请求分配的方法主要有以下几种:d n s 、p d r ( p a c k e td o u b l e r e w r i t e ,报文双向重写) 、p s r ( p a c k e ts i n g l er e w r i t e 报文单向重写) 、p f ( p a c k e tf o r w a r d 报文转发) 等。本文将在3 1 节详细介绍这些技术和方法的 原理以及各自的优、缺点和适用的范围。 2 3 2 负载平衡与w e b 集群服务器系统 负载平衡“1 是指计算负载在集群中分布,使得集群中的每个工作站都做等量 的工作。负载是一个抽象的概念,用于描述系统的繁忙程度。当一个系统的负载 较大时,系统对外的表现为处理速度下降。对一台w e b 服务器来说,负载较重意 味着该w e b 服务器当前正在应答的请求的个数较多或该w e b 服务器的当前网络流 量较大。 一个w e b 集群服务器系统,当它对外提供应答服务时其上也会产生负载,由 于请求分配的原因,负载在w e b 集群服务器系统中的各台w e b 服务器上按照一定 西北大学计算帆科学系硬士研究生学位论文 的规律分布。大量的研究的工作表明,当w e b 集群服务器中各台w e b 服务器的负 载处于平衡状态时,请求分配的效率最高。w e b 集群服务器系统中各台w e b 服务 器上的负载分布是可以通过负载调度算法来控制的。所以,可以通过负载调度算 法使w e b 集群服务器系统的负载分布尽量达到平衡来提高请求分配的效率。 目前,人们提出了许多负载平衡算法,用于实现w e b 集群服务器系统的负载 平衡。这些算法主要包括轮转( r o u n d - r o b i n ) 算法和加权轮转( w e i g h t r o u n d r o b i n ) 算法、最少连接法( l e a s tc o n n e c t i o n s ) 算法和加权最少连接 ( w e i g h tl e a s tc o n n e c t i o n s ) 算法等。关于这些算法的主要思想和适用范围, 本文将在3 2 节给出详细的论述。 2 3 3 请求分配和负载平衡存在的问题 请求分配和负载平衡是实现高可用w e b 集群服务器系统关键技术手段,但目 前该领域的研究工作仍然存在一些问题和不足。 其主要表现在:现有的各种请求分配算法多属于静态算法,虽然考虑了负载 平衡问题,但都比较简单,没有综合考虑服务器动态参数( 如c p u 利用率,内存 利用率等) 性能,没有优化策略。由于w e b 技术的发展,特别是动态网页技术( 如 c g i ,j s p 等) 的成熟,以及数据库、多媒体技术在w e b 上的应用,使得不同的 请求在w e b 服务上产生的负载差异很大,不同客户端发出的对统一脚本的请求在 服务器所产生的负载也会有很大的差异,因而由现有的算法所得到平衡效率普遍 较低,稳定性也较差。并且这些算法不适合用于构造异构w e b 集群服务器系统。 因此,本文将在第三章介绍动态负载平衡请求分配算法,此算法根据当前集 群内部节点的负载状况,动态对内部任务分配进行修正,避免现有算法所造成的 片面性。 2 4 小结 本章详细介绍了集群系统的基本概念、基本原理及其优缺点,详细介绍了集 群的可用性和扩展性。w e b 集群服务器系统作为集群系统的一个特例,主要是为 了解决w e b 服务的性能问题。文中详细讨论了请求分配和负载平衡与w e b 集群服 务器系统的关系,并分析此两种方法的现状以及存在的问题。 西北大学计算机科学系硕士研究生学位论文 第三章w e b 集群服务器系统的研究 3 1 请求分配策略 通常个w e b 集群服务器系统对外界只有一个i p 地址,所有c ll e n t 请求都发 到这个地址,然后系统把这些请求分配到不同的服务器上进行处理:常用的请求 分配方法有d n s 、虚拟i p 等技术,我们把这些请求分配方法统称为请求分配策略。 以下将讨论这些策略的主要原理、方法和适用范围。 3 1 1d n s 域名服务器 正常情况下,域名服务器将主机名映射为一个i p 地址,为了改善负载平衡 状况,多数的集群服务器系统采用r r - - d n s ( r o u n d r o b i nd n s ,轮转d n s ) 调度 算法将一个域名映射为一组i p 地址,对于同一个名字,不同的客户机会得到不 同的地址,它们也就访问不同地址上的w e b 服务器,从而达到负载均衡的目的。 一些可伸缩w e b 服务器( 例如e d d i e 和n c s a 的s c a l a b l ew e bs e r v e r ) 采用r r d n s 实现负载平衡,一些高吞吐率的站点( y a h o o ) 也继续采用这种简单应用。图3 1 为d n s 服务器结构的工作原理图。 图3 1d n s 服务器结构的工作原理图 为了避免被映射的服务器崩溃导致客户端长时间得不到响应的情况,r r d n s 在解析域名时,通常附加一个生存期( t t l ) ;若一个请求在t t l 时间内没有 获得应答信息,可以向r r - - d n s 请求获取不同的i p 地址。 一般来说,d n s 工作流程是这样的,首先,用户通过客户端发出地址请求 西北大学计算机科学系硕士研究生学位论文 ( u r l ) ,数据请求报文通过i n t e r n e t 到达d n s ;d n s 使用r r 策略选择服务器i p 地址和t t l ,把客户端u r l 与某一服务器地址映像:客户向映像的服务器地址发 送服务请求,服务器处理客户的服务请求,并把处理结果回应给客户。 虽然r r - - d n s 处理请求流程简单高效,但r r d n s 明显存在两点不足: 在一个t t l 时期内,多个请求将被映射到相同的i p 地址,这样大量的 客户端请求可能出现在同一服务器上,导致明显的负载失衡。如果t t l 很小,又会明显增加域名解析的网络负载。 另一个相关问题是由于客户端缓存域名一i p 地址解析结果,客户端可以 在未来的任意时刻发送请求,导致服务器的负载无法得到控制,出现服 务器负载失衡。 与基于d n s 的体系结构不同的是,采用单一的、虚拟i p 地址i p s v a ( s i n g l e v i r t u a li pa d d r e s s ) 技术,这个i p 地址是众所周知的一个i p 地址,而提供服 务的节点服务器的实际地址对用户是透明的。这种机制包含一个平衡器节点( 路 由器) 接收发向w e b 站点的所有请求,根据某种负载平衡算法将请求转发到不同 的服务器节点上。 一般来讲,根据系统采用的路由机制的不同,基于虚拟i p 技术可分为报文 单向重写( p s r ) 、报文双向重写( p d r ) 、报文转发( p f ) 三种方法。 3 1 2 报文双向重写 报文双向重写( p d r ,p a c k e td o u b l er e w r i t i n g ) ,采用集中调度方式完成 客户请

温馨提示

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

评论

0/150

提交评论