(计算机软件与理论专业论文)基于linux的可伸缩服务器集群的研究与设计.pdf_第1页
(计算机软件与理论专业论文)基于linux的可伸缩服务器集群的研究与设计.pdf_第2页
(计算机软件与理论专业论文)基于linux的可伸缩服务器集群的研究与设计.pdf_第3页
(计算机软件与理论专业论文)基于linux的可伸缩服务器集群的研究与设计.pdf_第4页
(计算机软件与理论专业论文)基于linux的可伸缩服务器集群的研究与设计.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

基于l i n u x 的可伸缩服务器集群的研究与设计 摘要 服务器集群是一组由高性能网络连接起来的独立服务器的集合。它们能够 协同工作,共同处理i n t e r n e t 上f i 益增长的访问请求。它具有高性能、高可用 性、可伸缩性、高性价比等特点。是当前服务器技术的研究热点。 服务器集群作为一个新兴的研究领域,有待研究的问题非常多,其关键技 术包括:体系结构与请求调度方式的研究、负载均衡算法的研究、高可用性与 容错技术的研究、服务器集群系统的性能分析、服务器集群的监测管理,以及 全局文件系统的研究。本文的研究工作主要是围绕前两项关键技术展开的。 本文首先分析了网络信息服务的需求及其发展趋势;然后对服务器集群系 统的已有体系结构进行了比较分析,并分析了已有结构中请求调度的固有特点; 接下来针对l a n 和w a n 环境的差异,分别设计了两种不同的体系结构,并且 在l a n 环境下实现了一个代理服务器集群系统;接着对负载均衡算法的理论进 行了研究,并在此基础之上本着简单高效的原则设计了一个新的动态负载均衡 算法:最后对本文所做的工作进行了总结,并对服务器集群的研究做了展望。 关键词:服务器集群体系结构负载均衡高可用性可伸缩性 s t u d y a n d d e s i g n o fl i n u x - b a s e d s c a l a b l ec l u s t e rs e r v e r a b s t r a c t t h ec l u s t e rs e r v e ri sas e to fa u t o n o m o u s s e r v e r sc o n n e c t e d b yh i g h p e r f o r m a n c en 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 d m o r er e q u e s to ni n t e r n e tw h i c hi n c r e m e n te x p l o s i v e l yd a yb yd a y c l u s t e rs e r v e r h a sm a n yf e a t u r e s ,s u c ha s h i g hp e r f o r m a n c e ,h i g ha v a i l a b i l i t y ,s e a l a b i l i t ya n d e 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 oe t c i ti sb e c o m i n gah o tp o i n to fm o d e r ns e r v e r t e c h n o l o g y r e s e a r c h c l u s t e rs e r v e ri san e wt e c h n o l o g y ,t h e r ea r em a n yq u e s t i o n sn e e dr e s o l v i n g i t s k e yt e c h n o l o g i e s i n c l u d ea r c h i t e c t u r er e s e a r c ha n d j o bs c h e d u l i n g ,l o a d b a l a n c i n ga l g o r i t h m ,h i g ha v a i l a b i l i t ya n df a u l tt o l e r a n c e ,p e r f o r m a n c ea n a l y z i n g , m o n i t o r i n ga n dm a n a g e m e n t ,g l o b a lf i l es y s t e m t h ef o r m e rt w ot e c h n o l o g i e sa r e t h er e s e a r c he m p h a s i so ft h i st h e s i s t h ea u t h o rh a sd o n et h ef o l l o w i n gw o r k s :a n a l y z et h e p r e s e n t a n df u t u r e n e t w o r ks e r v i c er e q u i r e m e n t sa n di t st r e n d ;i n c l u d ea n da n a l y z et h ep r e s e n tc l u s t e r s e r v e r sa r c h i t e c t u r e sa n di t si n h e r e n tf e a t u r e s ;d e s i g nt w oa r c h i t e c t u r e s ,o n ei s a p p l i e di n l a ne n v i r o n m e n t ,a n da n t h e ro n ei s a p p l i e d i nw a ne n v i r o n m e n t ; i m p l e m e n taw e bc a c h ec l u s t e r s e r v e rs y s t e mi nl a n e n v i r o n m e n t ;a n a l y z et h e p r e s e n tl o a d b a l a n c i n ga l g o r i t h m s a n d d e s i g n an e w d y n a m i cl o a d - b a l a n c i n g a l g o r i t h m ;e x p e c tw h a t w i l lb ed o n ei nf u t u r eo nc l u s t e rs e r v e rt e c h n o l o g y k e y w o r d s :c l u s t e r s e r v e r ,a r c h i t e c t u r e ,l o a d b a l a n c i n g ,h i g ha v a i l a b i l i t y , s c a l a b i l i t y 合肥工业大学 本论文经答辩委员会全体委员审查,确认符合合肥i :业大学 硕,l 学位论文质量要求。 导师: 答辩委员会签名 酬 数砭 天 群, 惭哆、一 例l炯貉 眇 引仍 席 员 主 委 独创性声明 本人声明所警交的学位论文是本人在导师指导下进行的研究| 二作及取得的研究成果。 据我所知,除_ 文中特别加以标注和致跚的地力外,论文中不包含其他人已经发表或撰写 过的研究成果,也不包含为获得 盒g 些厶堂 或其他教育机构的学位或证幅面使 用过的材料。与我一同f 作的同志对本研究所做的任伺贡献均已在论文中作了明确的说明 并表示谢意。 学位论文作者签名: t 碜、毂签字日期:弘纡年f 月,t :7 学位论文版权使用授权书 本学位论文作者完全了解盒胆量业厶堂彳关保留、使用学位论文的规定,有权保留 并向国家有关部门戏机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金 目b :些盔堂可以将学位论文的全部或部分内容编入有天数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存,汇编学位论文。 ( 保密的学位论文在解密后适用本授权件) 学位论文作者签名:豫熏 签字 丁期:彬年,月,日 学位论文作者毕业后去向: t 作单位: 通讯地址: 导师签名 签字日期- 耷锄,r f = 1 电话 邮编 致谢 在此论文完成之际,谨向给予我指导、关心和支持的各位老师、同学和亲 友们致以最衷心的感谢! 首先,感谢我的导师周健老师! 周老师在我的课题研究期间,从选题、研 究、设计、实现直到撰写论文的各个阶段,给予了我悉心的指导和帮助,也给 予我自由空间去创造和发挥。周老师具有高深的学术造诣、丰富的工程经验、 严谨的治学态度、旺盛的工作热情和对学术前言的敏锐洞察力,这些都深深地 影响了我。三年的时光匆匆而过,但周老师对我的言传身教和对我各方面能力 的培养将使我终身受益。 感谢陈继、冷宁、李凯、尹家生、陆金山、任清亮、李海峰等同门师兄弟! 合肥工业大学网络中心研究生实验室是一个优秀的集体,星期三的研讨会扩大 了我们的视野,使我们集思广益,与他们的讨论经常能够碰撞出创新的火花。 同时,感谢他们在生活中给予我的帮助和鼓励。 感谢网络! 网络是巨大的数字图书馆,我能够从网上找到我所需要的研究 资料;还能够在相关的专题论坛中,与志同道合的朋友交流心得体会。 感谢计算机学院的胡学钢和王浩副院长、王新生和徐静老师,以及研究生 部的朱红书记和潘莉老师! 他们工作认真负责,对人和蔼友善,是我学习的榜 样。 感谢各位评审专家在百忙之中抽时间对论文进行了仔细的评阅! 感谢我的父母和我的哥哥! 父母的谆谆教诲使我懂得如何做一个诚实、有 用的人。两个哥哥在学业上的不断追求深深的激励了我,他们是我学习的榜样。 最后,再次向所有帮助和关心过我的人们表示最衷心的感谢! 洪燕 2 0 0 5 0 3 2 7 1 1 研究背景 第一章绪论 1 1 1 互联网发展现状 人类社会正在进入以网络为中心的信息时代,飞速发展的互联网正在深入 影响着我们的生活。越来越多的人在互联网上获取信息、娱乐休闲和购物;越 来越多的企业把他们与顾客、业务伙伴之间的联系搬到互联网上,通过网络来 完成交易。随着互联网的迅猛发展和网络技术的不断进步,互联网上的用户数 和网络流量以几何级数增长。 2 0 0 5 年1 月,巾国互联网络信息中心( c n n i c ) 发布的最新一期统计报告 1 显示我国的网络建设正在进入加速发展的阶段,而校园网、企业网、小区宽 带网等园区网是网络建设的主要内容。随着网络技术的发展,现在的园区网出 现了很多新的情况,具体如下: 园区网的规模不断增大,上网的人数也越来越多; 随着带宽的提高,网络应用的模式也发生了变化,人们不再满足于简 单的文字服务,以v o i p ( i p 电话) 、v o d ( 视频点播) 等为代表的多 媒体应用得到了越来越广泛的普及; 对于一些传统的应用,由于需求的不断发展,应用的数据量也在上升。 以w w w 应用为例,由于声音、动画等内容在网页上的大量应用,导致 页面的平均大小大幅度上升; 现在的网络服务对安全性提出了更高的要求。例如,h t t p s ( s e c u r e h t t p ) 正在被电子商务站点广为使用,而通过h t t p s 取一个静态页面 需要的服务器处理性能比h t t p 的要高一个数量级。所以,网络流量并 不能说明全部问题,还要注意到应用本身的发展; 大部分企业网都需要提供2 4 7 小时的服务,对电子商务网站尤为突 出,任何服务中断或数据丢失都会造成直接的商业损失,并且会有损 企业的形象,从而会造成间接的商业损失; 各种宽带技术的发展和数据传输速率的提高,使得网络通信瓶颈效应 日益减轻。 研究表明,影响网络服务质量的关键因素是网络通信能力和服务器的性能。 随着网络技术的发展,网络通信瓶颈效应日益减轻,服务器的性能正在成为制 约网络服务质量进一步提高的关键所在。通过对上述发展情况进行分析可知, 建立高性能、高可用和可伸缩的服务器系统来满足不断增长的负载需求已成为 迫在眉缱的问题。 1 1 2 提升服务器性能的方法 为了提高服务器的性能,人们提出了多种解决方案。从目前的研究情况来 看,主要是从以下两个方面着手【2 ,3 】。一是从分析客户的访问行为入手,研究可 以缩小响应时间的方法,如缓存和预取技术等。这些技术在现有服务器硬件设 备的基础之上尽可能地提高系统的性能,但性能提高的程度有限。二是从服务 器的硬件性能角度进行考虑,这又可分为单服务器策略和多服务器策略。 单服务器策略是通过不断升级网络服务器的软、硬件资源,使其具有更高 的性能以满足需求。然而这种方法随着负载的不断增长,会导致服务器不断地 升级。经分析总结,单服务器策略存在如下不足: 升级过程繁琐,服务器的切换会使服务暂时中断,并造成原有资源的浪费; 越往高端的服务器,所花费的代价就越大; 服务器是单一故障点: 受到服务器硬件性能极限的限制。 多服务器策略是从体系结构入手,将过去单一的服务器结构扩充为集群式 多机服务器结构。集群式多机系统是指将多台服务器连接起来协同完成共同的 任务。这种改造可以显著提高服务器的总体性能。 相当于单机系统而言,集群式多机系统具有很多单机系统无法比拟的优点, 具体将在第二章中介绍。 1 2 服务器集群的发展历史与研究现状 服务器集群的概念晟早起源于美国u i u c 大学n c s a 提出并实现的一个原 型系统“n c s a s c a l a b l ew e bs e r v e rc l u s t e r ”【4 5 】。后来r i c e 大学、波士顿大学、 c i s e o 公司及i b m 公司等也加入了这个行列,提出了许多新方法,使服务器集 群的研究得到了进一步的发展。 当前有很多基于前端调度器的服务器集群产品,其中基于应用层的典型代 表有r e v e r s e p r o x y i 们、s w e b 7 埽口r i c e 大学的l a r d t 8 1 ( l o c a l i t y - a w a r er e q u e s t d i s t r i b u t i o ni nc l u s t e r b a s e dn e t w o r ks e r v e r ) 等。基于第四层的典型代表有 b e r k e l e y 的m a g i c r o u t e r p j 、c i s c o 的l o c a ld i r e c t o r i lo ,“】、贝尔实验室开发的 o n e i p 12 1 、i b m 的t c pr o u t e r 1 3 1 和n e t w o r kd i s p a t e h e r 1 4 , 15 1 ,以及l i n u x 开源 项目l v s ( l i n u xv i r t u a ls e r v e r , l i n u x 虚拟服务器) d 6 等。 波士顿大学计算机系提出的d p r i l 7 】( d i s t r i b u t e dp a c k e t r e w r i t i n g ,分布式 分组重写) 与m a g i c r o u t e r 、l o c a ld i r e c t o r 等在结构上有很大的不同,d p r 是 一种无前端调度器的服务器集群方案。 国外i b m 、c i s c o 等公司和b e r k e l e y 、r i c e 、波士顿等大学在服务器集群方 面做了大量的研究工作,并已形成商品化产品。近年来,国内的一些高校及科 研院所也在服务器集群领域进行了相关的研究和产品化工作。清华大学、国防 科技大学和中国科学院是较早开展此项研究的机构,红旗l i n u x 也相继推出了 通用服务器集群系统软件,这些都说明服务器集群的优势和潜在的市场前景已 引起了国内研究机构和厂商的极大兴趣。 1 3 课题研究的意义 目前市场上绝大部分性能较高的服务器集群产品都是国外产品,价格非常 昂贵,如i b m 的n e t w o r kd 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 等专有软硬件产 品都依赖于其技术专利或高性能服务器系统,软硬件的捆绑销售价格达上万美 兀。 随着l i n u x 操作系统的流行,目前出现了基于l i n u x 、基于p c 的集群解决 方案,如l v s 。l i n u x 自问世以来,就受到了人们的关注,并得到了迅猛的发 展。特别是近年来,l i n u x 已经发展成为一个高性能、高可靠性的操作系统, 可以与各种商业操作系统分庭抗礼。l i n u x 的免费获取和开放源代码使得它在 中小型服务器领域成为性价比最佳的选择,有越来越多的用户选择使用l i n u x 构建w e b 、m a i l 、p r o x y 等各种应用服务器。因此,在l i n u x 平台下,研制具有 自主知识产权,具有一定通用性,满足高性能、高可用性和可伸缩性等要求的 服务器集群系统软件具有重大的研究和实用意义。另外,在l i n u x 平台上已经 有一些优秀的开发源代码软件可以为我们所用,所以,我们可以在前人研究的 基础上做进一步的研究开发。 1 。4 服务器集群的关键技术 服务器集群作为一个新兴的研究领域,有待研究的问题非常多。目前,人 们对服务器集群关键技术的研究并没有一个明确的分类方法。作者根据各专题 研究的着重点不同,将服务器集群研究的关键技术分为以下6 大部分: 体系结构与请求调度方式的研究; 高可用性与容错技术的研究; 负载均衡算法的研究; 服务器集群系统的性能分析; 服务器集群的监测管理: 全局文件系统的研究。 1 5 本文的研究与设计工作 本文的研究设计与实践工作是多方面的,具体如下: 对服务器集群的体系结构和请求调度方式进行了深入的比较分析: 对服务器集群的高可用性进行了一般性研究: 在深入研究服务器集群现有体系结构的基础上,并针对l a n 环境和 w a n 环境各自的特点,分别设计了不同的服务器集群体系结构; 在l a n 环境下,设计并实现了一个代理服务器集群系统,从该系统的 实际运行情况来看,它达到了预期的效果; 对负载均衡算法的理论进行了研究,并对常用的负载均衡算法进行了 分析,然后在此基础之上设计了个简单高效的动态负载均衡算法一 一临界态控制任务分配算法。 1 6 论文的组织结构 全文共分为七章。第一章主要介绍课题研究的背景和意义、服务器集群的 发展历史和研究现状、服务器集群的关键技术等:第二章处于论文完整性考虑, 简要介绍了集群的概念、类型、特点和理想模型等;第三章主要对服务器集群 的体系结构及请求调度方式进行了深入细致地比较分析;第四章对服务器集群 的高可用性进行了一般性研究;第五章对l a n 与w a n 环境下服务器集群的体系 结构进行了设计,并在l a n 环境下实现了个代理服务器集群系统;第六章对 负载均衡算法的理论进行了研究,并对常用的负载均衡算法进行了分析,然后 在此基础之上设计了一个简单高效的动态负载均衡算法;第七章总结了本文所 做的工作,并对服务器集群的研究做了展望。 1 7 本章小结 本章中介绍的内容有:课题研究的背景与意义;服务器集群的发展历史与 研究现状:服务器集群的关键技术;本文的研究与设计工作和论文的组织结构。 4 第二章服务器集群概述 2 1 集群( c l u s t e r ) 的概念 集群并没有一个严格的定义。j i mg r a y 是微软研究院可伸缩服务器研究小 组的领导者,领导研究基于w i n d o w s n t c l u s t e r s 的可伸缩服务器i ts 。j i m g r a v 对n tc l u s t e r s 定义如下: n tc l u s t e r s :ib e l i e v ey o uc a nb u i l ds u p e r e o m p u t e r sa sac l u s t e ro f c o m m o d i t v h a r d w a r ea n ds o f t w a r em o d u l e s ac l u s t e ri sc o l l e c t i o no fi n d e p e n d e n tc o m p u t e r s t h a ti sa se a s yt ou s ea sas i n g l e c o m p u t e r m a n a g e r ss e ei t a sas i n g l es y s t e m , p r o g r a m m e r ss e ei t a s a s i n g l es y s t e m ,a n du s e r s s e ei t a sas i n g l es y s t e m t h e s o f t w a r es p r e a d sd a t aa n dc o m p u t a t i o na m o n gt h en o d e so ft h ec l u s t e r w h e na n o d ef a i l s ,o t h e rn o d e sp r o v i d et h es e r v i c e sa n dd a t af o r m e r l yp r o v i d e db yt h e m i s s i n gn o d e w h e n an o d ei sa d d e do rr e p a i r e d ,t h ec l u s t e rs o f t w a r em i g r a t es o m e d a t aa n dc o m p u t a t i o nt ot h a tn o d e 一般来说,可以这么理解集群的概念:集群系统是通过高性能网络( l a n 或w a n ) 进行物理连接的计算机集合;这些计算机协同工作以完成共同的任务, 同时为用户和应用程序提供单一的系统映像,即用户和应用程序与集群系统进 行交互时,集群系统就像一台高性能的服务器。一般称集群中的计算机为节点 o d e ) ,集群的节点可以是任意类型的计算机,包括p c 、工作站、s m p ,甚至 是大型机。 从上述集群概念的描述可知,集群的概念包含了两个方面的含义:一是从 硬件方面考虑,强调独立、自治的计算机;二是从软件方面考虑,强调集群系 统的整体性。 2 2 集群的类型 1 9 , 2 0 】 根据应用目的的不同,可以将集群分为以下三种基本类型: 高可用性集群:目的是在系统出现故障时,仍能继续对外提供服务。 高可用性集群的设计思想就是要最大限度地减少服务中断时间。在这 类集群中,比较著名的有t u - r b o l i n u xt u r b o h a 2 1 1 、h e a r t b e a t 2 2 1 等: 负载均衡集群:目的是提供和节点个数成正比的负载能力。负载均衡 集群通过在系统节点间合理分配工作负载来提高系统的整体性能,如 减少系统的平均响应时间等。这类集群很适合提供大访问量的网络服 务。在这类集群中,i :l 较著名的有t u r b o l i n u xc l u s t e rs e r v e r 2 3 1 、l v s i 1 等; 科学计算集群:目的是用于进行大规模数值计算,解决复杂的科学问 题。在这类集群中,比较著名的有t u r b o l i n u xe n f u s i o n 2 4 1 、b e o w u l f t 2 5 l 等。 在集群的这三种基本类型之间,经常会发生混合。本课题所讨论的服务器 集群就同时具有负载均衡集群和高可用性集群的特点。 根据集群系统中节点的组成,又可以将集群划分以下两种: 同构服务器集群:集群中的节点是完全相同的,包括节点的硬件组成、 配置、操作系统和网络服务应用软件等都要相同: 异构服务器集群:集群中的节点不是完全相同的,由不完全相同的计 算机软硬件组成的服务器集群被称为异构服务器集群。 与同构服务器集群相比,研究异构服务器集群具有更实际的应用价值。因 为新型软、硬件产品迅速的更新换代,很难保证服务器节点是完全同构的。 2 3 服务器集群的理想模型【2 6 j 和o s i 参考模型”7 一样,理想的服务器集群系统只在概念中存在,这 是因为实现时存在太多的制约因素。但可以把这种理想模型作为集群研究的 理论基础,从而有助于对现有的集群进行分析。 服务器集群的理想模型如图2 一l 所示,该理想模型支持完全的s s i ( s i n g es y s t e mi m a g e ,单一系统映像) 。 并行编程环境用户接口:g u i 、w e b 、s h e l l 等 ( j a v a 、肝i 、p v m 等) 用于管理与控制 单一系统映像基础设施 霜糊麟竺:竺兰鬻黼黼 均上层提供月艮务的特定操作系统扩展或中f 0 7 件层 操作系统 ff 操作系统 f 操作系统 p c 节点 ij w s 节点 ll s 冲节点 f 网络互联部件( 千兆以太网或高速商品化网络) 一致的分布式对集群内其它硬件 s a n 存储区域网络一致的i 0 内存访问资源的统一访问 图2 一i服务器榘群的理想模型 从图2 1 可以看出,集群系统支持各类节点,包括p c 、工作站、s m p 服务 器、甚至超级计算机,节点彼此可以是同构或者异构的。 节点间由高速网络互连,这些网络使用标准的通信协议。高速网络不但沟 通了集群节点,完成必要的通信功能;而且也为实现s a n ( s t o r a g ea r e an e t w o r k 存储区域网络) 、一致的分布式i 0 、一致的内存访问以及对其他集群硬件资源 的统一访问打下基础。 特殊的扩展层或者中间件层是用于为h a ( h i g ha v a i l a b i l i t y ,高可用性) 和s s i 提供必要的支持。中间件层之上便是提供高可用性服务的h a 子系统。s s i 层提供完全的单一系统映像,包括提供单一的用户入口点、单一的文件层次结 构、单一的控制点等。 最上层是集群的管理、控制和应用实现层。用户的入口,管理员的控制等 都在这一层实现,具体可以通过s s i 提供的标准a p i 或者动态运行库实现。 2 4 集群的特点 2 9 , 3 0 将多台同构或异构的服务器连接起来协同完成共同的任务就构成了服务器 集群系统。这种松耦合结构的服务器多机系统具有很多优点,作者总结如下: 性能优越。一般来说,网络服务的工作负载通常是大量相互独立的任 务,在集群系统中采用一组服务器来并行处理这些任务,并进行负载 均衡,可以获得很高的整体性能; 性价比高。这是因为组成集群系统的服务器和标准网络设备采用的一 般都是成熟的商用产品; 伸缩性好。集群系统中的服务器可以很方便的增删,能很好的适应网 络规模的伸缩,满足应用的需求i 可用性高。由于集群系统在软、硬件上都存在冗余,所以当发生故障 时,有效的节点依然能提供服务; 透明性强。服务器集群系统对外表现为一台高性能的服务器,服务器 节点的增删不会中断服务; 管理方便。集群系统的图形管理界面能监视和管理整个集群系统中的 资源和服务。管理人员通过简单的操作就可以对集群中的工作节点或 控制节点进行配置管理工作。 2 5 集群互联 1 9 , 3 1 1 尽管集群系统本身独立于它所使用的软、硬件,但硬件连接在系统的有效 运行时起着非常关键的作用。集群节点之间是通过标准网络协议( 如t c p i p ) 或者底层协议( 如v i r t u a li n t e r f a c ea r c h i t e c t u r e ,v i a ) 来进行通信的。下面简 单介绍一下现有的集群系统互联模式: 千兆以太网互联。目前,千兆以太网是集群互联的最佳选择,它提供 了出色的带宽和可以接受的延迟,另外,它的成本已下降到与快速以 太网几乎相同; 千兆位系统网络( o s n ) 互联。此互联方式多用于需要高带宽和低延迟 的集群系统中,如用于科学仿真的科学计算集群。对大多数集群来说, 它过于昂贵: m y r i n e t 3 2 1 互联。m y r i n e t 是一种专用的、高性能的内部连接,它提供 1 2 8 g b p s 的全双工互连。m y r i n e t 与g s n 相比,带宽低、延迟高。尽 管仍很昂贵,但价格低于g s n 。在千兆以太网作为互联出现以前,它 是集群应用的最佳选择。 2 6 集群的评测标准【2 9 】 在美国d h b r o w n a s s o c i a t i o n 公司的集群系统评测报告中,将集群系统的 测试项目分为1 1 个大项,具体如下: 集群系统的备份与恢复:考察集群系统对故障的检测、响应及自动恢 复的能力; 集群系统的可配置性:考察集群系统软硬件配置的灵活性; 节点的故障恢复:考察集群系统中独立节点在发生故障时的自动恢复 能力; 集群系统对并行数据库的可存取性:考察集群系统对并行数据库的支 持程度和效率,即集群内各节点同时访问同一数据库的能力和效率; 集群系统的可管理性:考察集群系统所提供的管理工具的易用性和管 理界面的友好性; 单一系统映像:考察集群系统所提供的单一系统映像。理想情况就是 集群系统就像一台高性能的单机系统; 灾难恢复能力:考察集群在地理数据镜像、远程数据复制、远程自动 故障处理等方面的能力,即集群在火灾、洪水和地震等自然灾害条件 下保持正常运行和自动恢复的能力; 软硬件的冗余功能:考察集群对软硬件冗余的支持程度,从而保证数 据的安全性和可恢复性; 节点的故障预防:考察节点的故障预警能力和节点内故障的易分辨性; 节点故障在线维护:考察节点在不停机条件下增删部件的能力以及节 点内软件的可管理性( 如软件升级) ; 节点维护特征:考察集群在重启动自动配置、远程操作和远程故障通 知等方面的能力。 2 7 相关概念介绍 2 ,7 1h 计算机系统的可用性是通过系统的可靠性和可维护性来度量的。工程上通 常用平均无故障时间( m e a nt i m et of a i l ,m t t f ) 来度量系统的可靠性,用平均 维修时间( m e a n t i m et or e p a i r ,m t t r ) 来度量系统的可维护性。系统的可用性 被定义为: 些婴 + 1 0 0 - m 订f + m t t r ( 2 - 1 ) 业界根据可用性把计算机系统分为如下几类 表2 】系统可用性分类 可用性比例年停机时间可用性分类 9 937 天常规系统 9 9 98 ,8 小时可用系统 9 9 9 9 5 2 6 分钟高可用系统 9 9 9 9 95 3 分钟故障自恢复系统 9 9 9 9 9 93 2 秒容错系统 服务器集群系统通过硬件冗余与软件蠊控的方式在很大程度上提高了系统 的可用性。硬件冗余主要是通过在系统中维护多个冗余部件以保证工作部件失 效时可以继续使用冗余部件来提供服务;而软件监控是通过软件对集群中资源 的状态进行监测( 包括网络物理连接、服务器主机、服务程序本身的健康状况 的检测等) ,以保证能及时检测出失效的软硬件资源。 2 7 2 可伸缩性”“ 如果系统能够通过增加资源以满足不断增长的性能需求,或通过缩减资源 以降低成本,则称这种系统是可伸缩的。服务器集群系统中的服务器节点可以 很方便的增删,能很好的适应网络规模的伸缩,满足应用的需求。 2 7 3s s 一5 1 s s i 是由软硬件共同提供的,在所有节点上提供对系统资源的统一访问。 使分散的资源集合起来作为一个统一的资源使用。s s i 技术可以隐藏集群资源 的异构性和分布性,为用户和应用程序提供一个单一的计算实体。s s i 是由操 作系统扩展层或者中间件层实现的,处于操作系统和用户层的中间。 2 。8 几种典型的服务器集群 2 8 1b e o w u i f 19 9 4 年夏季,t h o m a ss t e r l i n g 和d o nb e c k e r 在c e s d i s ( t h ec e n t e ro f e x c e l l e n c ei ns p a c ed a t aa n di n f o r m a t i o ns c i e n c e s ) 用16 个节点和以太网组成了 一个计算机集群系统,并将这个系统命名为b e o w u l f 。 b e o w u l f 集群提供了一种使用c o t s ( c o m m o d i t y o f f t h es h e l f ) 硬件构造集群 系统以满足特殊计算需求的方法。这里的c o t s 是指p c 等这种广为应用的标 准设备,它们通常可以由多家厂商提供并且大规模生产,所以具有很高的性价 比。 图2 - 2b e o w u l f 集群组件 通常b e o w u l f 集群由四个层次构成,组成部分如图2 2 所示。图中的硬件主 要是指i n t e li a 3 2 架构的服务器;网络是指用于节点问通信的局域网( 如千兆以 太网) 和用于并行进程间通信的高速网( 如m y r i n e t 等高速网) ;软件主要指l i n u x 操作系统和用于并行通信的并行编程库( 如m p i 和p v m ) ;并行应用是指服务 器集群系统上提供的服务。 2 82n o s i x 3 7 1 m o s i x ( m u l t i c o m p u t e ro p e r a t i n gs y s t e mf o ru n i xj 是由j e r u s a l e m 的 h e b r e w 大学开发的,它是一个软件管理层,为l i n u x 内核扩充了高性能集群计 算支持能力。m o s i x 原理是利用给内核打补丁的办法全面兼容i n t e l i a 3 2 架构 的处理器,支持内核级的负载均衡。 m o s i x 集群系统中不存在集中的控制节点,节点之间没有主从关系,每个 节点都能够作为独立的系统运行,并且自主的做出控制决策。m o s i x 是在l i n u x 内核中实现的,所以用户态的应用程序不需要任何修改就可以在m o s i x 上运 行。通常用户很少会注意到l i n u x 和m o s i x 的差别。对用户来说,m o s i x 集 群就是运行l i n u x 的一台p c 。 28 3l v s t ,” 1 9 9 8 年5 月,章文嵩博士成立了l v s 的自由软件项目,进行l i n u x 服务器 集群的开发工作。该项目针对当前网络服务的需求,给出了基于i p 层和基于内 容请求分发的负载均衡调度方法,它通过前端调度器将网络请求调度到真实服 】o 务器上去处理,从而使得服务器集群的结构对客户端是透明的,客户端访问集 群系统提供的网络服务就像访问一台高性能的服务器一样。 l v s 也是通过给内核打补丁的办法来支持内核级的负载均衡,所以用户态 的应用程序不受集群系统的影响,不需要做任何修改就可以在l v s 集群服务器 上运行。 l v s 中提供了8 种负载均衡调度算法:轮转法、加权轮转法、最少连接法、 加权最少连接法、目标地址h a s h 法、源地址h a s h 法、基于局部性的最少连接 法和带复制的基于局部性的最少连接法。 l v s 提供了三种负载均衡方法:v s n a t 、v s t u n 、v s d r 。 这些调度算法和负载均衡策略将在后续章节中详细描述。 2 ,8 4 微软服务器集群3 最早的微软服务器集群m s c s1 0 ( m i c r o s o f t c l u s t e rs e r v e r ) 用于w i n d o w s n ts e r v e r4 0 企业版。m s c s ( 编码被命名为”w o l f p a c k ”) 实现了一个2 节点高 可用性集群系统。m s c s 后续版本在功能上比m s c s1 0 增强了很多。w i n d o w s 2 0 0 0a d v a n c e ds e r v e r 支持2 节点的故障切换,w i n d o w s2 0 0 0d a t a c e n t e rs e r v e r 支持4 个节点的集群配置:微软w i n d o w ss e r v e r2 0 0 3 的企业版和数据中心版可 以支持最大达8 个节点的集群配置。 作为微软高可用性集群m s c s 解决方案的补充,w l b s ( m i c r o s o f tw i n d o w s n tl o a db a l a n c i n gs e r v i c e ) 是在v a l e n c er e s e a r c hi n c 曾获奖的c o n v o yc l u s t e r s o f t w a r e 基础之上开发的。( 1 9 9 8 年底微软收购了v a l e n c e r e s e a r c h i n c ) w l b s 是一个网络驱动程序,它对t c p i p 协议栈而言是透明的。在 w i n d o w s2 0 0 0 中,w l b s 可在多达3 2 个节点的集群内均衡引入的网络通信量。 w l b s 增强了网络服务器系统的可用性和可伸缩性。 2 9 本章小结 本章中介绍的内容有:集群的概念、类型;集群系统的理想模型、特点、 互联及评测标准;并且还介绍了h a 、可伸缩性、s s i 的含义;最后介绍了 b e o w u l f 、m o s i x 、l v s 、微软服务器集群这4 种典型的服务器集群。 第三章 体系结构与请求调度方式的研究分析 服务器集群中进行请求调度的目的是尽量将到达集群系统的访问请求均衡 调度到各个服务嚣节点之上,充分利用各服务器节点的资源,从而达到提高服 务器集群整体性能的目的。 本章主要是从“横向”和“纵向”的角度对服务器集群的体系结构和请求 调度方式进行了深入细致的研究分析。“横向”分析的顺序是:客户端 d n s 域名系统一 前端调度器一 后端服务器:“纵向”分析是基于o s i 参考模型的。 服务器集群的组成结构如图3 一l 所示,包括客户端、d n s 服务器、前端调 度器、以及服务器组。按照这个横向的顺序,可将服务器集群中的请求调度方 式分为基于客户端的请求调度、基于d n s 的请求调度、基于前端调度器的请求 调度和基于后端服务器的请求调度。 图3 - 1服务器集群的组成结构圈 3 1 基于客户端的请求调度 3 9 , 4 0 】 这种方式的基本思想是:在客户端运行负载信息采集程序,该程序定期或 不定期的采集后端服务器的运行状态参数( 如c p u 利用率等) ;再根据某种选 择策略,选出可以提供服务的最佳服务器;然后将本地的访问请求发向它。高 可用性也是在负载信息采集程序中实现的,如果负载信息采集程序发现某一台 后端服务器失效,则停止向该失效服务器发送网络服务请求,直到该失效服务 器恢复正常为止。 基于客户端请求调度的典型代表有b e r k e l e y 的智能客户端s m a r tc l i e n t 【4 l l 和n e t s c a p e 的浏览器n a v i g a t o r 【耳“。 基于客户端的请求调度存在以下两方面的问题: 透明性差。因为这种方法需要在每个客户端上安装负载信息采集程序; 信息采集的周期难以选择,若周期太长,则不能及时获取服务器的运 行状态,从而会影响到最佳服务器的选择;若周期太短,则会导致客 户端频繁的发送信息采集请求,这不仅增加了信息采集的网络流量, 也增加了后端服务器的系统丌销。 所以,这种方式仅在特殊的应用场合才使用到( 如在执行某些专有任务的 时候) 。另外,在采用j a v a 构架模型中,常常使用这种模式实现分布式的负载 均衡,因为j a v a 应用都基于虚拟机进行,可以在应用层和虚拟机之间设计一个 中间层来处理请求调度的工作。 3 2 基于d n s 的请求调度1 3 9 , 4 0 j 这种方式的基本思想是:多个内容完全镜像的服务器拥有相同的域名和不 同的i p 地址。对于用户而言,他面对的是一个唯一的域名,当客户端应用程序 向d n s 域名服务器发起域名解析请求时域名服务器一般会以轮转的方式将该 域名解析为集群服务器中某台真实服务器的i p 地址并将解析结果返回给客 户端。客户端利用所获得的i p 地址来发送服务请求。 基于d n s 请求调度的体系结构如图3 2 所示,图中的集群d n s 服务器负 责域名的动态解析,后端服务器是执行服务请求的真实服务器,执行的服务有 w e b 、m a i l 、f t p 等网络服各。 图3 - 2基于d n s 的服务器集群体系结构 在典型的网络环境下,基于d n s 的服务器集群系统中b s 事务处理流程如 图3 3 所示: o u s t e r s e r v e r 遍憎 趣刊 d n s s e r v 口o f t h e ( :l u s t e r 、服务器处理网 | 络服务器请求 f s e r v e r ( 2 x x x 图3 - 3 基于d n s 的b s 事务处理流程图 ( 1 ) 客户端向本地d n s 服务器发送域名解析请求; ( 2 ) 本地d n s 服务器检查缓存表,若缓存有域名到i p 地址的映射,则转 ( 6 1 ,否则,转f 3 ) : ( 3 ) 本地d n s 服务器向集群d n s 服务器发送域名解析请求:( 注:本地 d n s 服务器与集群d n s 服务器之间可能会存在多级中间d n s 服务器, 为了讨论的方便,跳过了中间的d n s 服务器。) ( 4 ) 集群d n s 服务器接收请求,根据轮转方式进行动态域名解析; ( 5 ) 集群d n s 服务器将解析结果发送给本地d n s 服务器; ( 6 ) 本地d n s 服务器缓存集群d n s 服务器解析的结果,并将结果发送给 客户端; ( 7 ) 客户端根据d n s 服务器

温馨提示

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

评论

0/150

提交评论