(计算机应用技术专业论文)基于服务的双机热备技术的研究.pdf_第1页
(计算机应用技术专业论文)基于服务的双机热备技术的研究.pdf_第2页
(计算机应用技术专业论文)基于服务的双机热备技术的研究.pdf_第3页
(计算机应用技术专业论文)基于服务的双机热备技术的研究.pdf_第4页
(计算机应用技术专业论文)基于服务的双机热备技术的研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于服务的双机热备技术的研究.pdf.pdf 免费下载

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

文档简介

捕要 摘要 随着计算机技术的迅速发展,企业越来越依赖于计算机系统和网络技术,需 要企业服务器为客户连续的提供服务。高可用性( h i g h a v a i l a b i l i t y ,h a ) 越来越受 到人们的重视。尤其近年来,全球企业日益重视竞争和协作的统一,企业对系统 的高可用性的要求日益增强。企业对系统的高可用性提出了更高的要求。要求系 统不但能提供不问断的服务,还要求系统提高在资源管理方面的有效性,不断加 强系统在管理上的灵活性。如今的高可用性系统的主要目标是:不间断的服务, 动态的资源管理,方便的管理工具。 近年来,计算机领域内新的技术不断涌现,像集群技术,网络通信技术等等。 使用这些技术可以建立一个更为可行的高可用性系统,来满足企业的需要。本文 作者参与了w i n d o w s 2 0 0 0 服务器双机热备高可用系统的开发工作。在开发过程 中,作者对其作了深入的研究,在此基础上,完成了本论文。 本文首先对服务器通常出现的故障进行了分析,然后对高可用理论和关键技 术进行了相关的阐述,在此基础上,分析了双机热各系统的主要功能,提出了客 户端一多服务器双机热备系统模型,设计和实现了基于服务程序的双机热备系 统,对关键实现细节也进行了相应的阐述。在实现方面,为了服务器能够继续不 问断的为客户提供服务,本文相应提出了对应用程序服务进行控制的思想,使服 务器应用程序能够不间断的运行:设计了基于s o c k e t 的通信机制;为了顺利实 现对主服务器的接管和恢复,采用了工作脚本的方式,使管理员对接管和恢复过 程能进行方便的管理。最后,对系统中存在的问题和后续工作进行了简单的总结。 关键词高可用性:双机热备系统:脚本;恢复 北京工业丈学工学顼士学位论文 皇兰篁罾詈曼曼曩皇詈詈曼奠奠| 詈詈皇曼皇曼蔓葛皇曼蔓曼兰兰皇i 皇鼍暑舅詈孽量曼置曼曼曼鼍曼曼曼窖曼曼曼篁 a b s tr a c t w i t ht h ec o m p u t e rt e c h n o l o g yd e v e l o p i n gr a p i d l y , t h ee n t e r p r i s em o r ea n dm o r e d e p e n do nt h ec o m p u t e rs y s t e ma n dt h en e t w o r kt e c h n o l o g ya n dn e e dt h ee n t e r p r i s e s e r v e rt op r o v i d et h ec u s t o m e rw i t hs e r v i c ec o n t i n u o u s l y p e o p l ea t t a c hm o r ea n d m o r ei m p o r t a n c et oh af h i g ha v a i l a b i l i t y ) e s p e c i a l l y , s i n c et h ee n t e r p r i s e sa l lo v e r t h ew o r l dt h i n km u c ho ft h ec o m b i n a t i o no fc o m p e t i t i o na n dc o o p e r a t i o n ,t h e r ea r e m o r ea n dm o r er e q u e s t sf o rt h es y s t e mh i g ha v a i l a b i l i t y t h ee n t e r p r i s e sa d v a n c e d h i g h e rr e q u e s tf o rt h eh i g ha v a i l a b i l i t yo ft h es e r v e r t h e yn o to n l yn e e dt o b e p r o v i d e dw i t ht h ec o n t i n u a ls e r v i c ea n dd i s p o s i n gt h es y s t e mh a r d w a r ef a u l ti nt i m e , b u ta l s on e e dt ob ep r o v i d e d 谢也t h eh i 曲r e s o u r c em a n a g ee f f i c i e n c ya n dt h e c o n v e n i e n c e ,f a c i l i t ys y s t e mm a n a g e m e n t t o d a y , t h eh i g ha v a i l a b i l i t ys y s t e ma i m s a t c o n t i n u a l s e r v i c e ,d y n a m i c r e s o u r c e s m a n a g e m e n t a n dc o n v e n i e n t s y s t e m m a n a g e m e n tt o o l s t h e s ey e a r s ,n e wt e c h n o l o g i e so fc o m p u t e rc o m ef o r t hc e a s e l e s s l y , s u c ha s c l u s t e r , n e t w o r kt e c h n o l o g i e sa n ds oo n t h e s et e c h n o l o g i e sm a k ei tp o s s i b l et om a k e ah i 【g ha v a i l a b i l i t yt om e e tt h ee n t e r p r i s e se x p e c t a t i o n s t h ea u t h o ro ft h i sa r t i c l e a t t e n d e dt h ed e s i g n i n ga n di m p l e m e n t i n gt h ew i n d o w s 2 0 0 0d u p l i c a t e ds e r v e r s y s t e m i nt h ep r o c e s so f d e v e l o p m e n t ,t h ea u t h o rd e e p l ys t u d i e dt h es y s t e m ,a n dt h e n f i n i s h e dt h ea r t i c l ew h i c hi sb a s e do ni t f i r s t l y , t h ea r t i c l ea n a l y s e st h ec o m l r l o nf a i l u r eo ft h es e r v e r , t h e np u t sf o r w a r d t h ec o n c e p t i o no ft h eh i g ha v a i l a b i l i t yt h e o r ya n dk e yt e c h n o l o g i e s b a s e do ni t ,t h e p a p e ra n a l y s e st h em a i nf u n c t i o no ft h ed u p l i c a t e ds e r v e rh i g ha v a i l a b i l i t ys y s t e m , a n dp u t sf o r w a r dt h es y s t e mm o d e lo fc l i e n t m u l t is e r v e r ,d e s i g na n di m p l e m e n tt h e d u p l i c a t e ds e r v e rh i g ha v a i l a b i l i t ys y s t e m ,d e s c r i b e st h ek e yi m p l e m e n td e t a i l s a s f o ri m p l e m e n t ,t h ea r t i c l ea d v a n c e st h et h e o r yt ou s ea p p l i c a t i o nt oc o n t r o lt h e a p p l i c a t i o n s e r v e rs e r v i c e sf o rc o n t i n u a l s e r v i c e ,d e s i g n t h ec o m m u n i c a t i o n m e c h a n i s mb a s e do ps o c k e t ,i n t r o d u c et h es c r i p tt oi m p l e m e n tt h et a k e o v e ra n d r e i n s t a t ew h i c hm a k et h em a n a g e m e n tm o r ec o n v e n i e n t a tl a s t ,a n a l y s e st h e d e f i c i e n c yo f t h es y s t e ma n dt h ew o r ki nt h ef u t u r e k e yw o r dh i g ha v a i l a b i l i t y ;d u p l i c a t e ds e r v e rs y s t e m ;s c r i p t ;r e i n s t a t e 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名日期:三! 堕塑 关于论文使用授权的说明 本人完全了解北京工、大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密厉应遵守此规定) 躲一盘晕铆繇趔瓤剑8 第1 章绪论 1 1 本课题的目的和意义 高可用问题是用户给整个计算机界提出的课题。这必然要求计算机系统的所 有厂商,包括计算机电源,硬件,操作系统,网络,数据库管理系统以及应用软 件等提供的相应保障措施。高可用性的实现,需要在硬件,系统软件,应用软件 上整体考虑,才能保证计算机系统在任意环节失效的情况下,都能正常运行或是 在较短时间内恢复正常,并且要保证系统数据的一致性。对于硬件,网络层次的 高可用性通常采用冗余的办法实现,数据库管理系统也有一些高可用方案,比如 并发o r a c l e :应用软件位于整个层次的最上端,是与用户交互的接口。 本课题对高可用系统中的双机热备系统进行了深入的研究。首先使用马尔可 夫过程对双机热备系统进行分析,然后在此基础上实现用软件方式解决服务器的 高可用性问题,提出了客户端一多服务器高可用系统模型,实现数据的双机热各, 通过对应用程序服务进行控制的思想,使服务器应用程序能够不间断的运行,采 用基于s o c k e t 的通信机制进行通信,为了顺利实现对主服务器的接管和恢复, 采用了工作脚本的方式,使管理员对接管和恢复过程能进行方便的管理。 1 2 高可用系统概述及发展 相关术语: 宕机时间( d o w n t i m e ) 系统从停止服务到重新提供服务的时间( 以单位时间 计量:如分,小时,天等) 。 平均无故障时间( m e a nt i m eb e t w e e nf a i l u r e s m t b f ) 两次故障之间计 算机系统能够正常运行的时间的平均值。系统的可靠性越高,平均无故障时间越 长。 平均故障恢复时间( m e a nt i m et or e p a i r m t t r ) 指从故障发生到机器 修复平均所需的时间。 可用性( a v a i l a b i l i t y ) 可用性是测量计算机系统能够持续对客户进行服务 北京工业大学工学硕士学位论文 的尺度。可用性不仅要使故障时间最小,同时要使应用程序恢复正常所需时间最 小。 单点故障( s i n g l ep o i n to ff a i l u r e s p o f ) 系统的软件或硬件在其失 去功能时,会导致整个系统停止服务,则该点称之为单点故障。 高可用性( h i g ha v a i l a b i l i t y ) 提供一个系统,通过减少或对故障的控制 来降低宕机时间,提供比传统系统更高级的系统可用性,减少单点故障。 f a i lo v e r 主服务器失效,关键服务器由主服务器向服务器转移的过程。 s t a n di n 次服务器顶替主服务器。 r e i n s t a t e 关键服务器由正在顶替的次服务器向已经修复的主服务器转移 的过程。 1 2 1 研究高可用性的目的 据f i n d s v p 调查显示:在财富排行前1 0 0 0 的公司中计算机平均故障次数为 9 次年,平均故障时间为4 小时年,平均每小时的损失达8 2 5 0 0 美元。所以提 高系统的可用性,成为当前企业界的迫切要求。它能够使企业避免不必要的损失, 维护企业高品质的形象。过去,银行、邮电等大单位通过购买专用的容错计算机 实现高可用性。在这种模式下,服务器死机时,需要人工操作来分析、排除错误; 服务器恢复时,又需要各种测试及恢复操作,这些都需要很长的时间。在这段时 间内,前端的所有任务都必须停顿下来以等待系统恢复,这一切都会造成企业难 以估计的运营损失。 随着集群技术的成熟,许多单位选择了通用计算机构成成本低而高效能的集 群系统,他们也希望系统能提供专用容错系统的许多优点,例如稳定的软件、硬 件、数据库和操作方式。研究高可用系统基于如下原因: 集群服务器环境是分布式的需要寻求这类分布式计算环境下的高可用性解 决方案; 当前有许多关键性的应用程序是基于l a n 或w a n 等网络环境的需要研究网 络环境下的容错方案; 关键性应用需要在错误检测和服务恢复的基础上,提供及早的报警系统,从 而缩短维修时间: 第1 章绪论 需要长时间运行的商业任务一方面要求服务的连续性,一方面又能够容忍几 秒到几十秒的切换时间,因此采用高可用系统的解决方案能够获得更高的性 能价格比。 1 2 2 高可用系统发展史 传统上高可用系统的实现是采用专用的容错机,价格昂贵,且需要较长的人 员培训时间。其次容错机往往采用专用的操作系统,不易于软件的开发和移植, 而且它也不能检测应用程序错误。 现代高可用系统的实现采用的是集群技术,主要面向联机事务处理一类的商 业应用,系统的错误恢复时间在几秒钟以内,错误恢复的实现上一般采用软硬件 相结合的错误监测、错误诊断、系统重新配置和恢复等策略,适用于对容错和实 时性要求更高的应用。 现代集群技术开始于1 9 8 3 年,d i g i t a l 公司研制v a xc l u s t e r s 让多个v a x 计算机通过访问一个共享磁盘组的卷分担系统负载并支持单系统镜像( s i n g l e s y s t e mi m a g e ) 。v a xc l u s t e r s 利用d i g it a l 的分布式锁管理( d l m ) 技术协调服 务器访问共享磁盘。 u n i x 服务器集群技术在八十年代后期和九十年代初期得到了广泛的应用。除 了许多开发商支持集群服务器的高可用性以外,也有的支持u n i x 系统的可伸缩 性。 1 9 9 6 年,一些系统开发商开始为w i n d o wn t 服务器研制集群服务器软件以提 供高可用性。微软集群服务器( m i c r o s o f tc l u s t e rs e r v e r m s c s ) 发起制定w i n d o w n t 服务器集群技术工业标准的活动,希望构造一个统一的应用程序有一致的接 口,六十多个组织参与了m s c sa p i 工业标准设计过程。 1 9 9 7 年1 0 月,微软在w i n d o w sn t 4 0 服务器企业版中使用一个标准组件发 布了微软集群服务器软件,又称作w o l fp a c k 软件。它只支持两个节点的高可用 性。 1 9 9 7 年11 月,n c r 公司发布了l i f e k e e p e r2 0 ,最大支持由1 6 个节点组成 的集群服务器系统。 同期,其他一些公司的高可用性产品也推向市场,如c o m p a q 公司的o n l i n e 北京工业大学工学硕士学位论文 r e c o v e r ys e r v e r ,d i g i t a l 公司的c l u s t e r sf o rw i n d o w sn t ,v e r i t a s 公司的 f i r s t w a t c h ,f u llt i m es o f t w a r ei n c 的f u li t i m ec l u s t e r ,v i n c a 公司的 c o s t a n d b ys e r v e r 。 2 0 0 0 年3 月v e r i t a s 发布的c l u s t e rs e r v e rl _ 2 提供较完善的功能。最大 支持由3 2 个节点组成的集群服务器系统。支持s o l a r i s 、h p u x 和w i n d o w sn t 平台。 今年来其他一些公司也推出自己高可用系统,如美国s t e e l e y e 公司的 l i f e k e e p e r ,以及r o s e h h 等高可用性软件产品。 在双机热备份方案中两台服务器都处于热机状态,如果一台服务器坏掉了, 另一台服务器可以将所有的业务接管过来。双机热备份通常有两种方式一种是 o n l i n e 方式,两台服务器都在工作,分别担负不同的任务,均衡负载。另一种 是s t a n d b y 方式,备份机不工作,只是监测作业机的工作状况。这两种方式各有 利弊o n li n e 方式的投入成本大,管理上也存在一定难度;而s t a n d b y 的缺点则 在于服务器之间切换的时间较长,至少在5 钟以上,而且前台的工作站还需要重 新登录一次。两个系统之间通过以太网连接,关键数据在两个系统之间呈镜像存 在。在j 下常运行时,控制权在主用系统上,数据实时地镜像到备用系统上。当主 用系统发生故障或主用系统检查到某种故障后,系统控制权切换到备用主机。由 于采用以太网作系统的数据链路,主用系统可不干扰备用系统工作,自动脱离并 在一个孤立的环境中进行故障的诊断和维修。主用系统修复后,控制权需再切回 到主用系统。数据需要从备用系统恢复到主用系统,这个工作在后台自动完成, 应用读取数据仅从备用系统上进行而不会中断。数据恢复完成后双机系统进入 正常工作模式。 还有一种方案为三机表决系统。在三机表决系统中三台主机同时运行,由表 决器( v o t e r ) 根据三台机器的运行结果进行表决,有两个以上的机器运行结果 相同,则认定该结果为正确,一般而言,三机系统的可靠性比双机系统要高,但 三机系统也有其缺陷。首先三机系统的成本高是显而易见的,其次是当一台机器 出现故障后表决器反复在剩下的两台机器中进行表决己经没有任何意义,其可靠 性甚至比不上一个双机系统。因此现在三机系统中则较多采用的是将双机备份和 三机表决两者结合起来的方式,当三机中坏掉一台后就当作双机备份系统来用, 一4 , 第l 章绪论 不再进行表决了。 1 3 本章小结 本章介绍了课题的目的和意义,并对高可用系统的发展过程进行了简要的介 绍,最后介绍了双机热备系统的解决方案。 北京工业大学工学硕士学位论文 第2 章服务器故障分析 计算机硬件与软件都不可避免地会发生故障,这些故障有可能给企业带来极 大地损失,甚至整个服务地终止、网络的瘫痪。因此,必须有适当的措施来确保 计算机服务器系统提供不问断的服务,以维护系统的可用性。信息系统的可用性 通常在两种情况下会受到影响,一种是系统宕机、错误操作和管理引起的异常失 败,另一种是由于系统维护和升级,需要安装新的硬件或软件而正常关机。高可 用性软件必须为这两种情况提供不间断的系统服务。通过对系统故障的原因进行 分析,我们就可以采用有效的措施来提高系统的可用性。 2 1 服务器故障分析 一直以来,在当今的企业环境中时间就是金钱,然而现在不再是一天8 小时 和一周5 天的工作时间。当今的商业要求一天2 4 小时,一周7 天和一年5 2 周的 运作。无论何时的系统或数据的不可使用将使商家失去交易,失去经营机会和失 去客户。因此我们有必要对造成系统或数据不可用的原因进行分析。 2 1 1 服务器故障原因 服务器的故障多种多样,只有充分考虑到所有能导致系统故障的因素,才能 建立真正完善的高可用性系统。系统故障原因大致可分为7 类“,如下: 按计划的硬件、操作系统的维护,如增加硬盘和进行操作系统补丁 等。 应用失效,如数据库出错等。 操作员出错,如误操作等人为错误。 操作系统故障,如操作系统死机等。 硬件故障,如硬盘或网卡损坏等。 断电( 没有u p s ) 自然灾害,如火灾、地震和洪水等。 软件造成的故障是系统故障的第二大因素,但是常常不能像硬件那样得到足 第2 章服务器故障分析 够的重视,而且,软件的变化和升级极为复杂,这使得软件对系统的稳定性的长 期影响更加难以预测。随着系统对软件故障检测和管理依赖性的增强,软件问题 日益受到重视。 2 1 2 服务器故障分析 ( 1 ) 软件故障 确认造成软件故障停机的根源是错综复杂的。举例来说,c a h n e r si n s t a t 集团从所有停机报告中观察到2 0 的停机是由于操作系统故障,2 0 是由于应用 故障。然而,在实际应用中,大多数报告表明操作系统故障的原因是由于不恰当 的系统配置、第三方驱动设备的缺陷或系统软件的缺陷。 值得注意的是防毒软件的缺陷也将导致w i n d o w sn ts e r v e r 系统的停机,因 为它们是作为一个内核级过滤驱动器使用的。众多源于软件问题的系统停机,能 够通过选择更好的操作程序避免,诸如挑选能够让用户的服务器持续运行的软 件。 ( 2 ) 硬件故障 硬件故障经常发生在机械部件当中,诸如风扇、磁盘或可移动存储介质。一 个组件的故障可能引起另一个组件的故障。举例来说,对一个磁盘驱动器而言, 不完全或不充足的冷却可能导致内存故障,或者缩短磁盘发生故障的时间。其它 可移动的部件,诸如磁盘驱动器中的机械和机电组件也是极其关键的。新型存储 器技术已经显著增强了当今磁盘驱动器的可靠性。 1 9 9 8 年,当第一篇r a i d 论文发表时,规定普通i o o m b 磁盘的m t b f 等级为 3 0 ,0 0 0 小时。1 9 9 9 年,规定普通2 g b 驱动器的m t b f 是大约3 4 年3 0 0 ,0 0 0 小 时。在这些苛刻的要求下,硬件需要充足的气流和冷却设备。系统管理人员应使 用能够监控内部温度和能够在条件超过允许范围时产生简单网络管理协议( s n m p ) 警告的平台。 随机访问内存使用奇偶校验位来检测错误代码( e c c ) ,检测并纠正单个错误, 而且能检测双字节错误。对整个系统的可靠性而言,使用e c c 内存和高速缓存内 存与使用r a i d 是同等重要的。 ( 3 ) 网络故障 北京工业大学工学砚士学位论文 随着分布式系统的推出,基础网络的性能和可靠性是整个系统的性能和可靠 性的关键。网络故障包括网卡、网线、网络集成器、网络交换机等故障。 ( 4 ) 操作故障 为了获得高可用性和性能,系统工程师肩负着分析系统软件使用的任务。当 系统硬件配置改变时,如增加新的硬件,他们将重建其配置信息。在进行任意类 似重大配置变动前后,管理人员应全面备份系统。 对于容量i o o g b 以上的大型数据库系统,使用适当的数据保护机制是必不可 少的。尤其是,r a i d 系统能够增强磁盘系统的伸缩性和性能,同时增强了数据 的完整性。冗余存储子系统如今比它最初推出时更加受到欢迎,因为与停机时间 增加的成本相比,磁盘减少的成本是更具有吸引力的。 一致、详细的监控程序对于使用高可用性系统是非常重要的。硬件兼容表上 的设备需要使用事件日志记录硬件使用情况。系统事件日志必须受到严格监控, 能防止系统中不易觉察的潜在故障。为获得最大可靠性而设计的系统能够在发生 单点故障时持续运作,例如在使用r a i d 5 的系统中有一个磁盘发生故障,系统仍 可以继续正常运行。但是,如果再有一个磁盘发生故障,系统仍可以继续正常运 行。但是如果再有一个磁盘发生故障,将造成数据损失。必须使用自动的报警 程序设置报警通知,例如s n m p 报警寻呼机通知,及时向系统管理员报告磁盘故 障等警告信息,让他尽快更换故障磁盘,重新建立r a i d 5 系统。 ( 5 ) 环境故障 一个灾难恢复研究的统计显示,在数据中心宣布的灾难记录当中,2 7 是源 于电源故障。在这项研究当中,定义为灾难的是附带有服务损失的实际数据损失 事件。这个数字包括因为环境灾难造成的停电,诸如暴风雪、龙卷风和飓风。在 不间断电源( u p s ) 上的投资是关键的第一步。许多操作系统已具有内置的u p s 支 持。 有很多方法来处理这些问题。例如:人为错误和软件问题引起的系统的不可 用能够使用改良程序和过程来处理,但是不能完全靠这种方法来避免问题发生。 硬件问题可以用冗余和其他技术来处理,但是同样不能完全避免。事故总是在不 经意间发生。 一台服务器可能承担许多任务,如文件服务、打印服务、数据库服务、m i s 第2 章服务器故障分析 应用和w e b 服务,为各用户提供各种资源共享,由于用户多,分配资源有限,可 能发生内存、磁盘空间等各种冲突,造成系统运行缓慢,网络服务功能失效等现 象,这些故障可能是由于系统管理员资源分配或管理不当造成的。服务器常见的 也是用户最忌讳的故障是系统启动异常,如开机无显示、显示某些提示信息后死 机或启动过程中停止,运行中出现间歇性或永久性死机等。 当某个故障发生后,该故障能导致整个系统不能正常提供服务,这种故障称 之为单点故障。单点故障( s i n g l ep o i n to ff a i l u r e 一- - s p o p ) 指系统的软件 或者硬件在其失去功能时,会导致整个系统停止服务,则该点称之为单点故障。 一个非常可靠的独立运行的服务器同样会有很多的单点故障,通常,一个没有备 份或冗余、单独运行的部件上发生的故障都有可能是单点故障。 2 2 系统如何避免单点故障 要降低系统的单点故障,提高可用性,可采用如下措施: ( 1 ) 避免电源的单点故障 强烈建议在配置服务器和磁盘阵列时,必须要求双电源供电,同时必须有两 路不同的电源供给,或必须插在不同的电源插座上。有些电源单路输入,内部两 个电源模块是不能称之为标准的双电源的。同时建议使用u p s 进行供电,减少由 电源引起的出错概率。 ( 2 )避免硬盘的单点故障 好的双机热备系统中的主机系统盘要求配置成r a i d l ( 镜像盘) ,保证系统盘 无单点故障,因为如果系统盘损坏,会导致系统重建和大量的恢复操作。如果是 数据盘损坏,则系统本身可以正常运行,但是应用程序无法运行,只有在数据盘 更换,从备份恢复好原来的数据后,才能使用。无论系统盘损坏还是数据盘损坏, 都会造成一定的损失。因此,冗余配置是十分必要的。通常有两个方法来解决这 个问题,磁盘阵列或软件方案,两种方法各有长处。 ( 3 ) 通过磁盘阵列( r a i d ) 保护数据安全 r a i d 是“独立磁盘冗余阵列”( 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 ) ( 最 初为“廉价磁盘冗余阵列”) 的缩略语,1 9 8 7 年由p a t t e r s o n ,g i b s o n 和k a t z 在3 j u 卅l 大学伯克利分院的一篇文章中定义。r a i d 阵列技术允许将一系列磁盘分 北京工业大学工学硕士学位论文 组,以实现提高可用性的目的,并提供为实现数据保护而必需的数据冗余,有时 还有改善性能的作用。随着计算机技术的快速发展,r a i d 已经从高端服务器市 场日益步入寻常百姓家。r a i d 技术是种工业标准,各厂商对r a i d 级别的定义 也不尽相同。r a i d 已经发展到0 ,1 ,2 ,3 ,4 ,5 六个级别,目前最常用的是r a i d o , 卧i d i 、r a i d 3 和r a i d 5 。 ( 4 )通过s a n 结构的存储保护 s a n ( s t o r a g ea r e an e t w o r k ) 是指存储局域网,通过特殊的网络来使网络中 的存储设备可以让该网络中的不同服务器直接访问,通常是通过光纤结构实现互 联。随着存储技术的不断发展,s a n 结构的存储系统将成为主流,因为相对传统 的存储结构,它具有众多的优点。通常,s a n 结构的系统必须要配置成高可用, 或者说服务器必需可以能够通过可靠的网络连接访问存储。s a n 结构中的不同部 件,如控制器、磁盘阵列等必需能够冗余。 ( 5 )避免系统处理单元单点故障 一个服务器系统的处理单元通常是由一组部件组成,它们通常都有可能发生 故障。其中比较重要的几个部分是: c p u ( 一个或多个) i 0 控制卡( s c s i ,i o 板等) 内存 任何的这些部件的损坏,都将导致系统的拒绝服务。停止工作并更换新的配 件。使得系统能够正常工作。如果一个系统不容许任何的出错,则只有两个办法: 所有部件冗余( 通常所说的容错机) : 采用集群技术( 实现高可用) ( 6 )单机高可用的实现 单机高可用通常指那些具有容错功能的服务器、专业容错机等,能实现这些 功能的基本都是高端服务器。它们通常可以提供包括如下部件的硬件冗余: 处理器 i o 控制卡 网卡 内存部件( 板或模块) 第2 章服务器故障分析 置蕾量_ 曹_ _ 曹皇蔓蔓- - 皇皇篁_ _ _ 鲁鼍璺_ 曼_ 置e - _ 曼寡墨鲁曼曼舅p - , _ _ _ _ _ 奠_ 毫詈鼍s 囊鼻 电源及连接线 这样的服务器包括h p 的s u p e r d o m e 和s t r a t u s 等,当然,它们也可能存在 单点故障,比如系统的总线、系统时钟等,它们很难实现冗余。 ( 7 )通过集群来避免单点故障 高可用集群可以使您有效的避免处理单元( s p u ) 的单点故障问题。高可用 集群可以大大的减少由于s p u 损坏造成系统宕机的时间,可以容许用户在一个处 理单元损坏时,进行修复而系统不会停止服务。在高可用集群系统中,一个或多 个系统单元作为工作单元( p r i m a r y ) 的备份单元。这些备份单元可以是运行状 态( a c t i v e ) 或是等待状态( s t a n d b y ) 。如果是运行的单元,在运行自身应用 的同时,还作为主服务器的备份。而等待状态的单元在发生切换之前处于空闲状 态( i d l e ) 。当然,s t a n d b y 的服务器也可以用于处理其它事物。高可用集群十 分灵活,它们通常比容错的单机具有更好的性能价格比。注意:s p u 和节点( n o d e ) 不同,节点是指集群中的一台服务器,而s p u 指系统处理单元,包括一个或多个 c p u 、内存及电源等部件组成的集合,节点包含s p u 集群中的节点之间通过网络 连接,为客户端提供服务,它们通过网络进行心跳侦测,了解对方的运行状态, 当节点的s p u 发生故障,备份节点将接管资源、启动服务,使得客户端可以持续 的得到服务,这当中会有很短的中间状态,这样一个接管操作也称之为切换。 2 3 本章小结 本章分析了造成系统故障的软硬件原因,指出了软件故障在系统故障中占有 很大比例,并引入了单点故障的概念,给出了一系列避免系统单点故障的措施。 北京工业大学工学硕士学位论文 第3 章服务器高可用系统理论和关键技术 3 1 高可用理论 3 1 1 高可用指标 计算机的r a s 技术是用来定义系统环境的健壮与完善性。r a s 即可靠性 ( r e l i a b 订i t y ) 、可用性( a v a i l a b i l i t y ) 和可维护性( s e r v i c e a b i l i t y ) 。 可靠性通常是根据系统运行的平均故障间隔时间,即两次故障之间的平均时 间( m t b f ) 来衡量的。硬件设备、操作系统、应用软件等很多因素都可能对系统 的可靠性产生影响。如果系统中一个关键性部件的m t b f 较低,则将引起整个系 统的可靠性降低。 可靠性:系统从开始运行( t = 0 ) 到某时刻t 这段时间内能正常运行的概率, 用r ( t ) 表示。 失效率:单位时间内发生的平均故障次数,用 表示, 称为失效率。当入 为常数时,可靠性与失效率的关系为: r ( t ) = e 一“ m t b f = 1 九 可维护性衡量的是对系统或部件所提供的维护服务的时间,包括计划内的维 护和不可预知的服务:通常用平均修复时间( m t t r ) 来衡量可维护性。 修复率:单位时间内的平均故障修复次数,用崂 示,称为川彦复率。在可靠 性的基础上才能提及可用性,它是大多数用户希望的,在其可靠性系统中能够得 到的一种特性。可靠性所测量的是两次故障之间的间隔时间:而可用性所测量的 是,在故障出现以后,多长时间才能使系统得以恢复,并能重新提供服务。可用 性并不是一个模糊概念,实际上它能用数学方法来精确地表示。 瞬时可用度:系统在舰定条件下使用时,在任意时刻完成规定功能的概率, 用h ( t ) 表示。 平稳可用度:在相当长的一段时间内,系统j 下确完成服务的时间百分比。 第3 章服务器高可用系统理论和关键技术 3 1 2 系统可用性分析 将单机系统( 硬件,软件等) 视为单个部件的系统,当系统工作时服务正常, 当系统故障时服务不能完成。 在利用马尔可夫过程对系统可用性进行分析时,做如下假设嘲: 1 在( t ,t + a t ) 发生故障的条件概率是 a t : 2 在( t ,t + k t ) 完成修复的条件概率是“t ,: 3 同时出现两次或更多次故障或修复的概率为零: 4 每次故障或修复的事件与所有其它的事件无关: 5 九和慢常数。 此外,还有如下定义: 1 系统状态。系统可由工作和故障两个状态交替的过程来描述。有状态0 表 示系统正常,用状态1 表示系统故障。则有系统状态集e = 0 ,1 ) : 2 定义随机过程 x ( t ) ,t 0 ) 。令 x ( t ) = l ,时刻t 系统工作: x ( t ) = 0 ,时刻t 系统故障; 可以证明,此随机过程是一个齐次马尔可夫过程”1 。 可以推导出单机系统的平均可用度公式: a = m t b f ( m t b f + m t t r ) “1 3 2 可靠性技术 提高系统的可靠性可增大系统的m t b f ,从而提高系统的可用性。因此,双 机热备系统的设计可采取一系列可靠性技术,主要有: 使用商品化部件。由于商品化部件的制造工艺成熟、且被大量长期使用、b u g 较少,高可用机群系统的设计尽量使用商品化部件,包括结点板、结点操作系统、 编译器、数学工程库、数据库等。 避免单一故障点。任何系统的容错性,都是一个不容忽视的问题。一个存在 单一出错点的系统将有可能严重影响系统性能。即给系统增加一定的冗余,双机 热备系统中的任一软、硬部件都不只一个,这样任何部件故障都有一个备份,不 北京工业大学工学硕士学位论文 会导致整个系统崩溃。比如结点有多个,通信网络有多条等。这里的冗余是指有 隔离的冗余,即冗余部件不会因为同样的原因而同时发生故障。 自动化管理,使系统管理员可以少犯错误。 其它可靠性技术包括合理地设计电源、机箱、电源线与信号线的规则走线、 散热系统等。 3 3 可修复技术 可修复性技术能及时地发现和定位部件的故障,并迅速地从备份中恢复系 统,减少或避免系统的宕机时间,降低m t t r ,提高系统可用性。高可用系统的 可修复性技术包括三个方面,即系统备份、系统监测和系统恢复。 ( i )系统备份 系统备份包括硬件、软件和数据的备份。数据通常备份在硬盘阵列上,同时 还有磁带机作后援备份。 ( 2 )系统监测 准确及时地发现系统中的故障是降低切换时间的重要环节。如果故障未能及 时检测出来,将严重地影响系统的可用性。其次,如果经常发生虚警,使系统产 生不必要的切换,将降低系统的效率,甚至导致关键数据的丢失。 h e a r tb e a t 技术: 目前高可用系统中普遍采用h e a r tb e a t 技术来监测系统的工作状态。节点 之间通过侦测网络互相定时发送“心跳”( h e a r t b e a t ) 信号。每个主机上的监测 进程通过一定时间内是否收到足够的心跳信号来判断对方系统是否已经发生故 障。为了防止系统过载影响心跳信号而产生虚警,通常采用专用侦测网络,也可 以采用专用侦测网络与应用网络相结合的方式。 a g e n t 技术: h e a r tb e a t 技术一般只用于检测整个系统的正常情况。a g e n t 则用于检测系 统中各个不同的功能部件的工作状态,包括c p u ,磁盘、网络、虚存、r o 设备、 文件系统、进程、平均负荷等。不同的应用所依赖的系统功能也可能不同,当系 统某个功能部件故障时,可能有的应用已经无法继续进行而有的应用却根本不受 第3 章服务器高可用系统理论和关键技术 影响。因此有时还需要针对特殊的应用来设计a g e n t 。a g e n t 实际上是很多相关 技术的总称,为实现高效的a g e n t 往往需要有操作系统核心的支持,有时还需要 特殊的硬件支持。如i n t e l 公司为基于i n t e lc p u 的服务器系统制订的d m i 、 l a n d e s k ,就包括c p u 过热、机箱风扇故障、文件系统过载监测等功能,大大简 化了a g e n t 的设计。 ( 3 )系统恢复 当系统出现故障时,将应用切换到一个正常结点继续运行。同时,系统维护 人员可以对出故障的结点进行修复。依其难度和对用户的有用性,切换可以分成 几种模式: 重启:系统在新结点上薰启应用程序,从头开始运行。如果磁盘或r a i d 也坏 了,文件可以从磁带上恢复。这种模式实现简单,且对w e b 服务也常常足够了, 但对计算和数据库应用而言,用户可能损失大量的已做的工作。 回卷:系统或用户程序随时或定期设检查点或日志,将当前应用程序的状态 放到一个安全的地方( r a i d 或镜象磁盘等) 。在切换时,应用程序可以从最近的 一个检查点恢复。 进程迁移:不仅是应用程序和数据本身,还包括其它相关的系统信息,在切 换时一起被送到新的结点。这种方式最理想,但实现起来难度最大,需要核心的 支持。 应用程序服务重启:新节点上的应用程序服务自动重启,使新节点能够在很 短的时间间隔内顶替原服务程序节点,但是前提是在原节点崩溃之前原节点的数 据被实时的拷贝到新节点。 提高系统的可靠性般采用部件级冗余技术,即通过对系统中的薄弱环节增 加冗余,提高关键部件的m t b f ,来提高整个系统的m t b f 。传统的容错机多采用 此类技术,但专用的设计往往增加整个系统的成本。高可用系统以及双机热备系 统则主要着重于降低m t t r ,即通过低成本但高技术地降低修复时间。采用的主 要方法是系统级的冗余。即利用多个基本独立的主机互相进行冗余备份。当一台 主机的某个关键部件发生故障后,则认为该主机系统已经失效,其他主机将故障 主机的应用接管过来,继续运行,同时进行故障主机的维修工作。 1 5 北京工业大学工学硕士学位论文 3 4 集群技术 随着技术的发展,计算机越来越多的进入到人们的生活中,被应用到各个方 面;同时随着应用的深入,人们对于计算机的要求也越来越高。当一台服务器在 使用过程中不能满足要求时,传统的方法是使用一台新的服务器来替换原有服务 器,新服务器一般比旧服务器有更快的c p u 、更大的内存等资源,从而可以满足 用户的需要。这种服务器的升级方式有几个方面的缺点: 在升级后,旧服务器一般不会再参与原有服务,服务的效能完全由新服务器 决定。当对服务的需求快速增长并超过新服务器的效能时,就要再次更新系统, 使用功能更强大的服务器,现有服务器就会被淘汰从而造成浪费。同时新服务器 很快将会成为系统性能的瓶颈。 为了获得更高的性能,人们不断研制新的超级计算机,这些计算机内部的处 理器数也在不断的增长。但随处理器数目的增加,计算机的复杂度急剧增加,从 而加大了研究与制造难度,服务器的价格随性能增加而超线性增长,一般用户难 以承受。于是,人们开始用相对廉价的以太网把相对便宜的服务器工作站连接 起来组成集群,从而以较少的代价获得较高的性能。当前,实现系统的高可用性 大多采用计算机集群技术,它综合使用了可靠性技术和可修复性技术。 3 4 1 集群概念及其特点 集群( c l u s t e r ) 是由多台同构或异构的计算机用某种方式连接起来组成的 系统,它们协同完成特定的任务,其功能就像一个单系统。集群具有高可用性 ( h i g ha v a i l a b i l i t y ) 、易管理性( m a n a g e a b i1 i t y )

温馨提示

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

评论

0/150

提交评论