已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于lvs负载调度器的双机热备份研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理r 大学硕士学位论文 摘要 随着社会的不断进步和网络技术的不断发展,互联网用户和互联网站数量都在不断的 增长。对网络服务器的可用性、可扩展性和安全性的要求越来越高。传统的单服务器模式, 已经不能满足这种不断的增长,伴随而来的是大量的高可用集群系统的应用,尤其是l i n u x 下的高可用性集群系统。 采用集群技术构建网络服务器,可以便一些独立的服务器在集群系统的支持下协同工 作,共同完成事先指定的工作或对外提供相同的服务,以达到提高网络的可用性目的。 本文对l i n u x 丌源项目l v s 负载集群进行仔细的研究。阐述了l v s 集群系统的负载均 衡的概念、原理以及体系结构。并对l v s 采用的n e t f i l t e r 技术进行了研究,同时对l v s 系 统的内部实现过程进行了分析。针对于l v s 系统的6 u 端负载均衡器可能造成的单点故障问 题,通过对双机容错技术的各种不同工作模式进行了比较,提出了选择采用双机热备份技 术对l s 的负载均衡器进行容错。进一步提高l v s 系统的可用性。 本文设计了一种基于l i n u x 内核的心跳诊断协议,此协议是专门针对于双机故障诊断而 设计的,该心跳协议处于t c p i p 协议栈的网络层,从而避免了以往应用层心跳进程在应用 层和内核不停的进行进程切换的开销,同时避免了i p 协议中的复杂路出操作。本文对心跳 周期进行了动态设置。针对l v s 集群系统的特殊应用,通过获取系统的连接请求负载量束 动态的设置心跳周期,根据请求量的不同设置不同的心跳周期,进一步提高系统的可用性, 本文同时对双机热备份技术中的数掘备份和任务切换过程进行了实现,使双机热备份技术 完全应用于l v s 集群系统中。 关键词:l v s 集群;高可用性;双机热备份;心跳协议 丈连理工大学硕士学位论文 t h er e s e a r c ha n di m p l e m e n t a t i o no f d u a lh o t - s t a n d b y b a s e do nl o a db a l a n c e ro f l v s a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to f i n t e m e ta n ds o c i e t y t h en u m b e ro f n e t w o r ku s e ra n dw e bs i t e i si n c r e a s i n gr a p i d l y t h ea v a i l a b i l i t y ,e x p a n s i b i l i t ya n ds e c u r i t yo fn e t w o r ks e r v e ra r er e q u e s t e d h i g h e ra n dh i g h e r t h et r a d i t i o n a ls i n g l e $ e i 3 e rc a n n o ts a t i s f yt h ei n c r e a s i n gd e m a n d s ot h et r i g h a v a i l a b i l i t yc l u s t e rs y s t e mb e c o m e st h ee f f e c t i v ew a y t 0r e a l i z et h eh i g ha v a i l a b i l i t yo fw e bs e r v e r s y s t e m , e s p e c i a l l yh i g ha v a i l a b i l i t yc l u s t e rs y s t e mb a s e do nl i n u x u s i l l gc l u s t e rs y s t e mt oc o n s t r u c tn e t w o r ks e r v e rc a nm a k et h es i n g l es e r v e rc o o p e r a t ew i t h e a c ho t h e ra n df i n i s ht h er e q u e s t e dw o r kt o g e t h e ro rp r o v i d et h es a m es e r v i c et ot h eo u t s i d ei n o r d e rt oi m p r o v et h eh i g ha v a i l a b i l i t yo f n e t w o r k n l ep a p e rr e s e a r c h e sl v sc l u s t e ro fl i n u xo p e ns o u r c ep r o j e c tc a r e f u l l y t h ec o n c e p t i o n , p r i n c i p l ea n da r c h i t e c t u r eo f l v s c l u s t e ra r ei n t r o d u c e di nt h ep a p e r n e m l t e rt e c h n o l o g yo f l v s a n di m p l e m e n t a t i o no fl v sa r ea n a l y z e d i nr e s p e c tt ot h el o a db a l a n c e ro fl v sc l u s t e rc o u l d b e c o m eas i n g l ef a u l tc o m p u t e r c o m p a r e d 、v i t l lv a r i a n tm o d e l i n go f d u a lc o m p u t e r , l o a db a l a n c e d o fl v st o l e r a t e db yd u p l i c a t e dh o t - s t a n d b yt e c h n o l o g yt oi m p r o v eh i g ha v a i l a b i l i t yo fl v s s y s t e m b a s i n go na n a l y s i so ff a u l td e t e c t i o no fd u p l i c a t e dh o t - s t a n d b y ,h e a r t b e a tp r o t o c o lb a s i n go n l i n u xk e r n e lw a sp r o p o s e d t h eh e a r t b e a tp r o t o c o lw a sa i m e da tt h ed u p l i c a t e dh o t - s t a n d b y t h e h e a r t b e a tp r o t o c o li sn e t w o r kp r o t o c o lo ft c p i ps t a c k t h eh e a r t b e a ti sd i f f e r e n tf r o mt h e a p p l i c a t i o np r o c e s s u s i n gh e a r t b e a tp r o t o c o lt od e t e c tt h ef a u l t , t h eh e a r t b e a tp r o t o c o ld i d n t s w i t c hb e t w e e nl i n u xk e r n e ll a y e ra n da p p l i c a t i o nl a y e r a n da p p l i c a t i o nn e t w o r kp r o c e s sc o u l d f i n i s ht h en e t w o r kc o m m u n i c a t i o nv i ai pr o u t i n go fi pp r o t o c 0 1 i ft h eh e a r t b e a tp r o t o c o lc o u l d a v o i dt h e m ,i tw o u l dr e d u c et h er u n n i n gt i m ea n di m p r o v ea v a i l a b i l i t yo ft h el v s d y n a m i c h e a r t b e a tp e r i o do fh e a r t b e a tp r o t o c o lw a sd e s i g n e d b a s i n go na c c o u n to fl v s r e q u e s lh e a r t b e a t p r o t o c o ls e t st h eh e a r t b e a tp e r i o d = d a t ab a c k u pa n df a u l tt a k e o v e ro fd u p l i c a t e dh o t - s t a n d b yw a s d e s i g n e d k e yw o r d s :l v sc l u s t e r :h i g ha v a i l a b i l i t y :d u p l i c a t e dh o t - s t a n d b y ;h e a r t b e a tp r o t o c o l - j n 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工作及 取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不 包含其他人已经发表或撰写的研究成果,也不包含为获得大连理工大学或者其 他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡 献均已在论文中做了明确的说明并表示了谢意。 作者签名:遮日期: ? 沁哪f 6 火连理t 大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 名:妒膨否 颠躲丝塾 加7 年月同 大连理:大学硕十学位论文 1 绪论 1 1 研究背景 计算机应用技术已进入以网络运算和网络服务为中心的高峰期。i n t e m e t 的飞速发展给 网络服务器的性能带来巨大的挑战。越来越多的瓶颈出现在服务器端。比较热门的站点会 吸引前所未有的访问流量,例如根据y a h o o 的新闻发布,y a h o o 已经每天发送6 2 5 亿页面。 一些网络服务也收到巨额的流量,如a m e r i c a no n l i n e 的w 曲c a c h e 系统每天处理5 0 2 亿个用 户访问w e b 的请求,每个请求的平均响应长度为5 5 k b y t e s 。与此同时,很多网络服务因为 访问次数爆炸式地增长而不堪重负,不能及时处理用户的请求,导致用户进行长时问的等 待,大大降低了服务质量。如何建立可伸缩的网络服务来满足不断增长的负载需求成为迫 在眉睫的问题。 大部分网络服务都需要提供每天2 4 d , 时、每星期7 天的服务,任何服务中断和关键性的 数据丢失都会造成直接的商业损失。例如,2 0 0 2 年7 月2 3 日,央视晚新闻播报:7 月2 3 同, 首都机场因电脑系统故障,6 0 0 0 多人滞留机场,15 0 多驾飞机延误;5 月2 9 日上午8 时3 0 分左 右,南京火车站电脑售票系统突然发生死机故障,整个车站售票处于瘫痪状态,车站售票 大厅内人满为患,众多旅客不得不改乘其它交通工具离开南京。根据d e l l 的新闻发白,d e l l 现在每天在网站上的交易收入为一千四百万美元,一个小时的服务中断都会造成平均五十 八万美元的损失。可知,解决网络服务的可靠性已是非常紧迫且薤待解决的问题。 十一血国家中长期科学和技术发展规划纲要中提出重点研究丌发金融、物流、网络教 育、传媒、医疗、旅游、电子政务和电子商务等现代服务业领域发展所需的高可信网络软 件平台具有一定能够的系统容错形的网络系统。 集群技术就是基于此种要求发展起来的一种计算机及附属设备的运算网络平台。运用 它可以将分散的计算资源节点连接起来完成原来单独节点难以高质量、高速度完成的任务。 早期的集群系统仅仅是出于这样的并行处理的目的出现的。但是随着计算机性能的发展和 网络不安全因素的出现,系统的稳定性和可靠性成为需要优先解决的问题。目前比较常见 的处理方式是使用集群技术将两台或两台以上的计算机节点连接起来,在整个集群系统中 发生单点或者局部多点故障时,由集群中其它的正常工作的节点自动接替故障节点的任务, 比较典型、应用比较广泛的例子就是双机热备份( 两台一样的计算机系统,使用集群软件连 接起来,其中一台作为另一台的备份,当主机系统崩溃时,另一台来接替它的任务) 。 如何高效地使得由多个独立计算机组成的松藕合的集群系统构成一个虚拟服务器;客户i 端应用程序与集群系统交互时,就像与一台高性能、高可用的服务器交互一样,客户端无 须作任何修改。部分服务器的切入和切出不会中断服务,这对用户也是透明的。同时需要 基于l v s 负载调度器的双机热备份研究与实现 设计和实现很好的系统资源和故障的监测和处理系统。当发现一个模块失败时,要及时的 把模块上提供的服务迁移到其他模块上。在理想状况下,这种迁移是即时的、自动的。这 些都是当前集群技术研究的热点问题。 1 2 研究现状 按照侧重点的不同,可以把l i n u x 集群分为三类:高可用性集群,负载均衡集群高性 能集群l l 训。 高可用性集群:运行于两个或多个节点上,目的是在系统出现某些故障的情况下,仍 能继续对外提供服务。高可用性集群的设计思想就是要最大限度地减少服务中断时问。这 类集群中比较著名的有t u r b o l i n u xt u r b o h a ,h e a r t b e a t ,k i m b e r l i t e 等。 负载均衡集群:目的是提供和节点个数成正比的负载能力,这种集群很适合提供大访 问量的w e b 服务。负载均衡集群往往也具有一定的高可用性特点。t u r b o l i n u xc l u s t e rs e r v e r , l i n u xv i r t u a ls e r v e r 都属于负载均衡集群【3 】。 高性能集群:按照计算关联程度的不同,又可以分为两种。一种是任务片方式,要把 计算任务分成任务片,再把任务片分配给各节点,在各节点上分别计算后再把结果汇总, 生成最终计算结果。另一种是并行计算方式,节点之间在计算过程中大量地交换数据,可 以进行具有强藕合关系的计算。这两种超级计算集群分别适用于不同类型的数据处理工作。 有了超级计算集群软件,企业利用若干台p c 机就可以完成通常只有超级计算机爿能完成的 计算任务。这类软件有t u r b o l i n u xe n f u s i o n , s c o r e 等。 对集群技术的研究主要集中在解决以下三类问题: ( 1 ) 如何在高负载情况下保持系统性能的稳定。 ( 2 ) 如何在突发系统故障情况下保证系统不停机。 ( 3 ) 如何在需要扩展系统能力时能够既方便又保护原有的投资。 所采取的相应解决技术方案为: ( 1 ) 使用多种优化分配算法和转发机制实现负载均衡,将用户请求均衡分配到各个节点 进行处理,结果回送用户。 ( 2 ) 容错机制负责自动监测故障,当监测到某一节点发生故障时,将其从集群中暂时移 出,并不再向该节点分配用户请求,当此节点恢复正常后,再将其恢复加入集群中。 ( 3 ) 保证高扩展性,当添加一个或若干新的节点到集群网络中时,只用修改配霄文件和 状念文件,不必对系统作太多的修改。 负载均衡技术的目标在于在各节点间分配负载,均衡各节点负载,进而实现并行计算, 以减小任务响应时间。根据任务粒度的大小,负载均衡技术主要分为两个层次:任务缴和进 人近理1 人学硕十学付论文 程级,即分配和转发的是一个作业任务还是一个进程。由于进程级负载均衡需要对进程进 行切换,因而对网络通信速度和系统并行性要求较高,现阶段实际应用较少。目前对负载 均衡技术的研究主要都是针对任务级负载均衡进行研究和开发。 1 2 1 基于集群技术的高可用系统研究现状 只本的f 5 公司开发出了高可用性集群b i g i p ,它是使用于本地网络站点或数据中心的 高可用的、智能化的负载平衡产品,它提供了对网络流量的自动和智能的管理。与前几种 集群系统不同的是,b i g i p 向用户提供的是一个即插即用设备,而其它的提供的都是软件 方法1 1 埘。 i b m ,m i c r o s o f t 和i n t e l 联合发却了一种高可用性服务器集群软件及硬什包,这种服务器 集群的配臂包括3 2 台i b mn e t f i n i t y8 5 0 0 8 及i n t e lp e n t i u mi v 处理器,运行i b m 的d b 2 u n i v e r s a ld a m b a s e 和m i c r o s o f tw i n d o w s2 0 0 0a d v a n c e ds e r v e r 操作系统。这套系统面向数据 密集的应用,特别是电子商务和企业资源规划领域。 国内也有不少公司进行了高可用集群系统的研究和开发工作。例如联想公司已经推出 的用于分靠式高性能计算的n s1 0 0 0 0 高性能集群服务器,该系统是个四节点的系统,主 要基于联想万全4 5 0 0 8 服务器,以替代传统r i s c 小型机和中型机的工作。中国自主开发研 制的集群式高性能计算机集群系统“自强2 0 0 0 s u h p c s ”于2 0 0 0 年9 月在上海大学问世。 这些高可用系统大多专注于提高系统的故障恢复能力,而对以服务器集群负载平衡问 题为主的系统性能提升有所忽视。 1 2 2 基于l v s 技术的高可用系统研究现状 在1 9 9 8 年5 月,国家并行与分御式处理重点实验室的章文嵩博士成立了l i n u xv i r t u a l s e r v e r ( l v s ) 的自由软件项目1 3 ,进行l i n u x 服务器集群的丌发工作。目前,l vs 项目已提 供了一个实现可伸缩网络服务的l i n u xv i r t u a ls e r v e r 框架。在l v s 框架中,提供了含有三 种口负载均衡技术的i p 虚拟服务器软件i p v s 、基于内容请求分发的内核l a y e r - 7 交换机 k t c p v s 和集群管理软件。可以利用l vs 框架实现高可伸缩的、高可用的w e bc a c h e ,m a i l 和m e d i a 等网络服务:在此基础上,可以开发支持庞大用户数的、高可伸缩的、高可用的电 子商务应用。l i n u xv i r t u a ls e r v e r 项目的目标是:使用集群技术和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 ) 。 t u r b ol i n u x 公司推出了能够显著提高基于t c p i p 协议的多种网络服务的服务质量的高 可用性集群系统t u r b oc l u s t e r r e dh 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 的主要目的 基丁l v s 负载调度器的取机热备份研究与实现 是提供一个商业级的能提供较好的服务质量的w e b 服务器的解决方案。 p l a t f o r m 公司开发的高可用性集群系统l s f l 是供了分布式集群系统的解决方案。它通过 将物理上分离的多个集群连接在一起使多个同构或异构的计算节点能够通过局域网或广域 网共享计算资源,并为用户提供对资源的透明访问。 高性能集群系统m o s i x 为l i n u x 核心增添了集群计算的功能。在m o s i x 集群环境中,用 户无需对应用程序进行修改就可以将应用程序与库连接起来或将应用程序分配到不同的节 点上运行。m o s i x 会自动将这些工作透明地交给别的节点束执行。 上述系统的优点在于构建了对用户透明的虚拟服务器集群,并利用日u 端调度器实现了 负载平衡,但它们的高可用功能大多仅关注了存贮磁盘阵列模块,没有对整个虚拟服务器 的高可用进行设置,容易造成自口端调度器等处的单点故障,影响系统的健康运行。 1 3 故障诊断机制的研究现状 自从c h a n d r a 和t o u e g 4 , 5 】成功使用错误侦测机制在异步式分布系统中开发出一致算法 后,对错误侦测机制的研究就一直在不断发展。其后的研究包括将错误侦测扩展到把网络 失效,网络拓扑,应用模式,介质属性【6 】等考虑进去的系统中。康奈尔大学( c o m e l l u n i v e r s i t y ) t 6 】的研究员在研究的基础上建议将错误侦测机制作为一种操作系统基础服务,而 在中更把错误侦测机制当做基本服务对象,并在c o r b a 和j a v a 的基础上对其进行了实现。 l i n u x 当前的错误侦测机制主要存在于高可用集群和一些应用程序中。 l i n u x 当6 0 存在较多的高可用集群系统。而错误侦测机制是每个高可用集群系统必不可 少的重要组件之一。下面将介绍几个主要高可用集群的错误侦测机制: ( 1 ) l i n u x h a l i n u x h a t7 1 的基本目标是通过社区开发者的努力,为l i n u x 提供一个高可用集群的方 案,它可以提高集群的可靠性,可用性和服务性。l i n u x h a 已在许多重要的高可用性方案 中作为重要的组件存在,并被广泛的使用。 h e a r t b e a t 是l i n u x 上开源软件l i n u x - h a 的核心组件之一,当| 仃版本它实现了串口,u d p 和p p p ,u d p 的心跳检测,同时包含了p 地址的转换及一个支持资源组概念的资源模型。它 当前支持多个口地址,使用简单的两节点主,从模型。并支持下列应用类型:w e b 服务、l v s 服务、邮件服务、数据库服务、防火墙、文件服务、d n s 服务、d h c p 服务、代理缓冲服 务等等。 ( 2 ) s g il i n u xf a i l s a f e s g i 和s u s e 公司把运行于m x u n i x 上的f a i l s a f e 集群软件移植到l i n u x 平台,命名为 l i n u xf a i l s a f e i 酗,通过软件在l i n u x 上实现了一个高可用集群平台。l i n u xf a i l s a f e 最大可以 支持1 6 个节点,能够在节点失效时,自动使用正常节点接管失效节点的应用,配合使用共 大连理t 大学硕十学伊论文 享磁盘存贮,集群可以在出现单点故障的情况下继续运行,大大减少系统停机时间。 ( 3 ) r e d h a tc l u s t e rs u i t e r e a h a t 的c l u s t e rs u i t e 9 l 是个融合了高可用和负载均衡的集群软件,拥有较高的性能和 可靠性。c l u s t e rs u i t e 的高可用部分被称为c l u s t e rm a n a g e r ( 简称c m ) 。当前c m 能够支持 2 - 8 个连到相同外部存储子系统的节点,该外部存储通常为s c s i 或光纤存储子系统。节点 日j 采用局域网或串口相连,以轮询的机制来互相检测【1 0 - i 2 。默认的网络轮询时间为2 秒, 如果发送者没有收到对方的回应,则默认重试6 次,这样一次标准的侦测时间为1 4 秒。轮 询时间和重试次数是可以调整的。同时c m 支持用户级应用检测,用户可以编写自己的应 用检测脚本,系统将以默认时| 日j 间隔反复调用,以检查应用级错误。 1 4 论文主要工作 本文研究的主要问题是l i n u x 下的心跳平台的设计与实现,针对如何提高协议的效率, 适用性及平台的灵活可靠性,主要研究了如下几个方面的内容: ( 1 ) 研究双机热备份系统的工作模式和主要的技术。 ( 2 ) 对当i ; 的双机热备份中采用的故障诊断技术进行了研究。 ( 3 ) l v s 集群系统实现技术分析,以及对负载调度器进行双机热备份设计。 ( 4 ) 内核级动念心跳诊断的设计与实现。 墓- f l v s 负载调度器的双机热备份研究与实现 2 双机容错技术 本章主要分析了双机容错系统的几种工作模式,以及各工作模式的体系结构。着重介 绍了双机热备份模式,对双机热备份的关键技术做了介绍。 为了在给定的元器件条件下进一步提高系统的可靠性,往往采用双机并联方式束组成 双机容错系统,即两台完全相同的计算机通过双机部件的控制来提高整个系统的可靠性, 这是一种系统级冗余方式【l3 1 。 2 1 双机容错系统的工作模式 所谓双机容错系统是指系统对主机及硬盘、通讯线路等核心设备,采用双机备份,当 系统萨常时主机进行工作,并且每隔设定时间系统自动检测,若发现问题,系统能够自动 切换到备份机继续工作,保证不影响系统的币常运行。 双机容错的高可用系统通常应用于两种情况,一种是系统死机、错误操作和管理引起 的异常失败,另一种是由于系统维护和升级的需要而安排的正常关机。在实际应用中,由 主机上的软件通过冗余心动侦测线路,经由复杂的监听程序、逻辑判断,来相互侦测对方 运行盼隋况。如果某一主机确认对方故障,则j 下常主机除继续进行原来的任务,还将依掘 各种容错备援模式接管设定的故障机作业程序并进行后续的程序和服务。在故障机修复后, 通过冗余通讯线与j 下常机连线,可将原来的工作程序及磁盘阵列上的数掘,自动切换回修 复完成的主机上。从而保证了系统数据安全性和系统工作的连续性,实现了系统永不停机 和数据永不丢失的目的。 支持双机双工工作模式和双机主从热备份工作模式。 双机冗余通讯连接。通过专用侦测网,共享磁盘区和串口线束实现双机问冗于通讯侦测, 同时负载资源的公用网也可负担冗于侦测的任务。在网络资源繁重和拥挤行业,为了保护 系统的安全性和侦测的准确性,建议用户至少使用两块网卡,其一可专用于侦测并且用户 请不要轻易人为改变侦测次数和设置。 2 1 1 双机双工互备援模式 双机双工互备援模式中两台主机均为工作机( a c t i v es e r v e r ) ,在j 下常情况下,两台工作 机均为信息系统提供支持,并互相监视对方的运行情况。当一台主机出现异常时,不能支 持信息系统讵常运营,另主机则主动接管( t a k e o v e r ) 异常机的全部工作,继续主持信息的 运营,从而保证信息系统能够不问断的运行,而达到不停机的功能( n o n s t o p ) ,但i f 常运行 主机的负载( l o a d i n g ) 会有所增加。当异常机尽快修理恢复正常后,系统管理员可通过管理 命令,将正常机所接管的工作切换回己被修复的异常机。 大连理:大学硕七学位论文 2 1 ,2 双机双工系统模式 磁盘阵列 图2 i 双机双丁模式系统结构 f i g ,2 1d u p l i c a t e da c t i v es e r v e ra r c h i t e c t u r e 双机双工系统模式是两台主机均为工作机( a c t i v es e r v e r ) ,在系统正常的情况下_ 它们 并行同步响应外部服务请求,并对服务同步进行处理。在处理过程中,分不同阶段对处理 的中间结果进行对比,同时给出每个中问结果的评估。在最后输出时候根据所有评估和当 前的最终结果表决策略得出唯一输出结果。当一台主机出现异常时,不能支持信息系统正 常运营,整个双工互各援模式失效,输出结果不进行表决,因此应该尽量避免单机运行的 情况。 典型配冒结构如图2 1 所示。双机与仲裁控制器相连,控制器对客户机发来的信息同时 分发给主机a 和主机b ,双机同时对信息进行处理。处理结果传至仲裁控制器,控制器按 照结果表决策略对输出结果进行处理,然后将处理。 2 1 3 双机热备份模式 双机热备份模式是一台主机为工作机( a c t i v es e r v e r ) ,另一台主机为备份机( s t a n d b y s e r v 砷,在系统i f 常情况下,工作机为信息系统提供支持,备份机监视工作机的运行情况( 工 作机也同时监视备份机是否j 下常,有时备份机因某种原因出现异常,工作机应尽早通知系 统管理员解决,确保下一次切换的可靠性) 。当工作机出现异常,不能支持信息系统运营时, 墓丁l v s 负载调度器的般机热备份研究与实现 备份机主动接管( t a k e o v e r ) i 作机的全部工作,继续支持信息的运营,从而保证信息系统能 够不i 日j 断的运行( n o n - s t o p ) 。当故障机经修理恢复了f 常后,系统管珲员可通过管壬甲命令将备 份切换为工作机,也可以启动监视程序,监视备份机的运行情况,此时,原来的备份机就 成了工作机,而原来的工作机就成了备份机。 目前常采用的双机热备份系统容错技术解决方案有两种:基于共享设备( 磁盘阵列) 的双 机容错热备份系统和纯软件双机容错热备份系统。 ( 1 ) 基于共享设备的双机热备份容错方案 磁盘阵列 幽2 2 磁盘阵列式舣机热备份系统结构 f i g 2 2d u p l i c a t e dh o t - s t a n d b yb a s i n go nr a i d 磁盘阵列双机容错系统的代表产品是d a t a w a r e 和l e c 。它采用容错级别最高的 r a i d s ( 廉价磁盘冗余阵列) 技术并配备相应的软件同时监控两台服务器的硬件环境,所有的写 入操作将同时在两台机器上进行,一旦某一台机器出现硬件故障,立即进行双机切换,以 保征应用软件不发,上中断。此模式下,双机热备份容错系统由两部分组成:监控软件、磁盘 阵列柜,如图2 2 所示。 此模式运行的主要特点: 数据库放置于共享的磁盘阵列上,通过r a i d 技术保证数据的可靠性,数据库及应 用软件在某一时刻只由一台主机控制。 运行于主机a 及主机b 上的监控软件判别主机的工作状态,当主机a 出现故障刚, 大连理t 大学硕十学俯论文 主机b 接管主机a 的工作。 此模式的技术特点: 一 磁盘阵列柜可靠性是整个系统可靠性的首要条件,对磁盘阵列柜的慎重选择,是选 用此方案时所应考虑的问题。此模式将原由单台主机系统运行的风险转移到共享磁盘阵列 柜上,共享磁盘阵列柜的可靠性和安全性将影响整个系统的安全运行。一旦磁盘阵列柜发 生问题,整个网络将因此停顿,形成所谓的单点故障。 监控及切换由主机上的监控软件实现,故整个系统能够安全运行的另一个前提是监 控软件的可靠以及稳定。 硬件设备的方案对硬件的依赖大,没有把风险完全平分在两台机上。 ( 2 ) 纯软件双机热备份容错解决方案 图2 3 纯软件模式取机热备份系统结构 f i g 2 3d u p l i c a t e dh o t - s t a n d b yb a s i n go i lp u r es o f t w a r e 通过软件方式实现双机热备【1 4 堰口不采用共享的存储设备,而是数据不再单点存储,本 机数掘可以向多台主机做实时的数据复制,如图2 3 所示。这种方式的优点是节省了昂贵的 存储设备投资。缺点是或者会产生数掘的差异,或者会影响数据库的速度。比如,如果在 服务中断时切换到备机,则可能有少量已经在主机完成的事务在备机上尚未实现。而与备 份数据的恢复不同,备机启动后,后续的操作已经进行,因此丢失的事务就很难补 :。通 过镜像软件,将数掘可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上 各存在一份,如果台服务器出现故障,可以及时切换到另一台服务器。 基3 - l v s 负载调度器的双机热备份研究与实现 软件系统由相关的两部分组成,第一部分为故障诊断及切换任务切换系统,第二部分 为镜像系统。 软件系统安装完毕正式启动后,两台p c 服务器担任不同的角色,一台为主用系统 ( p r i m a r ys y s t e m ) ,另一台为备用系统( s t a n d b ys y s t e m ) ,在这两台机器上都运行有一个进程 叫“h e a r t b e a t ”,它们通过数据网( 专用以太网段、t c p i p 协议) 和串行口相百- 监视着对方的 工作状态,在正常情况下,主用系统通过用户网接收客户机的访问,当主用系统出现故障 时,备用机就接管客户机对系统的访问,接管的内容包括原主用系统的网络地址及数据库 等,并重起原主用系统的各类应用程序。关于故障诊断的详细介绍在下一节。 纯软件双机热备份容错系统镜像i b 】是指两台服务器,主用系统与备用系统之间通过下 t c p i p 协议,对系统数据进行的镜像,其镜像空间的大小,镜像的个数,均可根掘应用系 统的要求进行设置。通过镜像数据,容错纯软件物理上把数据库的风险平均分御在曲台服 务器上。 一 安装了软件双机热备份容错系统之后,任何写盘的动作被容错系统截取,同时写入本 机硬盘,并通过专用数据网络写入备用机上分区。 此模式特点( 与磁盘阵列模式相比) : 系统整体可靠性高 纯软件方式下,真正将风险分散到两台服务器上,使系统可靠性真正得到提高选用双 机热备容错系统的主要目的,是将单主机系统运行所带来的系统风险降至最低。采用以共 享磁盘阵列柜为核心的方案,却是将系统风险转移至共享磁盘阵列柜上,此设备的可靠性, 直接决定整个系统的可靠性。而容错纯软件双机热备容错系统无需共享设备,将系统风险 平均分散到两台服务器上,从而真证提高整个系统的可靠性。 双机采用网络连接,真正做到在线连接及修复,支持双机远距离j h j 隔。 两台服务器通过以太网连接,使得两台服务器之间的物理距离可相对较远,如使用血 类双绞线连接,双机之间可间隔1 0 0 米,如使用光纤连接,两台服务器可间隔数千米至数 十千米。这种连接方式可以避免一些人力不可抗拒的事故,如火灾、地震等而导致系统中 断,从而增加了可靠性。 无共享设备,使用户可以集中精力在两台主机的管理及维护上,只常管理维护方便、 简单、灵活。 投资小,可靠性高,性能价格比高。 对于纯软件方式的应用,要看具体的应用情况。如果频繁进行写入,对响应速度要求 很高,则这种方式未必理想。如果写入的频率不是很高,写入的小小的时延可以承受,则 这种方式的好处还是很大的。 大连理工大学硕士学位论文 2 2 双机热备份系统的关键技术 2 2 1 故障诊断机制 双机热备系统的主要目标是实现系统服务和应用的高可用性f l “,以保证在系统中的一 个节点的失效而导致运行在该节点上的服务崩溃时,该服务能够继续的可用。该系统本身 具备对某些可预见( 如计划停机) 或不可预见( 如软硬件故障) 因素的承受能力。通过系统之间 的相互切换,系统能够将正在运行的服务转移到另外另一个节点中继续运行,并且对外部 用户的影响应控制在可以接受的范围之内,从而把单节点故障所带来的系统风险降至最低。 双机热备系统的故障切换是以主从方式操作。即在正常情况下只有主服务器在进行操 作,从服务器只在准备状态而并没有提供任何工作负担。从系统利用一根心跳线通过两台 主机的网口直连从而获得主服务器的“生存”状态。这根阿线必须是通过一个与外界隔离 的网络连接,可以通过一个独立的h u b 或最简单就是r s 2 3 2 网线的直连。 ( 1 ) 故障诊断方法 故障诊断机制【lo i 中最常用的方法是推( p u s h ) 、拉( p u n ) 及它们的各种变种模型。下面的 介绍中,客户( c l i e n t ) 表示错误侦测系统的使用者,监控者( m o n i t o r ) 表示错误侦测系统本身, 负责信息的传递,而被监控目标( m o n i t o r a b l eo b j e 如) 则可能是节点,进程或某个需要监控的 对象。 推模型( 心跳模型) 豳2 4 推模型心跳诊断 f i g 2 4p u s hh e a r t b e a td e t e c t i o n 在推模型i 1 中,控制流方向与信息流方向一致,如图2 4 。在这种模型下,被监控目标 是活动的。他们周期性的发送心跳( h e a r t b e a t ) 信息以通知其它对象它们仍活着。如果一个监 控者在一定限制时间内没有收到被监控对象的心跳信息,它则怀疑该对象己失效。因为这 种方法在系统内只有个方向的信息传输,所以它的效率较高。同时如果多个监控者监控 相同对象时可以用硬件的多播( m u l t i e a s o 机制来实现。 基于l v s 负载调度器的双机热备份研究与实现 被监控对象周期性的发送心跳信息给监控者。只要收到信息,监控者设置一个时钟 如果在接收到同一对象发来的新心跳信息之前它过期了,则触发失效事件。 拉模型 图2 5 拉模型心跳诊断 f i g 2 5p u l lh e a r t b e a t d e t e c t i o n 在拉模型中,信息流方向与控制流方向相反。如图2 5 所示,在这种模型中,被监控对 象是被动的。监控者周期性的发送“a r ey o ua l i v e ? ”请求给被监控对象。如果被监控对象回 应“ia ma l i v e ”,则表明其活着。因为对被监控对象而言有两个方向的信息发送,所以这 种模型可能比推模型效率低点,但对于应用开发者来说,这种模型较为方便使用,因为被 监控对象是被动的,而且不需要任何关于时间的知识( 例如它们并不需要知道监控者希望 收到信息的频率,即推模型中的心跳周期) 。 在监控者与被监控对象之间使用轮询类型协议进行信息交换的过程,骑拧者周期件的 发送请求给被监控对象,然后等待回复。如果它没有得到回复,超时将触发失效事件。 以上就是最基本的两种错误侦测方法,它们有着各自的特色,并在不同的应用中有着 不同的效率。根据网络拓扑结构和应用的通讯模式,选择不同的模型对系统的性能有着巨 大的影响。 ( 2 ) 双机热备份系统采用的故障诊断方法 上节所述的几种错误侦测方法是最常用的方法,在本文中主要研究的是推协议,即心 跳协议的设计与实现,这里将简要叙述一个最简单的心跳协议过程 1 2 1 ,并对其进行一定的 分析。 通过舻做心跳检测时,主备机会通过此心跳路径,周期性的发出相互检测的测试包, 如果此时主机出现故障,备机在连续丢失设定数目的检测包后,会认为主机出现故障,这 时备机会自动检测设置中是否有第二种心跳,如果没有第二种心跳的话,备机则根据已设 定的规则,启动备机的相关服务,完成双机热备系统的切换。 大连理工大学硕士学位论文 双机软件通过直接侦测网卡的底层状态来判断网卡的状态【 】。而有的双机软件是靠 p i n g 的方式来判断网卡状态的,如果连接两台机器的h u b 出现故障,这时不能保证这两台 机器能够互相p g 通,双机软件此时会报告两台机器的网卡都出现故障,导致两台机器同 时去连接一个磁盘卷,造成磁盘阵列的文件系统被破坏、数据丢失。有的双机软件需要第 三台机器存在,如第三台机器损坏或关机,则双机软件认为两台机器的网卡都出现故障, 同样导致上述结果。 当心跳线失效时,双机软件会保持原有状态不变,不会造成对文件系统的破坏。而有 些双机软件会在两台机器上同时启动数据库,造成磁盘阵列中数据库文件系统被破坏,数 掘丢失。 一 该心跳协议如下的执行过程如下:在一个固定时问间隔内,节点p 发送心跳信息给节 点q ;当节点q 收到心跳信息,它信任p 并用一个固定的超时时间t d 设置时钟;如果在时 间过期时q 仍然没有收到p 发送的新心跳信息,则q 认为p 已失效。 ( 3 ) 双机故障诊断的心跳网络介质 各个节点问通过网络实现互连,因此网络是生命线。网络还是检测失效、对共享存储 空间并发访问的通道。下面,我们将讨论支持节点通讯的不同类型的网络,以及在为节点 配詈网络时所必须考虑的各项因素1 9 1 。 应用于节点间的网络可以分为两类: t c p i p 网络 在节点通讯中t c p i p 网络既被用做公共网络又被用作私有网络。公共网络用于把节点 与客户机联结在一起。私有网络仅仅用于节点之间,用于每个节点上的错误侦测或其它管 理信息的通信。不同的t c p i p 网络介质有不同的特性,必须针对用户的需求束选择。 非t c p 1 p 网络 在节点通讯中,非t c p i p 网络也叫串行网络。现在能使用两种类型的串行网络r s 。2 3 2 串行连接:这是一种点到点的网络,两个节点的串口通过一条r s 2 3 2 串行电缆联结。 在节点通讯中,大多数串行网络只是用来发送k e e p a l i v e 包和h e a r t b e a t 信息的,所以串 行网络的带宽是足够的。绝大多数机群都用r s - 2 3 2 作为串行网络。但是如果使用支持s c s i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年下半年度上海市荣誉军人疗养院招聘8人备考题库参考答案详解
- 2026年下半年四川资阳市雁江区人民医院人才招聘笔试题库带答案详解(综合题)
- 2026重庆垫江公益岗招聘3人模拟试卷含完整答案详解【考点梳理】
- 2026广东第二师范学院汕尾市城区教育集团面向全国招聘7名高中教研员导师备考题库及参考答案详解(模拟题)
- 2026年池州市精信人力资源服务有限公司招聘(三)考前冲刺密卷附完整答案详解(各地真题)
- 2026北京大学口腔医学院(医院)招聘1人(第9批)考前冲刺试卷含答案详解【达标题】
- 2026贵州黔东南州三穗县教育系统公开招聘社会化服务教师及保育员228人笔试题库及参考答案详解【黄金题型】
- 2026年中宁县机关事业单位助理岗位见习笔试题库附参考答案详解(B卷)
- 2026天津市公交文化传媒发展有限公司社会选聘广告事业部经理的1人考前冲刺试卷(历年真题)附答案详解
- 2026山东青岛海发国际贸易集团有限公司招聘10人笔试题库标准卷附答案详解
- 嗜铬细胞瘤围术期麻醉管理
- 2024年10月高等教育自学考试《00051管理系统中计算机应用》试题
- 农用提灌站管护协议书
- 2025年家庭医生签约服务培训大纲
- 青海2025年03月西宁市城北区面向社会公开招考47名编外聘用人员笔试历年参考题库考点剖析附解题思路及答案详解
- JJF(有色金属)-非接触式激光引伸计校准规范
- 2025年离婚协议书范本(无争议)
- 2025内镜室院感工作计划
- 高中数学解题思想与方法大全
- 桂花雨(课件)(共23张PPT)
- 高中物理教学发展总结
评论
0/150
提交评论