




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)cpci+linux+ha系统设计实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
堂鋈盔堂受生差垒堡塞y! 塑垒生釜3 摘要 随誊计算机技术的飞速发展,当今计算机按米已进入以飚络为中心的计算 对期,太黧鼹庭鼹辩箍绕羲两终避行,黠黢务器熬健麓窝霹靠整摄港了越来越嵩 懿要求为了满贬这些可用性要浓极高的关键性应用,人们使用h a 软件( 高可 用健软俸) 实现系统靛离可雳往,霹一年中的故障时简髭5 分镩驻内,穗称菇5 个9 的可用性。h a 软件满足了广大用户对计算机系统可嗣性增长的要求,为用 户提供了个几乎是完全容错的环境。利用该软件产品,用户能够实现漪可用性 磺 牛骚务臻以提珙关捷瞧应用掰灏熬更麓哥爨瞧。 本文溺绕c p c il i n u xh a 设计方案,麓点论述了系统的方案设计,主要功能 构件以及关键技术的实现。主要内容包括: l 。c p c i l i n u x h a 设诗方案:分绥了c p c i 系统,系统靛工摆漉疆,系统模 块组成结构,数据库和主簧表结构。 2 。h e a r t b e a t 协议静设诗与安蕊:奔缮了h e a r t b e a t 鹣慧薅绫橡,并分耩了 主要的数据缝睾每鞠函数。 3 c h e c kp o i n t 协议鹣设话与实现:介缮了c h e c kp o i n t 的总体结稿,并分 毒悖了主要靛数据络糖和礁数。 关键词:c p c il i n u xm ,c p c i 系统,蹒可用性,h e a r t b e a t 协议,c h e c kp o i n t 协议,策群技术,遂程_ i 鼍移 塑垩查堂堡主兰竺箜塞 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 t ,t h ec o m p u t e rt e c h n i q u eh a sc o m ei n t ot h e n e t c e n t e r dp e r i o d a p l e n t yo f u s ei sr e l a t e dw i t hn e t w o r k ,w h i c hm a k e s h i e h e r d e m a n d so nt h es e r v e r sp e r f o r m a n c ea n dr e l i a b i l i t y w e c a nu s h a ( h i g ha v a i l a b i e ) t or e a l i z et h eh i g h e ra p p l i c a t i o no ft h es y s t e m i e - t h ef a i l u r et i m ew i l lb ew i t h i nf i v em i n u t e sp e ry e a r ,s o c a l l e df i v en i n e a p p l i c a t i o n 。淞c a nm e e tt h ei n c r e a s i n gd e m a n d so ft h eg r e a tn u m b e r so f 越s e r sa n dp r o v i d et h e n w i t he ne n v i r o n m e n ta c c e p t i n ga l m o s ta n yf a u l t 一t h et h e s i sb a s e do nt h ec p c il i n u xh as c h e m ea n dd i s c u s s e da b o u tt h e d e s i g n i n go ft h es y s t e m ,t h em a i nf u n c t i o nc o m p o s i t i o n sa n dr e a l i z a t i o n o ft h ek e yt e c h n i q u e i ti n c l u d e s : 1 c p c il i n u xh as c h e m ed e s i g n i n g :t h ei n t r o d u c t i o no fc p c i ,t h e w o r k i n gf l o wo ft h es y s t e m ,t h es t r u c t u r e so fs y s t e mm o d u l e s ,d a t a b a s e ,t h e m a i nt a b l es t r u c t u r e s 2 t h ed e s i g n i n ga n dr e a l i z a t i o no fh e a r t b e a tp r o t o c o l :i n t r o d u c t i o n o ft h ew h o l es t r u c t u r eo fh e a r t b e a t ,a n a l y s i so ft h em a i n d a t as t r u c t u r e s a n df u n c t i o n s 一 3 t h ed e s i g n i n ga n dr e a l i z a t i o no fc h e c k p o i n tp r o t o c o l :i n t r o d u c t i o n o ft h ew h o l es t r u c t u r eo fc h e c k p o i n t ,a n a l y s i so ft h em a i nd a t as t r u c t u r e s a n df u n c t i o n s k e y w o r d s :c p c il i n u xh a ,c p c i s y s t e m ,h i g ha v a i l a b l e ,h e a r t b e a t p r o t o c o l ,c h e c kp o i n t p r o t o c o l ,p r o c e s sm i g r a t i o n 2 浙江大学硕士学位论文 第一章概述 当今计算机技术已进入以网络为中心的计算时期,大量的应用都围绕着网络 进行,对服务器的性能和可靠性提出了越来越高的要求。 由于计算机技术的飞 速发展,硬件服务器平台已经有了相当好的可用性。据统计,一个独立系统的可 用性在9 9 以上,如果配用一些系统管理工具,则系统的可用性可以达到 9 9 5 。9 9 8 。 从表面上看,这种可用性已经很好了,对于一些可用性要求不高的应用来说 应该是能满足要求的了。但是如果一年按3 6 5 天计算的话,则每年仍然有1 8 4 4 讣时的停机时间,这对于那些任何停机都将产生财产损失、名誉损失、甚至生命 损失的关键性应用如电信和银行等来说还有很大差距。 为了满足这些可用性要求极高的关键性应用,人们使用专用结构和广泛冗余 的容错系统,通过比常规系统昂贵若干倍的代价将系统的可用性提高到 9 9 9 9 9 9 以上,也就是平均每年的停机时间降到五分钟! 这种解决方案力求作到 将故障发生的概率降到最小,以致几乎不可能发生。虽然它的可用性的确很高, 但代价也很高。 通常有以下两种方法实现性价比较好的高可用性解决方案: 一种是通过磁盘镜像的方法,这种方法虽然可以大大降低硬件费用,但只限 于两台服务器间的相互备份,并占用c p u 、i o 端口资源,对系统的性能影响较大, 不适合于承担较重任务的系统。 另外一种是通过s c s i 接口共享外部存储设备,这种方案虽然增加了外设费 用,但是由于采用该方案,可以实现双机的监控管理,而对系统性能影响很小, 极大的提高了系统的可用性及可扩展性。 人们在提高可用性的过程中,除了了解到可用性的提高是要有代价的既可用 性越高所需付出的代价就越大以外,还发现了一个重要的现象:就是当系统的可 用性达到9 9 9 5 9 9 9 9 时,故障的来源主要是环境和软件,而不是硬件。因此, 为满足广大用户对计算机系统可用性增长的要求,建立一个在高可用性硬件服 务器平台上的软件解决方案,为用户提供了一个几乎是完全容错的环境就应运而 浙江大学硕士学位论文 生了。利用该软件产品,用户能够实现高可用性硬件服务器以提供关键性应用所 需的更高可用性。h a 就是在这种背景下出现的。 1 1 造成停机的原因 设计高可用性解决方案的真正挑战之一是检查所有可能的停机时间原因并 解决它。要考虑意外的和计划的停机时间原因,这一点很重要。 1 1 1 由意外故障造成停机 由意外故障造成停机的原因亦有很多种,图卜l 所示为对意外故障的分类, 它将故障分为软件故障、硬件故障、人为错误和灾难。每个类别标题下列出了与 该类别有关故障的可能原因。软件故障包括操作系统、数据库、中间件、应用程 序和网络故障。这些组件中的任何一个所产生的故障都将导致系统的出错。硬件 故障包括系统、外围设备、网络和电源故障。人为错误是最主要的故障原因,其 中包括操作员、用户、数据库管理员或系统管理员所犯的错误。另一类能导致意 外停机时间的人为错误是怠工。最后一类是灾难。虽然很少发生,但是这些原因 导致的停机时间将对企业产生致命的冲击,因为它们对企业的运营影响时间更 长。可能的灾难原因包括火灾、洪水、地震、电源故障和轰炸。良好设计的高可 用性解决方案将在预防意外停机时间方面考虑所有这些因素。 1 1 2 计划停机时间 计划的停机时间对企业运营具有破坏性的作用,特别是对于那些支持多个时 区中的用户,一天2 4 小时连续服务的全球性企业。这些情况下,设计一种能将 计划的中断降低到最少的系统是很重要的。如图1 2 所示,计划停机时间的原 因包括例行操作、定期维护和新部署。例行操作是那些要经常进行的维护任务, 包括备份、性能管理、用户和安全管理以及批处理操作。定期维护( 例如,安装 某个路径或重新配置系统) 偶尔需要,以更新数据库、应用程序、操作系统中间 件或网络。新部署况明对硬件、操作系统、数据库、应用程序、中间件或网络的 重要升级。不但要考虑执行升级所用的时问而且要考虑这些更改对整体应用程 序所产生的效果,这一点= i e 常重要。 浙江大学硕士学位论文 帮i j :舞爨l 掣囊舞& 魏爨。 p a n n e dd o w n t i m e s o , w a r ef o a u r e s h a r d w ar ef a i l u r e sh u m a ne i t o i d i s a s t e r 卜- - o p e n i n gs y 叠e r n 芝 卜卸- 卿 c p u m e m o l p o w e rs u p 目y :b u s 尸e n p h e r a l s 卜 既s b f - t a p e l c o n t r o l l e 晤 n e t i l l o 出 p o w e r o p e r a t o r6 m r u s e r 胁r d 日a s y s t e m d m i n j 靠m o r s a b o t a g e 图1 1 导致意外停机时间的原因 1 2 停机时间的成本 e 目r t h q u a k eg p o e rf a i l u r e b o m b i n g i 如果关键任务的应用程序不可用,则企业将处于危险境地。计算停机时间造 成的直接成本通常难以估算。愤怒的客户、闲置的雇员以及糟糕的新闻评论都是 要付出成本的,只是它们并不以货币的形式来衡量。另一方面,由于未能实现服 务标准协议目标而导致的收入损失和法律赔偿可以方便地确定。图1 3 估算了 某些行业每小时停机时间所导致的财务损失影响。对于那些依靠解决方案来提供 服务的行业,停机时间的成本将快速增长。 在停机时间成本方面需要考虑的其他因素,包括单一意外故障的最大允许时 限以及所允许事件的最大频率。如果事件持续时间少于3 0 秒,它所导致的影响 很小,且最终用户几乎不会觉察到它。随着故障期的时间增加,导致的麻烦也将 二增加,从小问题发展为大问题,甚至可能要采取法律措施。没计解决方案时,考 3 浙江大学硕士学位论文 虑这些问题是非常重要的,从而可以确定停机时间的真正成本。然后,企业应花 费合理的费用来建立具有高可用性而成本合理的解决方案。高可用性的解决方案 为企业提供了保障。 r a n n e dd o w m i m e r o u t i n eo p e r a t i o n s p e n o “ci 蛔啦a n c en e wd e p l o y m e n t s b - 。d a t a b a s e i j卜。;。b。a。o。k。up。m l | i _ j :。钠。两e , a n a g e m e n l l i 、一i , 。p p “l i c a t i o n 、| i i ? b z t e hp r o c e s s i n g l,。s。toijr。ag。e。ma,n。z。g。m贰en。t。 郫葫c 葫a f l _ j a i n t e n a n c e 卜 。m ;h b 。;。m 。: l s o f t w a r e 阻c 睫s 。0 口e r a t i n gs y s t e m d d l e w a m n e t u o r k 图1 2 导致计划停机时间的原因 9 3 f d 煅u 。p g r a a “! ! | o p e r a t i n gj s y s f e mu p g r a d e s o z , t a b a s eu p g r a d e s m d d e w a r eu p g r a d e s a p p r m a t i o nu p g r a d e si n e t = o nu p g r a d e s 浙江大学硕士学位论文 t h ec o s to fd o w n t i m e a v e r a g eh n a r i c | 搴| l m 踏诅p e r h 。;j r o f i n ! e r r u p 培d o 唧辩牌o 雌啸“0 瞄b y , n d u s t t y 嘲一弦誓霸豳戳鬃麓墼鬯蟹艟峨辫 “n 蓊蘸蠲 a * ,ov * # s t 蚴 、s n oi v ,s 0 # 缸晦s * s g 。0 m r m m h 辆瑚 s “龅国r 口擀g 锄5 黝f 怕 姆p m n i 毽r e s 荆哪h 图1 3 停机时间的成本 1 3 可用性定义 可用性是由应用程序最终用户来衡量的,它是指应用程序或服务在用户需要 它们及其功能时的可用程度。可用性是以系统运行和可用时间的百分比来衡量 的,是测量计算机系统如何能够持续地对客户进行服务的尺度。它需要依赖于系 统的可用性来防止出现故障和或从故障中进行恢复。高可用性系统提供一个改 进的或者比传统系统更高级的系统可用性,减少单个故障点。表1 1 显示了可用 性的等级。 表i i 可用性的等级 u p t i m e ( ) d o w n t i m ec l a s s 9 93 5d a y s y e a r 一般可用性 9 9 9 8 5h o u r s y e a r高可用性 9 9 9 9lh o u r y e a r 错误恢复 9 9 9 9 95m in u t e s y e a r 容错 1 3 1 一般可用性系统 浙江大学硕士学位论文 一般可用性系统没有容错功能,也没有特殊的软件来做错误处理,系统的错 误检查和恢复完全依靠系统管理员来完成。 1 3 2 高可用性系统 高可用性系统是在冗余的一般可用性系统基础之上,运行高可靠性软件而构 成。高可靠性软件用于自动检测系统的运行状态,在一台服务器出现故障的情况 下,自动地把设定的服务转到另一台服务器上,由另一台服务器继续提供服务。 1 3 3 容错( f t ) 系统 容错( f t ) 系统能够提供最高层次的系统可用性,它可以将冗余性集成到系 统的各个方面。真正的容错系统一般价格极为昂贵,而且不能提供高性能。 容错技术一般利用冗余硬件交叉检测操作结果。当发现异常时,故障部件会 被隔离开而不影响用户的操作。高可用性方案则利用更少的冗余部件的同时由软 件检测故障,一旦故障发生立即隔离损坏部件,通过提供故障恢复实现最大化系 统和应用的可用性。容错技术随着处理器速度的加快和价格的下跌而越来越多地 转移到软件中。未来容错技术将完全在软件环境下完成,那时它和高可用性技术 之间的差别也就随之消失了。 1 4 评定高可用性的参数 故障平均时间和恢复平均时间是评定高可用性的参数之一,软件和硬件组 件具有不同的故障特点,从而使软件故障难于管理或预测。硬件组件通常具有称 为指数故障分布的故障特性。在正常环境下,并且在经过初始阶段之后,硬件组 件运行得越长,它发生故障的频率就越高。因此,如果知道了设备的平均故障时 间( m t t f ) ,那么就有可能预测出该设备进入故障状态的时问。可靠性通常用 术语m t b f ( 平均故障间隔时间) 的系统故障问隔时间函数来衡量。 1 5 高可用系统的主要功能 高可用系统的主要功能包括 浙江大学硕士学位论文 软件故障监测与排除 备份和数据保护 监视各各个服务器的运行情况,能随时或定时报告系统运行状况,故障能 及时报告和告警,并有必要的控制手段 实现错误隔离以及主、备份服务器间的服务切换,保证提供不间断服务 1 6 高可用性的解决方案的基本特征 高可用性的解决方案具有三个基本特征一可靠性、可恢复性和连续运转。 可靠性:可靠的解决方案由很少出现故障的组件构成。 可恢复性:如果组件出现故障,高可用性的解决方案可以在无人干预的情 况下快速恢复。 连续运转:高可用性的解决方案甚至在维护活动的过程中也可以连续提供 服务。 最后这个特征日益变得重要。随着企业业务扩展到全球,且业务延长为每天2 4 小时每周7 天地全天候连续运行,维护窗口正逐渐减少。 1 7l l n u x 集群技术 集群技术是实现系统高可用性的重要手段,集群是两台或更多台计算机( 节 点) 在一个群组内共同工作。服务器集群是作为单一系统进行管理的一组独立的 服务器,用于实现更高的可用性、可管理性和更优异的可伸缩性。 目前,越来越多的网站采用l i n u x 操作系统,提供邮件、w e b 、文件存储、 数据库等服务。也有非常多的公司在企业内部网中利用l i n u x 服务器提供这些 服务。随着人们对l if l u x 服务器依赖的加深,对其可靠性、负载能力和计算能力 也倍加关注。l if l u x 集群技术应运而生,可以以低廉的成本,很好地满足人们的 这些需要。 l if l u x 竞争力很强的原因之一,是它可以运行于极为普及的p c 机【! = ,不需 要购买昂贵的专用硬f t 一设备。在几台运行i 。j f l u ) ;的p c 机上,只要加入相应的集 塑垩奎兰璧主兰些堡苎 群软件,就可以组成具有超强可靠性、负载能力和计算能力的l i n u x 集群。集群 中的每台服务器称为一个节点。 按照侧重点的不同,可以把l i n u x 集群分为三类。一类是高可用性集群,运 行于两个或多个节点上,目的是在系统出现某些故障的情况下,仍能继续对外提 供服务。高可用性集群的设计思想就是要最大限度地减少服务中断时间。这类集 群中比较著名的有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 j 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 都属于负载均衡集群。另一类 是超级计算集群,按照计算关联程度的不同,又可以分为两种。一种是任务片方 式,要把计算任务分成任务片,再把任务片分配给各节点,在各节点上分别计算 后再把结果汇总,生成最终计算结果。另一种是并行计算方式,节点之间在计算 过程中大量地交换数据,可以进行具有强耦合关系的计算。这两种超级计算集群 分别适用于不同类型的数据处理工作。有了超级计算集群软件,企业利用若干台 p c 机就可以完成通常只有超级计算机才能完成的计算任务。这类软件有t u r b o l i n u xe n f u s i o n 、s c o r e 等。 高可用性集群与负载均衡集群的工作原理不同,适用于不同类型的服务。通 常,负载均衡集群适用于提供静态数据的服务,如h 丁t p 服务;而高可用性集群 既适用于提供静态数据的服务,如h t t p 服务,又适用于提供动态数据的服务, 如数据库等。高可用性集群之所以能适用于提供动态数据的服务,是由于节点共 享同一存储介质,如r a i d b o x 。也就是说,在高可用性集群内,每种服务的用户 数据只有一份存储在共用存储设备上,在任一时刻只有一个节点能读写这份数 据。 高可用性集群对一种服务而占不具有负载均衡功能,它可以提高整个系统的 可靠性,但不能增加负载的能力。当然,高可用性集群可以运行多种服务,并适 当分配在不同节点上,比如节点a 提供o r a c l e 服务同时节点b 提供s 、r b a s e 服务,这也可以看成是某种意义上的负载均衡,不过这是对多种服务的分配而言。 浙江大学硕士学位论文 负载均衡集群适用于提供相对静态的数据的服务,比如h t t p 服务。因为通 常负载均衡集群的各节点间通常没有共用的存储介质,用户数据被复制成多份, 存放于每一个提供该项服务的节点上。 集群技术是实现系统高可用性的重要手段,集群是两台或更多台计算机( 节 点) 在一个群组内共同工作。服务器集群是作为单一系统进行管理的一组独立的 服务器,用于实现更高的可用性、可管理性和更优异的可伸缩性。 可用性:能够自动检测应用或服务器故障,并可将其在幸存服务器上快速重 新启动;而用户只会体验到瞬间的服务暂停。 可管理性:使管理员能够快速检查所有集群资源的状态,并轻松地将工作负 载分配给集群之中的不同服务器。这对于人工负载平衡十分有用,并且无需将重 要数据和应用脱机即可对服务器进行“滚动升级”。 可伸缩性:”支持集群”的应用可以通过应用程序接口( a p i ) ,从而在一 个集群中的多台服务器上实现动态负载平衡和扩展。 以下是几种常见的集群技术 共享存储是_ 种常见的配置。每一个节点均使用本地磁盘去存储操作 系统交换空间和系统文件,而应用数据则存储在共享磁盘上。每一节点均可读取 由其它节点写入的数据。 服务器镜像较共享存储更为经济。当数据写到主服务器上时,同时也写到 了备用服务器上。通过锁定备用服务器的数据可以保持数据的完整性。一些服务 器镜像产品还可将工作负载从主服务器转换至备用服务器。 非共享数据不共享。在发生故障时,非共享集群所具有的软件能够将磁盘 所有权从一个节点传送至另外一个节点。 9 浙江大学硕士学位论文 n 路配置所有节点在正常情况下都具有自己的用户和工作负载。一个故障 节点的资源能够通过故障恢复被转移到另外一个节点,但当剩余服务器承担额外 负载的时候,其性能将有所下降。 n + i 路配置集群包括一个热待机节点,它在主系统发生故障发生之前一直 处于空闲模式。一个故障节点的资源能够通过故障恢复被转移到热待机节点,这 样,当一个节点发生故障时就可以避免其它节点的性能下降。但是,由于待机节 点在正常情况下并不提供服务,因而成本较高。 浙江大学硕士学位论文 第二章c p c il ir l u xh a 设计方案 c p c il i n u x t a 系统致力于实现系统的高可用性,即年中的故障对间在5 分钟以内,核心思想是提供不间断的服务。使用在多台机嚣上运行的冗余节点和 服务,寒楗互跟踪。一旦菜个节点失败,它鲍罄j 将在几秒镑或爨短对越连接管 它的职责。因此,对于用户而言,群集永远不会停机。 2 1 营蠡冬 珏盎软件( 高哥麓蛙软 擎) 豹爨豹是实瑷系统数毫可臻挂,罄一年中豹敞瘴嚣 j 司在5 分钟以内,也称为5 个9 的可用性。h a 软件的实现没有个通用的标准, 每个系统麓隧实凌都可以不同。觳来漭,实蠛 a 主要透过高霹雳往软件、燕 捅拔、系统资源冗余的方法,需要硬件的相应支持。高可用性软件能够监测系统 硬件、操作系统、应用程序,当发现问题时启动锩误迸程来进行处理,屏蔽或减 少阉题。 2 2 系统总体说晴 c p c i 系统是攒运季亍本系绞熬华为公司的疆借平台。熬个系统建据硬终e 您i 平台和软件系统。c p c i 系统如图2 1 所示。 主系统是指真芷对总线进行控制的系统板以及在其上运行的软件。从系统是 工作在空闲模式下,即不对总线邈行控制的系统缀及其逡行的软件。在主主模 式下,两块系统扳及其软l 牛和都怒主系统,对于对方来说同时又郝是从系统;在 童从模式下,同时对两条总线避行控制的系统板及其软件是主系统,另外一块 系绞援及其软 譬跫双系绞。 c p c i 系统支簿热插拔,在一般兹应蔼系统中,落鑫鬻蠢路扳硬件失效域较l 孛。 故艨,通常都是先关闭系统电源再检修或更换故障设备,这样往谯需要较长的停 丰凡时间。在些可靠性要求:洚常高的高可雅系统中,不允诲停视稔修和停机更换 故障扳或只允许很短的箨手几时划。恻如在离可靠通讯、军事应用电子系统中,一 挝出现单板故障。臻球在搬个系统不停机的情况下允许带r l i l 拔出敞障板及插入舔 秘叛,这秘系统邋鬻融| 擞支持热嫌拔系统浅毫可攘系统。 澎汪丈学预士学链论文 熟插拔即允许麟电拔糖工作单扳,其最基本的目的是凄求带电拔插单板面不 影响系统运行,以便维修故障板戏重新配置系统;热插拔技术可以提供裔计划媳 访浔热捶拨设备,竞诲奁不搏极戡稷少霉簧操搏入曼参与鳃嬉况下,实瑰敬薅恢 复和系统重新配鼹;热插拔技术w 以提供高可靠成用,当单板出现故障时,系统 农不藤繇运行蘸壤滚下鑫渤隔离敬障板。 热插缓系统的缀剐由低到高分为三稀:基本热插援系统,它爨有基本热插拔 要求的性能:完全热插拔系统,它可以对热捶拔单板进行动态配爨;高可靠系统, 它利用高可靠平台实现对硬件的熨高级别的控制。 热切换是系统板对总线控制权的切换。主烹模式下的切换鼹指两段总线分 鬟爨疆袭系统板控东l 切换为琵段戆线叁一块系绞投控毒;主扶模式下懿锈换是 指两条总线由一条块系统板控制切换为由另一块系统板控制。这魑切换可以是协 商的,也可以是强翻的。 转0 酗a i na d o m a i nb 图2 ic p c j 系统 如图2 ,l 所示,c i c l 系统中有】6 个槽位,其巾2 个为系统扳榴傲,2 个为桥板 热插拔控铷板槽侮,其余1 2 个为接口板的稽位。桥板热诵拔控制板一般统称为 浙江大学硕士学位论文 桥板,简写为h s c 板。热捅拔控制器( h s c ) 是整个高性能系统硬件部分的核心。 热插拔控铡器还攘潮羞磁盘驱动嚣豹亳溅,醛霞磁盘豹热捶拔。它毽提袋港毫瀑 供应的状态和控制。它还控制着l e d 显示檄,每个插槽都对应有三种颜色的灯。 接口极也称为i o 板。一个系统板对_ | 焱一个桥板,组成一对,所以系统共有 两对系统缀桥板澍。c p c i 系统有两段c p c i 总线,每段总线上有6 块i o 板,这两 段总线可以分别出系统扳a 和b 控制,也可以统一融系统扳a 或b 之进行控制。这 两段总线通过p 2 p 桥在热捅拔控制器的控制下连接到系统板上。一个p 2 p 桥是在系 绞叛上,爨夕 一个是在嬲c 糖扳土。 这两蔽总线可叛存簿释工作方式: i 两块系统裰平时独立工 擘,在其中块系统板出现蔽障斡情况下,爨一块 板可以通过与之配对的桥板接替放障板管理的c p c i 总线,能前提条件是每块系统 板的负荷不能太大,避免在一块系统板出蜕故障,另一块扳管理两条总线时出现 受蘅过重聪系统崩溃。 2 两块系统板平时是主备工作,一块系统板除了管理自己一侧的总线,还 逶篷耩扳罄毽另一壤熬慧线。当该辩系统馥帮橇援窭瑷鼓簿豹霹镞,蠢舅愆系 统板和桥板接管熬个系统j 以太网和串口连接是两个系统的唯一的交流途径,也 藏楚h e a r t b e a t 协议和c h e c k p o i n t 协议巍行驰通遵。 所有的接口板在硬件上都支持热插拔,可以通过系统板桥板对来控制该接 口援的插入帮拔戡。螃扳上没畜处理嚣,宠全出与之相对鲍系统叛来控割。 2 。3 系绫王俸滚凝 系统的工作流程包括系统:正常运行流程,接口板的热插拔流程和系统板的 切换流程。 2 3 ,系统正常运行流裰 在瑟嚣溃况下,本系绞毒嚣秘王作校式: 1 3 浙江大学硕士学位论文 1 主主( a c t i v e a c t i v e ) 模式 两块系统板分别控制总线a 和总线b ,就像两个相互独立的系统,独立 工作。主主模式下的系统逻辑图如图2 2 所示。两个系统的状态通过 h e a r t b e a t 协议和c h e c k p o i n t 协议定期互相备份对方对接口板的控制和操 作的相关进程和内存状态。当其中一个系统在约定的时间内没有收到对方的 h e a r t b e a t 的时候,则认为对方系统已经崩溃,通过对方的板桥接替故障板 管理的c p c i 总线,并启动最近备份过来的进程继续对故障板对应的接口板 进行操作,从而实现对总线a 和总线b 的接口板进行同时管理。 需要注意的是,每块系统板的负荷不能太大,避免在块系统板出现故 障以后,另外一块要同时管理两条总线的接口板时,负荷过重而导致系统崩 溃。 0 0 m 嚣m a- r l a i nb 图2 2 主主模式下的系统逻辑图 2 主从( a c t i v e s t a n d b y ) 模式 两块系统板也是同时在工作,但一块工作在主模式下,真正对总线a 和 总线b 的接口板进行管理,另外一块则是工作在从模式,或者况空闲模式下, 它进行的操作都是空操作。主从模式下的系统逻辑罔如图2 3 所示。工作 在主模式下的系统板( 简称主系统) 通过i l e a r t b e a t 协议和c h e c k p o in t 协 议把系统1 - l i 关i t , j x , j 接口板控制和操作的进程和内存状态备份到工作在从模 式下的系统板( 简称从系统) 上。 j 努 江太学硕士学位论文 d o m a i nad o m a i n 鏊 图2 3 主从模式下的系统逻辑图 滏从系绞在援定豹慰闯内没有收到主系统豹h e a r t b e a t 时,便认为主系 统已经崩溃,并发出生系统融经崩溃的警报。然后它强行取得两条总线的板 羲懿按潮投,并窟动装瑟匏餐蹬遂纛数搽,实疆菝蘩主系绕继续工像。 当主系统在规定的时间内没有收到从系统的h e a r t b e a t 时,也认为从系 统已经崩溃,并发凄腋系统醴经霸渍的警报。 2 3 2 接口板的热插拔流程 接口叛戆热掇入过程:接口投的热插入过程中会产生一个捶入孛甑, s c 驱动 器得到这个插入中断后,对它进行加电,检测等处理,然后向拓扑管理器报告现 程总线上豹禧谴稳怠。e n u m 楚褒壤旁也臻获这令中薮,并舞蠹孛薮源,褥到孛 断向量,调用服务程序对接口板避行资源配置,然后通知事件管理器。同时槽组 系统自动船载驱渤程亭穰浃。匏时接日板已经可疆正常锭糟了。 对于接口板的拔出,这些程序的操作讵好相反。 一2 3 。3 系缝摄的甥按溘援 浙江大学硕士学位论文 想得到总线控制权的系统产生一个中断给当前正在控制总线的主系统。如果 主系统可以处理这个中断,它可以在h s c 设置握手位响应。从系统检测到握手位 后,便设置h s c 的控制位,得到总线的控制权,同时启动最新的进程和设备状况 备份数据来实现对总线的软件控制。 如果主系统因为崩溃或者被挂起而无法响应这个要求切换的中断,想要控制 总线的系统便通过设置强制切换位来完成这个切换顺序。 在主从配置下,一块系统板是连接到两个总线域上,另一块则与两个域都 分离。当主系统崩溃时,h e a r t b e a t 协议检测到这个情况,这个从系统切换总线 桥,控制总线,用最近一次通过c h e c k p o i n t 备份过来的最新的进程和设备状况备 份数据来继续系统的操作,从而达到最小的数据损失。 在主主配置下,情况也类似,只不过两个系统都有对方的最近拓扑信息备 份,切换后,只要启动对方的备份就可以了,因为自己的这部分已经在运行了。 2 4 系统模块组成结构 2 4 1 系统整体结构 系统的整体结构如图2 4 所示 高性能软件是基于操作系统的。本系统的基本热插拔服务是由操作系统提供 支持的。操作系统动态加载和动态卸载驱动程序,并重新分配资源给驱动程序, 这些是热插拔服务所必需的。这部分包括h s c 驱动程序( h o ts w a pc o n t r 0 1 ) 和 p c i 服务程序。 浙江大学硕士学位论文 图2 4 高可用性软件结构 c p c i 热插拔提供了一个更高级的热插拔版本,叫做完全热插拔( f u l lh o t s w a p ) 。完全热插拔增强了系统的热插拔操作者界面功能,它的容错性更好。完 全热插拔发信号( e n u md r i v e r 的功能) 来通知板的插入和拔出事件,使系统资 源能够被自动地重新配置。 h a 加强驱动程序( h ah a r d e n e dd r i v e r s ) 使系统更加强壮,可用性更强。 它主要带有出错检测和错误处理的功能。 2 4 2 驱动程序模块组 1 e n u m 中断处理程序 ;n u m 中断处理列应与接口板插入拔出的中断处理鞋序,它能够根捌奇存器 浙江大学硕士学位论文 判断出中断源,调用p c i 热插拔服务程序,对系统资源进行重新配置,再通知事 件管理器。 主要的功能函数: e n u m 中断处理程序 2 热插拔控制器( h s c ) 驱动程序 h s c 驱动程序捕获h s c 发出的中断,然后提供槽位,电源供应,风扇,l e d 板等的控制接口。它主要是被拓扑管理器,外设管理器调用的。h s c 驱动程序提 供槽位连接,如果槽位返回健康状态,它就报告连接成功信息。 主要的功能函数有: 槽位的上电 槽位的下电 槽位的连接 槽位的l e d 显示控制 电源供应管理( 调用外设管理器) 风扇转速的控制( 调用外设管理器) 警告l e d 的控制( 调用外设管理器) 3 设备驱动程序 这部分主要是接口板的驱动程序,对接口板进行读写等i 0 操作。它需要做 些修改来支持热插拔和高可用性。当没有设备插入或者拔出的时候,保持沉默的 状态。驱动程序应该支持在热插入后进行初始化,而不需要设备b o s 的支持。 驱动程序需要支持空闲操作模式,即在没有任何硬件的情况下支持一个设备 节点。这个在系统热切换的时候用到的。在空闲模式下,一切对设备 0 操作都 被丢弃。 设备驱动程序提供诊断接口,在运行时提供出错检测和在接口板插入之后 并且在把接口扳驱动程序i f 式可用之i 拊剥接【 板进行测试。驱动程序在正常操作 一_ 卜。向系统m 占报告铝情况。 浙江大学硕士学位论文 主要功能函数: 和普通驱动程序类似的“l e o p e r a t i o n 结构中的各项操作 4 p o i 热插拔服务程序 p c i 热插拔服务程序提供了一系列公共服务程序,在系统初始化或者设备被 热插拔的时候被驱动程序调用。它还维护着设备层次树,当前的所有设备和设备 资源如i 0 和内存空间地址都在树中。服务程序提供p c i 控制头的访问方法和 e n u m 支持,用来发现资源需求,分配i o 和内存空间,初始化基址寄存器等。 当设备被拔出时,设备驱动程序调用服务程序来释放资源。驱动程序也调用 服务程序得到设备的中断级别分配。 拓扑管理器也调用服务程序接口,用来建立设备树和地址空间的检查点,以 便将主系统的状态备份到从系统中。 主要功能函数: 插入中断处理程序 检查槽位情况,确定系统资源需求 分配i o 和内存空间等系统资源 释放i o 和内存空间等系统资源 内存区域的直接读写 2 4 3 系统核心模块组 1 系统日志 系统日志接口是通知或者警报的核心部分。所有的设备驱动程序、h a 进程和 服务、基于h a 的应用程序都调用这个接口,来记录出错情况或者其他用来诊断 系统的有用信息。系统日志保存在持久媒体中,并且把一些出错或者警报信息传 给相关的进程,例如事件管理器。 系统日志的界面模块也可以通过读取这些同志,来通知用户当前的系统运行 情况。 主要功能函数: f 志的添加 f | 志的删除 9 浙江太学硕士学位论文 日志的检索 日志事件的发送( 发送给事件管理器) 2 拓扑管理 拓扑管理器维护一个持久化的拓扑数据库,内容包括该系统板所管理的c p c i 总线的接口板插槽状态和总线的拥有者状态。在系统初始化时,这些状态被用来 控制槽位电源和设备的启动。当检测到有设备错误时,事件管理器发消息给拓扑 管理器,让它把该设备的电源切断。接到消息后,拓扑管理器把这条命令纪录下 来,然后调用h s c 驱动程序来执行这个操作。 拓扑管理器不但运行在主系统中,也运行在从系统中。从系统的拓扑管理器 维护着从主系统通过h e a r t b e a t 和c h e c k p o i n t 协议备份过来的拓扑数据库的拷 贝。在主主模式下,每个拓扑管理器维护着自己的拓扑和对方拓扑的备份。 当有设备热插入时,h s c 驱动程序就把这个事件通知给拓扑管理器。拓扑管 理器就检查数据库,看这个槽位是否已经上电了,是否需要重新启动,或者在线 状态。如果这个槽位在在线状态,拓扑管理器就让h s c 驱动程序去连接这个槽位, 并且通知事件管理器。如果这个槽位不是在在线状态,事件管理器就去通知相关 的进程。 主要功能函数 系统拓扑状态的建立( 系统初始化时调用) 系统拓扑状态的取得,包括各种设备的状态 系统拓扑状态的修改,包括各种设备的状态 槽位电源的取得上电下电( 调用h s c 驱动程序) 热插入时槽位的连接( 调用h s c 驱动程序) 3 事件管理 事件管理器是被那些系统服务,例如h e a r t b e a t 协议,驱动程序,p c i 服务 程序或拓扑管理器的出错或者警告触发。事件管理器处理每个类型的事件的步骤 是基于事件规则数掘库的。这些规则是可以任意更新的,而不需要重新编译事件 管理器,它们是在事件出现时被动态搜索和解释的。 m 件管理器是作为系统的守护进程自系统启动后就一直运行,它是系统配 置管理的核心。它接收随时可能发生变化的设备情况例如,设备的插入和拔出 浙江大学硕士学位论文 等。事件管理器的作用就是确定这些设备变动以后,会对系统会造成什么影响, 然后采取相应的措施来响应这些变化。这些措施是和每种设备的各种事件相对应 的。 主要功能模块: 添加事件规则 删除事件规则 修改事件规则 根据事件的类型执行相应的规则 4 h e a r t b e a t 协议和c h e c k p on t 协议 1 1h e a r t b e a t 协议 h e a r t b e a t 协议通过接收一个对等的连接主机发送来的周期信息,来监测对 方是否崩溃。h e a r t b e a t 信息的周期是可以任意的,但是要保证对方崩溃能够被 及时检测到。为了保险起见,h e a r t b e a t 信息一般通过两条不同的冗余途径来发 送。当其中一条途径出错时,对方崩溃也能被检测到。 主要功能函数: 发送h e a r t b e a t 信息 接受h e a r t b e a t 信息 未及时接收到h e a r t b e a t 时的切换处理,向事件管理器发送事件 2 ) c h e c k p o i n t 协议 c h e c k p o i n t 协议是建立在h e a r t b e a t 协议的基础之上的。c h e c k p o i n ta p i 提供了两个系统之间持久化的镜像内存块的应用。 应用程序调用c h e c k p o i n ta p i 来分配一块内存,两个系统都有这样内存块。 c h e c k p o i n t 协议来维护两个系统的内存块的致性。c h e c k p o i n ta p i 提供对内 存块的读和写等访问操作。 也可以根据需要把这个持久化的内存块被保存到磁盘中。 主要功能函数: c h e c k p o in t 内存块的分配 内核内存块读取写入 3 ) 守护进程 浙江大学硕士学位论文 通常,h e a r t b e a t 协议和c h e c k p o i n t 协议是运行在一起的。在系统启动时, 最先启动的部分就是这个守护进程,然后再是拓扑管理器。 主要功能函数: 调用h e a r t b e a t 协议和c h e c k p o i n t 协议的守护进程,维护系统的信息交换 5 应用程序管理 应用程序管理器的工作是基于应用程序列表和描述数据库的。应用程序在启 动时,就调用管理器的注册a p i 来注册自己。然后每隔一定时间调用a p i 把自己 的运行状态通知给应用程序管理器。 如果在规定的时间内,应用程序没有发送运行状态给管理器。管理器便发信 号给应用程序,或者重新启动这个应用程序。同时,管理器发消息给系统管理界 面,通知用户。 主要功能函数: 注册应用程序( 供h a 应用程序初始化时用) 添加应用程序状态记录( 供h a 应用程序运行时调用) 关闭应用程序 重新启动应用程序 应用程序的状态监控错误报告错误诊断修复报告 6 热切换管理 切换的顺序是从想得到控制权的系统开始的。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养护安全培训方式课件
- 家电营销实施方案(3篇)
- 初中高中消防安全培训课件
- 兴仁交通安全培训课件
- 创新开展安全培训课件
- 内涨式刹车课件
- 内河船舶安全培训记录课件
- 10爬山虎的脚 +公开课一等奖创新教学设计
- 化妆品安全知识培训心得
- 咳嗽变异性哮喘诊疗指南
- DB62-T 4913.1-2024温室气体排放核算方法与报告指南 第1部分:污水处理厂
- 手印鉴定书模板
- DB11T 065-2022 电气防火检测技术规范
- 人教版八年级历史上册第一次月考试题(附答案)第一单元
- 基本不等式课件-高三数学一轮复习
- DL∕T 2568-2022 电力行业数字化审计平台功能构件与技术要求
- 部编人教版《道德与法治》六年级上册第9课《知法守法 依法维权》精美课件(第1课时)
- 消防喷淋系统设计合同范本
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 山西省太原三十七中2023-2024学年九年级上学期月考物理试卷(10月份)
评论
0/150
提交评论