(计算机系统结构专业论文)机群操作系统中的高可用管理.pdf_第1页
(计算机系统结构专业论文)机群操作系统中的高可用管理.pdf_第2页
(计算机系统结构专业论文)机群操作系统中的高可用管理.pdf_第3页
(计算机系统结构专业论文)机群操作系统中的高可用管理.pdf_第4页
(计算机系统结构专业论文)机群操作系统中的高可用管理.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机系统结构专业论文)机群操作系统中的高可用管理.pdf.pdf 免费下载

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

文档简介

摘要 摘要 机群系统的优点是可扩展性好,但随着机群系统规模的增大,节点数目的增多,机 群系统整体的可靠性会相应降低。因此提高机群系统可用性的软件将成为机群操作系统 中必不可少的部分。特别是故障恢复手段对大规模系统和长时间运行的应用显得尤为重 要。另外,由于在机群操作系统中为每个子系统或子服务以及第三方应用独立维护自身 高可用所带来的系统复杂性、系统运行时资源的浪费以开发维护过程中人员浪费与困难 导致了机群操作系统中需要开发独立的高可用管理软件用以维护其它子系统或应用的 高可用性。 曙光4 0 0 0 机群操作系统是一个集成的、一体化的机群中间件系统,高可用管理软 件h a 触发器是这个中间件系统的一个重要组成部分,我们称之为机群操作系统的一个 重要“服务”。该服务是从原有的机群系统软件中抽取出来的可以共享的服务之一,它 负责小规模应用和服务的高可用管理。h a 触发器软件的设计采用了基于服务和一体化构 件的思想,以基于c o r b a 的分布式构件方式实现,具有良好的可扩展性、高可用性和系 统的包容性。 本文以提高机群系统中应用和服务的可用性为目的,以曙光4 0 0 0 机群操作系统为工 程背景,探讨设计和实现机群操作系统中高可用管理软件过程中面临的关键问题及其解 决方案。论文首先介绍的是课题背景、高可用研究目和高可用基本理论等相关内容。接 着介绍了曙光4 0 0 0 机群操作系统的高可用性设计并提出了高可用管理在其中面临的关 键问题。然后围绕这几个问题设计并实现了机群系统的高可用管理软件h a 触发器。最后 对高可用管理带来的应用和服务的可用性影响进行了量化建模分析。 关键词:机群机群操作系统构件高可用性建模 a b s t r a c t t h ea d v a n t a g eo fc l u s t e rs y s t e mi ss c a l a b i l i t y b u tw i t ht h en u m b e ro fc l u s t e ri n c r e a s i n g , t h ew h o l ed e p e n d a b i l i t yo fc l u s t e rw i l ld e c r e a s e s o ,t h eh i g ha v a i l a b i l i t ys o f t w a r ew i l lb ea l l i n e v i t a b l ep a r to fc l u s t e ro p e r a t i n gs y s t e m t h er e c o v e r ym e t h o di se s p e c i a l l yi m p o r t a n tt ot h e a p p l i c a t i o n t h a ti sl a r g es c a l ea n dw i l lr u nl o n gt i m e o nt h eo t h e rh a n d ,t h a te v e r ys u b s y s t e m o rs u bs e r v i c et a k ec a r eo ft h e mh i g ha v a i l a b i l i t yi nc l u s t e ro p e r a t i n gs y s t e mi sc o m p l e xa n d w i l lr e s u l ti nt h ew a s t e ro fr e s o u r c eo f s y s t e ma n dl a b o r i nt h ed e v e l o p m e n ta n dr u np r o c e s s s ot h ei n d e p e n d e n tm a n a g e m e n ts o f t w a r ei sn e e d e dt om a i n t a i nt h eh i g ha v a i l a b i l i t yo f s u b s y s t e m t h e “d a w n i n g4 0 0 0 c l u s t e ro p e r a t i n gs y s t e mi sa ni n t e g r a t e dm i d d l e w a r es y s t e m h a t r i g e rb e l o n g st o i ta n di sc a l l e das e r v i c e b e i n gt a k e no u tf r o mt h ep a s tc l u s t e rs y s t e m s o f t w a r e ,t h i ss e r v i c ec a nb es h a r e db yd i f f e r e n ts y s t e mc o m p o n e n t s h at r i g e ri su s e f u lf o r m a n a g i n g t h eh i g ha v a i l a b i l i t yo f a p p l i c a t i o n sa n d s e r v i c e sw h i c ha r es m a l ls c a l a r t h ea u t h o r a d o p t st h ei d e ao f s e r v i c e - b a s e dd e s i g na n dc o m p o n e n t b a s e dd e v e l o p m e n tt od e s i g nt h eh a t r i g e r a n dt o i m p l e m e n ti t w i t hc o r b a t h eh a t r i g e r h a st h ec h a r a c t e r i s t i co fh j l g h a v a i l a b i l i t y , s e a l a b i l i t y , c o m p a t i b i l i t ya n d s oo n t h ep u r p o s eo ft h i sp a p e ri st oi n c r e a s i n gt h es e r v i c ea v a i l a b i l i t yi nc l u s t e rs y s t e m a n d t h ep r o j e c tc o n t e x ti st h ed a w n i n g4 0 0 0c l u s t e ro p e r a t i o ns y s t e m i td i s c u s s e dt h ek e y p r o b l e ma n dt h em e t h o r d t h a ts o l v ei ti nt h ed e s i g n i n ga n dd e v e l o p m e n to fh i g ha v a i l a b i l i t y s o f t w a r es e r v i c em a n a g e m e n ts o f t w a r eo fc l u s t e ro p e r a t i n gs y s t e m s i nt h eb e g i n n i n g ,t h i s p a p e r i n t r o d u c e si t sb a c k g r o u n d 山ep u r p o s eo fr e s e a r c h i n ga n dh i g ha v a i l a b i l i t yb a s i ct h e o r y t h e ni td e s c r i b e st h eh i g ha v a i l a b i l i t yd e s i g n i n go fd a w n i n g4 0 0 0o p e r a t i n gs y s t e ma n dp u t f o r w a r d st h ek e yp r o b l e mo fh i 曲a v a i l a b i l i t ya d m i s v a f i o n i nc l u s t e r o p e r a t i n gs y s t e m f u r t h e r m o r e ,w ed e s i g n e dh at r i g g e ra r c h i t e c t u r es u r r o u d i n g t h e s ep r o b l e m a tl a s t ,w eu s e d t h em a t hm o d e lt oa n a l y z et h ee f f e c to fs e r v i c ea v a i l a b i l i t yt h a th at r i g g e rb r o u g h tf o r t h q u a n t i t a t i v e l y k e yw o r d :c l u s t e r , h i g ha v a i l a b i l i t y , c o m p o n e n t ,m o d e l i i 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得 的研究成果。就我所知,除了文中特别加以标注和致谢的地方外,论文中 不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研 究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 作者签名:刘遣毕 日期:如峰7 f 关于论文使用授权的说明 中国科学院计算技术研究所有权处理、保留送交论文的复印件,允许 论文被查阅和借阅:并可以公布论文的全部或部分内容,可以采用影印、 缩印或其它复制手段保存该论文。 作者签名:翊建擘导师签名:衄日期:2 。钦7f 第一章引言 1 1 课题背景 第一章 机群是一组物理上通过高速互连网连接在一起的计算机集合,通过附加的机群系统 软件,互相协作,作为一个整体对外提供服务,其中每个计算机称为一个节点。机群系 统的优点是可扩展性好。但随着机群系统规模的增大,节点数目的增多,机群系统整体 的可靠性会相应降低。 随着i n t e m e t 应用的日益普及,尤其是在i n t e m e t 上提供商业服务的趋势的迅速发 展,人们对计算机服务系统的可用性提出了更高的要求。这是因为服务系统的可用性程 度对服务提供者的商业利益具有重大影响。 为此提高机群系统可用性的软件成为机群操作系统中必不可少的部分。重要的应用 软件需要很多人来维持其良好的状态,持续地监控其运行以保证正常的运作。为了提高 企业中计算机应用的可靠性和连续性,必须增进系统的稳定性及自我修复的能力,使计 算机安全可靠地保持每年3 6 5 天,每天二十四小时永不停止的服务。因此,要尽可能避 免因故障发生停机。故障一般可分为计划中故障和非计划中故障,计划中故障是根据工 作安排有意停止正常工作,包括应用软件升级,操作系统升级,机器硬件设备正常维护, 数据各份等:非计划中故障是由于发生意外事件而停止工作,包括机器硬件故障,操作 系统崩溃,应用软件出错,网络故障等。 本文的研究是在机群硬件环境下,采用分布式构件服务的技术开发机群操作系统的 过程中展开的。因此本小节首先详细描述了机群系统的特征、优势以及需要解决的关键 问题,从而可以看出研究高可用性是开发机群操作系统面临的挑战性问题之一。紧接着 介绍了分布式构件技术基本思想及其为软件开发所带来的好处。 1 1 1 机群系统 1 1 1 1 机群系统重要特征 机群系统( c l u s t e r ) 其卓越的性价比和良好的可扩展性等因素代表了并行计算机体 系结构发展的方向,成为人们关注的焦点。例如,d i g i t a l 的t r u c l u s t e r 、i b m 的s p 2 和 b e r k l e y 的n o w 等。机群系统的重要特征主要有: ( 1 ) 机群的每个节点都是一个完整的计算机,既可以是对称多处理机型( s m p ) 也可以是一台p c 。但没有某些外围设备( 如监视器、键盘、鼠标) ,有时称 这类节点为“无头工作站”。 1 帆群操作系统中的高可用管理 ( 2 ) 节点通过廉价的商用网络连接,如以太网、f d d i 、f i b e r c h a n n e l 、a t m 交 换网等,有时也可使用专用网络。 ( 3 ) 节点之间是通过i o 总线连接的松耦合关系,这有别于大规模并行处理机 m p p 通过内存总线连接的紧耦合关系。 ( 4 ) 节点拥有本地磁盘也使机群与m p p 不同,m p p 是共享磁盘的。 ( 5 ) 完整的操作系统驻留在每个机群节点上,而m p p 的节点仅运行微内核系统。 1 1 1 2 机群系统优点 机群系统之所以成为计算机体系结构的发展方向,主要在于它具有其它并行系统所 无法比拟的优点,能够充分满足我们对计算机处理能力不断增长的需求。 ( 1 ) 性能价格比机群系统主要由廉价的商用系统组成,在性价比上遵循m o o r e 定律,因此机群系统的性价比要t e p v p 超级计算机和m p p 系统高出很多。 在相同运算峰值速度要求下,购买台p v p 系统或m p p 系统,需要花费上 千万美元,而购买机嚣系统在价格上要少一二个数量级。 ( 2 ) 易使用性机群的每个节点都是一个传统的计算机平台,用户能够在其熟悉 且成熟的环境下开发并运行自己的程序。对于并行程序,机群在开发与执行 方面并不比基于消息传递的m p p 系统复杂。此外,很多数据库产品也能运 行在机群系统之上,o n i b md b 2 p a r a l l e le d i t i o n ,o r a c l e ,s y b r s e ( 3 ) 可扩展性机群系统能够很容易地通过添加节点的方式来达到计算性能的提 高。在系统规模扩大的同时提高系统性能这一点上,其它系统很难达到与机 群相同的效果。例如,s m p 的共享内存即为瓶颈,许多独立运行的串行程 序在s m p 上要争夺内存的使用,而在机群上这些串行程序可以使用本地内 存。 ( 4 ) 可用性传统的单一系统,如大型主机、容错系统等,依赖昂贵的配置与设 计来实现高可用性,而机群系统能够通过冗余的廉价商用部件为用户提供高 可用性。容错系统具有高的可用性,而对它的升级却需要很大的开销。m p p 系统的情形与容错系统正好相反,它的可用性随着系统规模的扩大而降低。 只有机群系统能够保持系统可扩展性的同时提高系统的可用性。 1 1 1 3 机群系统带来的挑战 机群系统给我们带来的好处是不言而喻的。然而,在我们获得利益的同时,也迎来 了挑战:如何管理好由网络连接而成的松耦合计算节点,如何使得它们有效的协调工作, 是研究与实现机群系统首先要解决的问题。在开发一个机群系统时应该处理好以下四个 方面: 2 第一章引言 ( 1 ) 单一系统映象我们并不能简单地将由以太网连接的一组工作站称为机群。 一个机群是一个单一的系统。举一个例子,一台工作站的c p u 运算速度为 3 0 0 m f l o p s ,5 1 2 m b 内存,4 g b 的磁盘,并且支持5 0 个用户和l ,0 0 0 个进 程。有1 0 0 个如此工作站组成的机群系统将等效于拥有个c p u 运算速度 为3 0 g f l o p s 的“巨型工作站”,它有5 0 g b 内存,4 0 0 g b 磁盘,能够支持 5 ,0 0 0 个用户并同时运行1 0 0 ,0 0 0 进程。如何达到如此效果呢? 这主要依赖于 机群系统中单一系统映象( s s i ) 技术来解决这一问题,包括单一文件系统、 单一登录点、单一控制点等。 ( 2 ) 高效通信处理好机群系统各节点间高效的通信较一个专用的i v l p p 系统更 具难度。这主要有三个方面的原因:机群系统的节点比m p p 的节点复杂度 高,不能象m p p 紧凑地进行包传输;通信线路较m p p 的线路长,因此必须 解决好通信延迟、可靠性和时钟同步等问题;机群系统采用的是商用网络( 如 以太网、a t m 等) 和标准的通信协议( 如t c p f l p ) ,因此,机群通信系统 的效率问题是不容回避的。 ( 3 ) 作业管理和资源管理传统的工作站和p c 机的使用率是十分低下的,机群 要求系统具有高的使用率。机群作业管理系统软件负责提供批处理、负载平 衡、多种作业的支持;而资源管理软件是对分区、任务和通信的管理。 ( 4 ) 高可用性机群系统由大量冗余的处理器、内存、磁盘、i o 设备、网络等 组成。然而如何挖掘系统潜力,尽量提高系统的可用性,一定的机制必须 被采用。 编程环境和应用 可用性和单一系统映象基础设施 o so s o s 节点节点节点 li l商品化或专用网络 图1 1 机群的典型体系结构 机群的典型体系结构如图1 1 所示,其中可用性子系统提供高可用的服务,单一系 统映象层提供单一登录点、单一文件系统、单一控制点、单一作业管理等功能。编程 环境及应用层包含并行的编程环境、w e b 应用和数据库应用等。 机群操作系统中的高可用管理 1 1 ,2 机群操作系统 自机群诞生至今,为解决机群系统带来的各种挑战问题,出现了大量的机群系统软 件。机群操作系统就是建立在节点操作系统基础之上,机群中最基本的一层系统软件的 集合,它支持单一系统映象、可用性、并行性、通信和负载平衡,实现对机群资源 的配置、管理、调度、控制和监视,并提供用户使用机群必需的环境和工具。机群操作 系统诞生至今,尚未有统一的定义。典型的机群操作系统有l s f 、i b ms p 系列、b e o w u l f 机群等。 由p l a t f o r m 公司开发的l s f 多机群系统使多个异构的计算机能够通过局域网或广域 网共享计算资源,并能够为用户提供对资源的透明访问。l s f 现在主要支持以下三种大 规模资源共享: ( 1 ) 部门内部和部门之间的资源共享; ( 2 ) 较小部门的数据中心的共享: ( 3 ) 通过松散连接的站点共享资源。 l s f 将多个机群连接在起,一个机群往往是企业中的一个部门,每个机群中有一 个主控机,此主控机负责收集该机群系统中的各台主机的负载信息,并且根据各主机的 负载信息情况对作业进行调度。各个机群系统之间根据定的策略进行资源共享。在每 个主控机上定义了该机群能共享哪些机群系统中的资源。当用户发送了一个任务请求 时,l s f 系统能将此任务发送到对应的资源所在地,并根据调度策略选择负载较轻的机 器对此任务进行处理。当多个用户请求同一个资源时,根据用户的请求优先级来确保优 先级高的用户的紧急任务能首先得到满足。 i b ms p 系列被用户公认为好用且高效的机群系统,它的机群操作系统p s s p ( p a r a l l e l s y s t e ms u p p o r tp r o g r a m ) 是i b ma i x 操作系统在机群上的扩展,将许多机群管理的 功能内嵌到单机操作系统,机群操作系统与节点操作系统的界线模糊。p s s p 是一种开放 式的结构,提供了大量的a p i ,使得用户可以根据自己的需要扩展管理应用;这种开放 结构屏蔽了操作细节,管理员或编程员不需要对系统有深入的了解。p s s p 在设计时,对 于系统的高可用性十分重视,因此在p s s p 中拥有许多用于保证系统高可用性的功能,如 对高可用控制工作站( h a c w s ) 配置的管理、服务组( g r o u p s e r v i c e s ) 的管理、事件管理、 故障管理和日志管理等等,它们协同工作,共同保证了s p 2 正常的运行。总的来说,p s s p 具有以下的优点:一是功能强大,提供了对s p 2 全过程的管理;二是采用各种技术保证 了系统的高可用性;三是提供了开放的接口,具有很好的扩展性。然而,p s s p 也存在一 些不足:一是过于复杂,用户难于掌握其操作,没有提供一个统一、易操作的图形界面; 二是p s s p 与s p 2 密切相关,是s p 2 的专用软件,只能运行于i b m 3 7 0 、i b m 3 9 0 或i b m 5 9 0 上, 4 第一章引言 现在只支持a i x ,可移植性较差。 b e o w u l f 的定义是:将一堆商品化的硬件和下载的开放源码的软件组装成“个人超 级计算机”。b e o w u l f 机群以低价格、低性能的微机或p c 服务器,运行l i n u x 操作系统, 加上g m 、m p i 、p v m 、p b s 、c m s 等开放源码,和部分自行开发的软件,系统以自用 和科研为主,目前国内有中科院计算所、上海大学、大庆油田、华大基因等多家单位研 制了类似系统。这类系统有两大好处,一是价格便宜、拥有个人超级计算机的门槛低, 对促进应用从p c 提升到并行系统,研究开发并行应用软件大有益处:二是可利用i n t e l 处理器的高主频、快更新换代,对为数不少的不需要浮点性能、内存性能、i o 性能, 主要依赖主频的应用,可获得较高的性能,大大推广了高性能计算机的应用和用户群。 目前国外的d o l p h i n 、a d l 、l i n u x n e t w o r x 、国内的曙光等企业也将这类系统列为主要 产品,美国加州理工、j p l 、康乃尔大学、日本东京大学等也推出大型b e o w u l f 系统, 甚至在超级计算机t o p 5 0 0 中占有一席之地。 1 1 ,3 中间件与分布式构件技术 构件是一种前沿的软件设计思想,对整个软件行业的发展有着至关重要的推动作 用。而中间件作为应用软件系统集成的关键技术,保证了构件化思想的实施,并为构件 提供了真正的运行空间。中间件领域工业化标准的制定、统及实现,使基于构件的应 用开发成为可能。反过来,构件对新一代中间件产品中也起到促进作用。 h a 触发器所属的曙光4 0 0 0 机群操作系统是一个集成的、一体化的机群中间件系 统。该系统采用分布式构件技术,系统中各功能子系统或模块被封装成不同的构件,构 件间以服务的形式实现彼此间位置透明的交互。通过这种方式实现的功能可以以服务的 形式提供给机群的用户,如g u i 客户端、网格操作系统以及机群重点应用。因此,本节 介绍中间件和分布式构件的基本思想和特征。 1 1 3 1 中间件 计算机技术迅速发展。从硬件技术看,c p u 速度越来越高,处理能力越来越强; 从软件技术看,应用程序的规模不断扩大,特别是i n t e r n e t 及w w w 的出现,使计算机 的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一 代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台( 如 p c ,工作站,小型机等) ,在这些硬件平台上又存在各种各样的系统软件( 如不同的操作 系统、数据库、语言编译器等) ,以及多种风格各异的用户界面,这些硬件系统平台还 可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应 用是一个非常现实而困难的问题。为解决分布异构问题,人们提出了中间件( m i d d l e w a r e 1 的概念 s 机群操作系统中的高可用管理 中问件是位于平台( 硬件和操作系统) 和应用之间的通用服务,如图l 所示,这些服 务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口 和协议规范的多种实现。 f。分布妻粱篓服务, 图1 2 中间件 也许很难给中问件一个严格的定义,但中间件应具有如下的一些特点: 满足大量应用的需要 运行于多种硬件和o s 平台 支持分布式计算,提供跨网络、硬件和o s 平台的透明性的应用或服务的 交互 支持标准的协议 支持标准的接口 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多 标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要, 中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和 系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接e l 定义不变, 应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。 中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件 产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上, 对中间件的分类也会有所不同。由于中间件需要屏蔽分布式环境中异构的操作系统和网 络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基 于目的和实现机制的不同,我们将平台分为以下主要几类: 远程过程调用( r e m o t ep r o c e d u r ec a l l ) 面向消息的中间件( m e s s a g e o r i e n t e dm i d d l e w a r e ) 对象请求代理( o b j e c tr e q u e s tb r o k e r s ) 第一章引言 它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在 这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事 务处理监控器、分布式数据访问、对象事务管理器o t m 等。平台为上层应用屏蔽了异 构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件 等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时, 框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执 行流程、对系统级a p i 的调用等,所有这些由框架负责完成。因此,基于中间件开发的 应用具有良好的可扩充性、易管理性、高可用性和可移植性。 1 1 3 2 构件 分布式构件技术随着网络和面向对象技术的发展而不断地成熟。面向对象技术对工 业软件开发过程有着重要影响,但是,面向对象编程在软件生产效率和可重用性上不能 达到满意的效果,由此触发了构件( c o m p o n e n t ) 技术。构件技术通过封装一定的功能 来提供第三方构件,构件本身不需编程改动就能被采用或重用,对外提供服务。构件通 常比传统的对象具有更大的粒度,这种特性使得构件能够复合多个对象的功能,对外提 供服务。与传统的计算服务模式不同,分布式构件之间的关系是对称的,不同构件之间 可以位置透明、语言独立和平台独立地互相发送消息,请求和提供服务。 著名的b r o w n 和w a l l n a u 将构件定义为“一个非平凡的、几乎独立的、可替换的系 统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”。o m g 的定义 1 2 j 通俗、详细一些:构件是一个物理的、可替换的系统组成部分,它封装了实现体并且提 供了对一组接口的实现方法。构件表示了系统实现体的一个物理片段,包括软件代码( 源 代码、二迸制代码或可执行代码) 或者等同体,例如脚本或命令文件。由此,构件自身 必须相容于接口且实现接口,接口表示了驻留在构件内的成分所实现的服务。构件实例 为客户端构件提供这些服务。 总之,构件应该具有以下几个基本属性或特性: 1 、构件是可独立配置的单元,因此构件必须自包容; 2 、构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界 没机会或没必要知道构件内部的实现细节; 3 、构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范, 用于与环境交互; 4 、构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当与 自身副本区别。 从以上四个属性可以看出,构件沿袭了对象的封装特性,但同时并不局限在个对 象,其内部可以封装一个或多个类、原型对象甚至过程,结构是灵活的。构件突出了自 机群操作系统中的高可用管理 包容和被包容的特性,这就是在软件工厂的软件开发生产线上作为零件的必要特征。构 件化对软件开发工程化是非常重要的,有了构件才能通过构件的组装、互连,实现软件 的工程化开发。 1 1 3 3 中间件与构件的关系 中间件是构件软件存在的基础,中间件促进了构件化软件。 1 、构件化软件开发应当是面向需求的,即设计者集中精力于业务逻辑本身,而不 必为分布式应用中的通信、效率、互操作、可靠性、容错性、完整性等大量与业务无直 接关系但又非常重要的问题,而耗费大量的精力。事实上,这些正是中间件所要解决的 问题,因此,基于中间件开发的应用真正是面向需求的,从本质上符合构件化设计的思 想。 2 、构件对外发生作用或构件间的交互,都是通过规范定义的接口进行,构件使用 者只需要知道构件的接口,而不关心其内部实现,这是设计与实现分开的关键。中间件 在分布交互模式上都规定了接口( 或类似) 机制,如i d l 就是描述接口的语言规范,从 早期的d c e 至i j 现在的c o r b a 、d c o m 、j a v a r m i 等都使用i d l 描述接口,所不同的只是 语言规范。客户访问服务( 或对象方法) 均通过接口进行,至于服务采用怎样的内部实 现、基于怎样的语言、甚至怎样的操作系统、数据库,开发者都不用关心。类似地,消 息队列也可作为分布交互的手段,消息的语法和语义定义保证了使用与实现的分离,使 用消息队列的客户或服务是不依赖于对方的。既然中间件能隔离设计与实现,能在分布 的环境中封装实现的细节,那么,基于中间件的构件开发也就是可能的。 3 、软件重用是构件化软件生产的根本目标之一,中间件提供了构件封装、构件交 互规则、构件与环境的隔离及构架设施等机制,这些都为软件重用提供了方便的解决方 案。另外,通过类似应用桥的机制,中间件可以建立访问过去应用的通道;或者在新的 中间件体系中建立特殊的运行容器,封装以往的应用,从而最终做到对应用遗产的继承 性重用。 4 、基于中间件的构件软件可以方便地进行管理,因为构件总可以通过方便的标识 机制进行划分,还可以使用构件库机制配合一些管理规则。例如,微软的c o m 就利用 w i n d o w s 系统注册表配合几种唯一标识构件的方式,实现构件的登记、注销、定位。 c o r b a 规范中有接口池、实现池等规范定义,配合应用登记管理的机制,也能对应用 构件实施管理。 总之,中间件作为存在于系统软件与应用之间的特殊层次,抽象了典型的应用模式, 从而使应用软件制造者可以更多地将思路放在业务逻辑中,并基于标准的形式进行开 发。一些工业标准的推出,进一步使中间件成为可复用构件的运行框架,加速了软件复 用的现实化进程。构件是一种前沿的软件设计思想,对整个软件行业的发展有着至关重 第一章引言 要的推动作用。而中间件作为应用软件系统集成的关键技术,保证了构件化思想的实施, 并为构件提供了真正的运行空间。中间件领域工业化标准的制定、统一及实现,使基于 构件的应用开发成为可能。反过来,构件对新一代中间件产品中也起到促进作用。 1 2 研究高可用的目的 表1 1 各行业平均停机费用表 商业运作每小时平均停机费用 通信:集中服务 s 1 0 0 m i l l i o n 金融:代理业务 $ 6 4 5 m i l l i o n 金融:信用卡销售授权 s 2 6 m i l l i o n 传媒:景点支付 $ 1 5 0 。0 0 0 零售:商品销售$ 1 4 0 ,0 0 0 运输:航空定票$ 8 9 ,5 0 0 传媒:票务销售$ 6 9 ,0 0 0 从上表可以看出,无论是计划内还是计划外停机所造成的停机费用,对商务或生产 力都有较大的直接影响,间接地顾客对企业诚信也会逐渐失去信心。所以提高系统的可 用性,成为当前企业界的迫切需要。它能够使企业避免不必要的损失,维护企业高品质 的形象。过去,银行、邮电等大单位通过购买专用的容错计算机实现高可用性。在这种 模式下,服务器死机时,需要人工操作来分析、排除错误;服务器恢复时,又需要各种 测试及恢复操作,这些都需要很长的时间。在这段时间内,前端的所有任务都必须停顿 下来以等待系统恢复,这一切都会造成企业难以估计的运营损失。随着开放系统的流行, 许多单位选择了通用计算机构成成本低而高效能的开放系统,他们也希望开放系统能提 供专用容错系统的许多优点,例如稳定的软件、硬件、数据库和操作方式。 研究高可用管理基于如下原因: 1 、机群环境是分布式的,需要寻求这类分布式计算环境下的高可用性解决方 案; 2 、当前有许多关键性的应用程序是基于l a n 或w a n 等网络环境的,需要研 究网络环境下的容错方案: 3 、关键性应用需要在错误检测和服务恢复的基础上,提供及早的报警系统, 从而缩短维修时间; 4 、需要长时间运行的商业任务一方面要求服务的连续性,一方面又能够容忍 几秒到几十秒的切换时间,因此采用高可用系统的解决方案能够获得更高的 性能价格比。 9 机群操作系统中豹高可用管理 应用的可用性还要求应用的数据不丢失,保证应用程序不问断运行。根据应用的可 用性要求,即商业不问断性( b u s i n e s sc o n t i n u i t y ) 的级别,应分为三种类型: 1 、磁带备份( t a p eb a c k u p ) 一是最常用的一种获得基本的商业不间断的方法。 信息首先备份在磁带上,再分散到各地进行存储。然而问题是这种方法需要 很多时间来记录数据,在这段时间中,很容易出现丢失。并且重组和传输也 要求数据不会很长。数据越多,所需时间越长。 2 、容错系统( f a u l tt o l e r a n ts y s t e m ) 依赖于硬软件的冗余。购买、使 用和维护容错系统均是很昂贵的。而且它不具灵活性。 3 、高可用系统( h i g ha v a i l a b i l i t ys y s t e m ) 一机群由n 个节点被连接到一起,作 为单一系统。高可用软件通过把发生硬软件错误的节点上的用户、应用和数 据交换到另一个节点上来提供高可用性。 早期容错技术是不彻底的,只能保证数据的完整性,不能保证系统的可靠运行。发 展至今的高可用系统主要面向联机事务处理一类的商业应用,系统的错误恢复时间在几 秒钟以内,错误恢复的实现上一般采用软硬件相结合的错误监测、错误诊断、系统重新 配置和恢复等策略,适用于对容错和实时性要求更高的应用。 1 3 课题内容 本课题的主要内容是:( 1 ) 设计和实现建立在“曙光4 0 0 0 机群操作系统”上的“h a 触发器”高可用管理软件;( 2 ) 结合设计和实现h a 触发器的实践,和国外研究开发分 布式高可用系统的经验,研究机群操作系统中高可用管理软件的应具有的功能,以及在 它的设计与实现中面临的关键问题与解决方案。 1 4 本文结构 本文是围绕着设计和实现机群操作系统中高可用管理软件面临的关键问题展开的。 第2 章简要介绍计算机系统的高可用性相关概念和术语。第3 章介绍曙光4 0 0 0 机群操作系 统的高可用性设计和高可用管理在其中面临的关键问题。第4 章围绕高可用管理面临的 关键问题,通过考察常用高可用管理软件结构,设计了曙光4 0 0 0 机群操作系统中的高可 用管理软件t q a 触发器体系结构,详细叙述了各个关键问题在h a 触发器中的设计与实 现。第5 章介绍h a 触发器的功能设计,详细叙述了h a 触发器运行时的关键流程。第6 章 对高可用管理带来的应用和服务的可用性影响进行了量化建模分析。本文最后一章对本 课题的工作进行了总结,并对未来的工作提出了建议。 1 0 第二章高可用基本理论 2 1 基本概念和术语 第二章高可用基本理论 可靠性理论中一般采用r a s 来定义系统环境健壮与完善性。r a s 即可靠性( r e l i a b i l i t y ) 、可用性( a v a i l a b i l i t y ) 和可维护陛( s e r v i e e a b i l i t y ) 。 可靠性通常是根据系统平均故障间隔时间( m e m at i m et of a i l u r e ,m t t f ) ,即平 均两次相邻故障之间的正常运行时间来衡量的。硬件设备、操作系统、应用软件等很多 因素都可能对系统的可靠性产生影响。如果系统中一个关键性部件的m t t f 较低,则将 引起整个系统的可靠性降低。因此,传统的容错机通常采用关键部件冗余的方法来提高 系统的可靠性。人们对可靠性的个附加要求是,应保证数据的完整性。每一个数据处 理系统都拥有一个数据存储机制,一旦数据存储使用该机制,则可靠的系统将能确保这 些数据不会遭到破坏。 可维护性衡量的是对系统或部件所提供的维护服务的时间,包括计划内的维护和不 可预知的维护。通常用平均修复时间( m e a n t i m e t or e p a i r ,m t t r ) 来衡量可维护性, 即从系统中断到恢复正常运行的平均时间。影响可服务性的包括预防性维护、故障监测、 现场支持、用户培训等多种因素。 在可靠性的基础上才能提及可用性它是大多数用户希望的,在其可靠性系统中 能够得到的一种特性。可靠性所测量的是两次故障之间的间隔时间:而可用性所测量的 是,在故障出现以后,多长时间才能使系统得以恢复,并能重新提供服务。这一指标通 常以可用度或正常运行时间占总时间( 系统正常时间+ 系统故障时间) 的百分比来表示。如 果要把一个系统设计为在任何时候都是可用的,那么就应要求这一系统具有1 0 0 的可 用性,也就是说,在每一个非闰年,系统应提供8 7 6 0 个小时的服务,或3 6 5 天每天2 4 d 时的服务。如果服务在一年的时间里,因各种故障所造成的停机时间达n 5 3 分钟,那么 所测得的可用性就会少于9 9 9 9 。可用性将会受到硬件维护、电源故障、系统重新启动、 软件升级或操作员失误等多方面因素的影响。 正 系统运行系统修复 m t t f 。 m t t r 。 图2 1 高可用系统运行状态 时间 机群系统操作中的高可用管理 如图2 i 所示,一个系统在发生故障之前处于正常状态,发生故障后进行修复,修 复好后,系统又处于正常状态。 定义2 1 可靠度( r e l i a b i l i t y ) :系统在规定的工作条件下和预定的时间内持续完成规 定功能的概率,称为可靠度。 我们只考虑偶发故障对系统造成的影响。偶发故障的发生是随机的,相互独立的。 可假定故障发生概率服从泊松分布,即满足,若单位时间内发生的平均故障次数为入, 则在t 时间间隔内发生k 次故障的概率为: p ( k ,归缂e : 式中:九称为失效率( f a i l u r er a t e ) 。 上是故障发生时间间隔的平均值,即为平均无故障时间( m t t f , 丑 m e a nt i m et o f a i l u r e ) 。 按照概率论原理,如果某事件的发生概率服从平均值为入的泊松分布,其事件发生 间隔的分布就服从平均值为上的指数分布,即1 一e 。 在式( 3 1 ) 中令k = - 0 ,贝f j p ( 0 ,t ) g l i 示t 时间间隔内不发生故障的概率,即偶发故障时 期系统的可靠度( 或可靠度函数) s 0 : r ( t ) = e “ 定义2 2 可维修度( m a i n t a i n a b i l i t y ) :在一定时间内该系统修理完毕的概率。 由统计资料可知,修复时间通常是服从指数分布的,设其平均值为h ,则系统发生 故障后经过时间t 仍未修复的概率就等于e ,而在时间t 内修复的概率( 可维修度) m ( t ) 为: 一上 m ( f ) = 1 一e 6 h 称为平均修复时f 司( m t t r ,m e a n t i m et o r e p a i r ) ,其倒数l 称为修 h 复率( r e p a i rr a t e ) ,记为“。 定义2 3 瞬时可用度( i n s t a n t a n e o u sa v a i l a b i l i t y ) :系统在规定条件下使用时,在任 意时刻完成规定功能的概率。 瞬时可用度是时间的函数,用a ( t ) 表示。 如果系统有平稳态,可以定义与时间无关的平稳可用度。 定义2 4 平稳可用度( s t a t i o n a r ya v a i l a b i l i t y ) :在相当长的一段时间内,系统正确完 1 2 第二章高可蜊基本理论 成服务的时间百分比。 m t t f a = - - - - - m t t f + m t t r 22 单节点或单服务系统的可用度 假设单节点或单服务系统由c 个构件组成,只有这些构件相互协调,共同合作,服 务或节点才可能对外提供服务,任构件发生故障,服务或节点将陷入故障状态,即各 构件故障造成的结果相同。假设各构件故障率为五,且各构件故障发生概率服从泊松分 布,则根据泊松分布特性,整个服务或节点系统的总的故障发生概率也服从洎松分布, 故障率五= 五;。 l = i 所以可将将单节点或单服务系统( 硬件设备,系统软件,应用软件,外部设备等) 视 为单个部件的系统,当系统工作时服务正常,当系统故障时服务不能完成。假定单机系 统的寿命x 遵从指数分布: p ( x r ) = 1 一p m , ,兰0 ,五0 故障后的修理时间y 遵从指数分布: 尸( y f ) = 1 一e 一心,f 0 ,0 假定x 和y 相互独立,故障修复后的寿命分布与新的系统相同 由平稳可用度定义,可得单机或单服务系统的平稳可用度a 一:丝婴:l m t r f + m t t r 五十“ 2 3 可用度的表达 可用性与可靠性和可维护性是密不可分的。假设故障和恢复概率满足泊松分布,即 故障率五2 砺寺歹,修复率2 面焘都为常数,则可以证明平均可用度为: 一:上:丝! a + “m t t f + m t t r 另一种直观地度量系统可用性的方法是以系统每年正常工作时间的百分比来表示 它的可用度。以此为

温馨提示

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

评论

0/150

提交评论