(计算机软件与理论专业论文)交易系统高可用性研究.pdf_第1页
(计算机软件与理论专业论文)交易系统高可用性研究.pdf_第2页
(计算机软件与理论专业论文)交易系统高可用性研究.pdf_第3页
(计算机软件与理论专业论文)交易系统高可用性研究.pdf_第4页
(计算机软件与理论专业论文)交易系统高可用性研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机软件与理论专业论文)交易系统高可用性研究.pdf.pdf 免费下载

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

文档简介

太原理上人学硕士研究生学1 1 | 7 :论文 交易系统高可用性研究 一体化银行卡消费系统案例分析 摘要 随着网络技术的不断发展和计算机应用的不断深入,许 多企业的日常业务都依靠计算机系统来进行,而这些系统大 多是基于数据库的联机事务处理系统,往往维系着企业的生 命。因此,人们对于计算机系统及依赖它的交易系统的高可 用性的要求越来越高,人们不仅希望关键业务的数据信息能 保持完整,而且希望联机交易能够不问断或者在最短的时问 内自动恢复,这就有必要对交易系统的高可用性问题进行研 究。 一体化银行卡消费系统是华夏银行的重要业务系统,是 连接商家m i s 系统和华夏银行卡业务系统的交易通道,而 银行网关又是该系统的关键环节。目前,银行网关存在单点 故障问题,降低了整个系统的可用性,也无法保证交易的一 致性和完整性。因此,提高银行网关的可用性可以提高整个 消费系统的可用性,对此进行研究具有现实的意义。 t 太原理丁大学硕+ 研究生学位论文 本文从交易概念入手,分析了事务处理系统的发展状 况,阐述了事务的a c i d 特征以及事务处理的相关规范;然 后引出了高可用性的概念并分析了高可用系统的发展历程, 指出交易系统实现高可用性的必要性。 本文对造成系统故障的原因进行了分析,指出软件故 障是系统故障的重要因素。文中还对高可用系统理论作了 初步探讨,对系统可用度进行了分析。并对集群技术进行 研究,分析了双机集群的系统软硬件架构,对实现集群高 可用系统的关键要素进行了详细的阐述。 在以上理论的基础上,结合卡消费系统的实际情况, 本文改造了双机集群架构,改进了银行网关应用程序,设 计出了一套适用于。一体化银行卡消费系统的高可用性方 案。此方案在提高整个系统可用性的同时,还保证了交易 的一致性和完整性。希望能为同类系统设计提供一些借鉴 和帮助。 关键词交易,事务处理,高可用性,单点故障,集群 i i 太原理上人学硕士研究生学位论文 t h er e s e a r c ho fh i g h a v a i l a b i l i t yo f t r a n s a c t i o ns y s t e m s a b s t r a c t w i t hi n c r e a s i n gi m p r o v e m e n to fn e t w o r kt e c h n o l o g ya n d t h e a p p l i c a t i o n o f c o m p u t e r ,m a n ye n t e r p r i s e s d a i l y b u s i n e s s e sa r em a i n l ys u p p o r t e db yc o m p u t e rs y s t e m s m o s to f t h e s es y s t e m sa r et h eo n l i n et r a n s a c t i o np r o c e s s i n gs y s t e m s , a n dc r i t i c a lt oe n t e r p r i s e s s ot h e r ea r em o r ea n dm o r ed e m a n d o nt h e h i g ha v a i l a b i l i t y o fc o m p u t e r sa n dt r a n s a c t i o n s y s t e m s a n dp e o p l eh o p en o to n l yt h a tt h ed a t ao fi m p o r t a n t b u s i n e s sw i l lb ep r o t e c t e d c o m p l e t e l y ,b u t t h a to n l i n e t r a n s a c t i o nw o n tb ed i s c o n t i n u o u so rw i l lr e c o v e r a u t o m a t i c a l l yi nt h el e s tt i m e t h i si st h ep r o b l e mo ft h eh i g h i i i 太原理= 大学硕士研究生学位论文 a v a i l a b i l i t yo ft r a n s a c t i o ns y s t e m t h ei n t e g r a t es y s t e mo fc o n s u m eb yb a n k c a r di sa n i m p o r t a n tb u s i n e s ss y s t e mo ft h eh u a x i ab a n k i ti s t h e t r a n s a c t i o nc h a n n e lb e t w e e nt h em i ss y s t e mo fm e r c h a n ta n d t h eb a n k c a r db u s i n e s ss y s t e mo ft h eb a n k ,a n dm o r e o v e r ,t h e b a n k sg a t e w a yi st h ek e yl i n ko fi t b u ta tp r e s e n tt h eb a n k s g a t e w a yh a ss i n g l ep o i n tf a i l u r ep r o b l e m ,w h i c hd r o p sl o w e r t h ef e a s i b i l i t yo ft h ew h o l es y s t e ma n dm a k e si ti m p o s s i b l et o m a i n t a i nt h ec o n s i s t e n c ya n dp e r f e c t i o no ft r a n s a c t i o n s o ,t o i m p r o v et h ef e a s i b i l i t yo ft h eb a n k sg a t e w a yi st oi m p r o v et h e f e a s i b i l i t yo ft h ew h o l es y s t e m r e s e a r c ho nt h i sh a sr e a l i s t i c m e a n l n g t h ea r t i c l e ,a tf i r s t ,p u t sf o r w a r dt h ec o n c e p t i o na n dt h e a c i dc h a r a c t e r i s t i co ft r a n s a c t i o n ,a n de x p o u n d st h e d e v e l o p m e n ta n dt h es t a n d a r do ft h et r a n s a c t i o np r o c e s s i n g s y s t e m ;t h e n ,i n t r o d u c e st h ec o n c e p t i o n a n dd e v e l o p m e n t p r o g r e s so ft h eh i g ha v a i l a b i l i t y ,a n df i n a l l yp o i n t so u tt h a ti t i sv e r yn e c e s s a r yf o rt r a n s a c t i o ns y s t e mt oa c h i e v e a n di nt h ea r t i c l e ,t h ea u t h o rg i v e st h ec a u s eo fs y s t e m i v 太原理上大学硕十研究生学位论文 f a i l u r e ,a n di n d i c a t e st h a ts o f t w a r ef a i l u r ei st h em a j o rf a c t o r h ea l s om a k e ss o m ei n i t i a li n q u i r yi n t ot h eh i g ha v a i l a b i l i t y t h e o r ya n da n a l y s i so ft h ea v a i l a b i l i t yo ft h es y s t e mi nt h e a r t i c l e w i t h s t u d y i n gt h e c l u s t e rt e c h n o l o g y ,t h ea u t h o r a n a l y s e st h ef r a m e w o r ko fh a r d w a r ea n ds o f t w a r eo ft h e t w o c o m p u t e rc l u s t e rs y s t e m ,a n dd e s c r i b e st h ec r i t i c a lf a c t o r s i nt h ea c h i e v e m e n to ft h eh i g ha v a i l a b i l i t yo fc l u s t e r b a s e do nt h e s et h e o r ya n dt h ea c t u a lc o n d i t i o no ft h e b a n k c a r dc o n s u m e s y s t e m ,t h e a r t i c l et r a n s f o r m st h e f r a m e w o r ko ft h e t w o - c o m p u t e rc l u s t e r ,i m p r o v e s t h e a p p l i c a t i o ns o f t w a r eo ft h eb a n k g a t e w a y ,a n dd e s i g n sas e to f h i g ha v a i l a b l ep r o j e c ts u i t a b l ef o r t h ei n t e g r a t es y s t e mo f c o n s u m eb yb a n k c a r d t h i sp r o j e c tc a ni m p r o v et h e f e a s i b i l i t yo ft h ew h o l es y s t e ma n dm a i n t a i nt h ec o n s i s t e n c y a n dp e r f e c t i o no ft r a n s a c t i o na sw e l l f i n a l l y ,t h ea r t i c l ei se x p e c t e dt ob ea b l et op r o v i d es o m e u s e f u le x p e r i e n c ea n dh e l pt ot h es i m i l a rs y s t e md e s i g n k e yw o r d s t r a n s a c t i o n ,t r a n s a c t i o np r o c e s s i n g ,h i g h v 太原理t 大学硕+ 研究生学位论文 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 ,c l u s t e r v i 太原理工大学硕士研究生学位论文 1 1 本文目的和意义 第一章绪论 随着网络技术的不断发展和计算机应用的不断深入,许多企业 的f 1 常业务都依靠计算机系统来进行,而这些系统大多是基于数据 库的联机事务处理系统,往往维系着企业的生命。因此,人们对于 计算机系统及依赖它的交易系统的高可用性( h i g ha v a i l a b i l i t y ) 的 要求越来越高,人们不仅希望关键业务的数据信息能保持完整,而 且希望联机交易能够不问断或者在最短的时问内自动恢复,这就是 系统的高町用性问题。 一体化银行卡消费系统是华夏银行的重要业务系统,是连接商 家m i s 系统和华夏银行卡业务系统的交易通道,它也是商家m i s 系 统通过华夏银行和其它银行进行银行卡交易的通道。而银行网关又 是该系统的关键环节。目前,银行网关的功能由一台p c 服务器来完 成,并没有备援服务器,一旦出现系统故障,就无法保证交易的一 致性和完整性,甚至导致整个系统的瘫痪,因此银行网关也是一体 化银行卡消费系统的一个薄弱环节。由以上原因可以看出提高银行 网关可用性,可以提高整个卡消费系统的可用性,进而改善华夏银 行在商户巾的形象。因此研究一体化银行卡消费系统的叫用性具有 现实的意义。 高可用性问题是用户给整个计算机界提出的课题,这必然要求 计算机系统的所有厂商包括计算机电源、硬件、操作系统、网络、 1 太原理工大学硕士研究生学位论文 数据库管理系统、应用软件等提供相应的保障措施。 软什 硬竹 曼童 i 璺雪 i 一 应用软件 数据库管理系统 操作系统,网络软件系统,实1 辞j 群序 主机、硬盘、网络等。 图i 3 计算机高可用性层次结构 由图l 一3 可以看s 出,高可用性的实现需要在硬件、系统软件、 应用软件上整体考虑,才能保证计算机系统在任意环节失效的情况 下,都能正常运行或是在较短的时间内恢复正常,并且要保证系统 数据的一致性。对于硬件、网络层次的高可用性通常采用冗余的办 法实现,数据库管理系统也都有相应的高可用方案,比如并发o r a c l e ; 而应用软件位于整个层次的最上端,在联机交易系统中,它是直接 跟用户交互的接厂j ,是用户发起交易的通道。而一体化银行卡消费 系统f 是这样的应用软件,因此,研究该系统的高可用性解决方案 具有重要的意义。 本文的目的就是通过对交易系统及其特性、系统故障因素、高 可用性理论及其相关技术,特别是集群技术进行分析和研究,给出 一些解决系统单点故障的方法和设计高可用系统要注意的些问 题;结合“一体化银行卡消费系统”的具体实际,对双机集群系统 架构进行研究和完善,对该系统的应用程序进行改进,提出一套可 行的集群高可用系统设计方案。 1 2 交易系统概述及其发展 1 2 1 交易的概念 2 太原理i :人学硕l 川f 究生学位论文 交易( t r a n s a c t i o n s ) 【1 1 ,也叫务,是联机交易处理的基本概 念。一个交易是指一个程弘或程j 乒段,在一个或多个资源如数据库 或文件卜为完成某些功能的执行过;| i l t 。一个交易可描述如下: t - a 1a 2 a n 这罩a 可能是下列一些操作:i 殳、写、删除、重写、打开关闭、 交易丌始、交易捉交、交易作废:中a l 必须是交易丌始,最后一 个操作a n 必须是交易提交,t l j 川不允许冉有交易丌始或交易提交。 系统中的大量的交易被系统的一个变易管理系统所管理,并且由交 易丌始操作赋予一个交易| 准4 的交易标识号t i d ( t r a n s a c t i o nl d ) ,在 一个交易的生命期内,此标识由交埸管理系统使用,唯一标识一个 交易。 交易的提交表示一个交易的结束,此交易结束后其结果可以被 其他交易使用,一个已结束的交易如果想撤消( u n d o n e ) 必须通过 另外个交易进行。交易丌盘厶和交易提交之问成为一个交易的活动 状态,一个交易失败厉,交易不能处在活动状态,必须通过回退 ( r o l l b a c k ) 使交易恢复到交易丌始i j u 的状态。 1 2 2 事务处理系统的发展 6 0 0 0 年以前,苏荧尔人就发明了事务处理的记录方法。已知的 最早的记录是写冉_ i 二块卜的,f :面址录的是争家税收、土地、谷物、 牲畜、奴隶和黄金。记录者明确她j 己下每笔交易。这种早期的系统 已经具备了q 务处理系统的关键特j :1 i ( 见图1 1 ) ,现实的状态通过 一个称为数据库的抽象米表示,现1 爻状态的转变通过执行一个被称 为事务的执行程序来反映,它改变数据库的状态【4 1 。 3 太j b l 理l ? 人。子硕士研艽o 7 4 市论文 脱实抽象 何d ( 乡 闺1 1 事务处理系统的基本抽象0 4 f i g m e1 1b a s i ca b s t r a c to f t p s 川答 数据库:在土块卜川记号表示的干1 ,抽象的系统状态被保留下 来。今天我们可以称之为数据库。 事务:“录者池录了数据库中随新i 新记录( 土块) 的加入而造 成的状态的改变。今天,我们可以把这u b 状念改变称为事务。 苏美尔人的这种方法允许记录者i l 以很容易地查询过去和现在 的状态,同时提供了系统_ 【何演变为当i 订状态的历史记录。 这种基于土块的事务处理系统的技术演变了数千年,经历了纸 莎草纸( 古埃及时用纸莎草制成) 、羊戍纸( 优质纸古时用的) ,最 后到我们现在用的纸。千多年以来的j 务处理技术中用到纸、墨 水和分类账。最近的革新发生在1 9 世纪j 厅期,h e r m a nh o l l e r i t h 制造 了一种打孔卡片汁算机系统,记录和报;+ i 了18 9 0 年美幽的人口普查。 2 0 世纪前半叶,对事务处理的需求促进了打孔卡片计算机装备的演 变和发展。这些早期的汁算机主要用术进行库存控制和记账。实际 卜,它们用纸片( 卡片) 取代了十块,j l 优,? 、i 是系统每秒钊一可以查 找和更新大约一个“土块”( 卡片) j 。 4 太原理t 大学硕十研究生学位论文 2 0 世纪后半叶在事务处理方面出现了两个主要的进展:基于磁 性存储介质( 磁带和磁盘) 的成批事务处理以及随后基于电子存储 和计算机网络的联机事务处理。这两个重大进展极大地促进了计算 机工业的发展,而事务处理应用带来的收入占计算机系统收入的绝 大部分。今天,通用计算机的主要用途仍然是事务处理。典型的应 用和例子包括: 通信业电话通话的建立和付款、电子邮件等。 金融业银行、股票交易、自动收款机等。 旅游业飞机、旅馆、汽车、火车等的预定和付款, 制造业定单接收,作业和存货的规划、时间调度、记账等, 过程控制工厂、仓库以及钢铁、纸厂、化工厂等的过程控制。 1 2 3 事务的特性 事务处理系统发展了分布式计算和容错计算中的很多概念。针 剥可靠性、可用性和性能引入厂分布式数据;针对可用性,发展了 容错存储和容错处理;针对分布式计算,提出了客户服务器模型和 远程过程调用,更重要的是引入了事务的a c i d 【1 1 特性,即原子性 ( a t o m i c i t y ) 、一致性( c o n s i s t e n c y ) 、隔离性( i s o l a t i o n ) 、持久性 ( d u r a b i l i t y ) ,这已成为分布式计算统一的概念。 原子性( a t o m i c i t y ) :一个交易对状态的改变是原子的,要么全 部成功,要么全部不成功,回退到本交易未做以前的状态。 一致性( c o n s i s t e n c y ) :一个交易把一个对象从一个合法状态转 到另一个合法状态,如果交易失败,把对象恢复到前个合法状态。 隔离性( i s o l a t i o n ) :个事务对共享数据库所做的操作在交易 5 太原理t 大学硕+ 研究生学位论文 提交以前对其他交易来说是不可见的。 永久性( d u r a b i l i t y ) :一个成功的交易其结果是不能改变的,除 非运行另外一个交易来改变他。 举一个银行取款事务的例子。如果它同时完成支出和账户更改, 那它就是原子的。如果支出的钱等于账户上的收入,那么它就是一 致的。如果这个事务程序不受其他并发读写此账户的程序的影响, 那么它是隔离的。如果一旦事务完成了,账户的余额必然会反映取 款后的情况,那么它就是永久的。 1 2 4 分布式事务处理与x a 规范 1 2 4 1 分布式事务处理 分布式事务处理( d i s t r i b u t e dt r a n s a c t i o np r o c e s s i n g ,d t p f 2 1 ) 足 指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必 须有一种方法可以知道事务在任何地方所做的所有动作,提交或回 滚事务的决定必须产生统一的结果( 全部提交或全部回滚) 。 x o p e n 组织( 即现在的o p e ng r o u p ) 定义了分布式事务处理模 型。x o p e nd t p 模型( 1 9 9 4 ) 包括应用程序( a p p l i c a t i o np r o g r a m ) 、 事务管理器( t r a n s a c t i o nm a n a g e r ) 、资源管理器( r e s o u r c em a n a g e r ) 、 通信资源管理器( c o m m u n i c a t i o nr e s o u r c em a n a g e r ) 四部分。如图 1 2 所示。一般,常见的事务管理器( t m ) 是交易中间件,常见的 资源管理器( r m ) 是数据库,常见的通信资源管理器( c r m ) 是消 息中问件1 2 j 。 6 太原理下人学硕士研究生学位论文 1 2 4 2x a 规范 图1 2x o p e nd t p 模型【2 】 f i g u r e1 2t h em o d e l o fx o p e nd t p 在d t p 环境中,某一数据库并不知道其它数据库在做什么,因 此需要交易中间件来通知和协调相关数据库的提交或回滚。x a 就是 x o p e n d t p 定义的交易中间件与数据库之间的接口规范( 即接口函 数) ,交易中间件用它来通知数据库事务的开始、结束以及提交、回 滚等。x a 接口函数由数据库厂商提供。 x a 规范的基础是两阶段提交协议 2 1 。 在第一阶段,交易中间件请求所有相关数据库准备提交( 预提 交) 各自的事务分支,以确认是否所有相关数据库都可以提交各自 的事务分支。当某一数据库收到预提交后,如果可以提交属t 自己 的事务分支,则将自己在该事务分支中所做的操作固定记录下来, 并给交易中间件一个同意提交的应答,此时数据库将4 i 能再在该事 务分支中加入任何操作,但此时数据库并没有真正提交该事务,数 7 太原理工人学硕+ 研究生学位论文 据库对共享资源的操作还未释放( 处于上锁状态) 。如果由于某种原 因数据库无法提交属于自己的事务分支,它将回滚自己的所有操作, 释放对共享资源上的锁,并返回给交易中间件失败应答。 在第二阶段,交易中间件审查所有数据库返回的预提交结果, 如所有数据库都可以提交,交易中间件将要求所有数据库做正式提 交,这样该全局事务被提交。而如果有任一数据库预提交返回失败, 交易中间件将要求所有其它数据库回滚其操作,这样该全局事务被 回滚。 x a 规范对应用来说,最大好处在于事务的完整性由交易中间件 和数据库通过x a 接口控制,a p 只需要关注与数据库的应用逻辑的 处理,而无需过多关心事务的完整性,应用设计开发会简化很多。 具体来说,如果没有交易中间件,应用系统需要在程序内部直 接通知数据库开始、结束和提交事务,当出现异常情况时必须由专 门的程序对数据库进行反向操作才能完成回滚。如果是有很多事务 分支的全局事务,圆滚时情况将变得异常复杂。而使用x a 接l _ l ,则 全局事务的提交是由交易中间件控制,应用程序只需通知交易中间 件提交或回滚事务,就可以控制整个事务( 可能涉及多个异地的数 据库) 的全部提交或回滚,应用程序完全不用考虑冲正逻辑1 2 j 。 1 3 高可用系统概述及其发展 1 3 1 相关术语 宕机时间( d o w n t i m e ) 系统从停止服务到重新提供服务 的时间( 以时间单位计量,如分、小时、天等) 。 8 太原理工大学硕十研究生学位论文 平均无故障时间( m e a nt i m eb e t w e e nf a i l u r e s - - 一m t b f ) i t 3 1 两次故障之间计算机系统能够正常运行的时间的平均值。 系统的可靠性越高,平均无故障时间越长。 平均故障恢复时间( 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 f f a i l u r e s p o f ) 【3 系统的软件 或硬件在其失去功能时,会导致整个系统停止服务,则该点 称之为单点故障。 高可用性( h i g h a v a i l a b i l i t y ) l 3 提供一个系统,通过减 少或对故障的控制来降低宕机时间,提供比传统系统更高级 的系统可用性,减少单点故障。 1 3 2 研究高可用性的目的 据f i n d s v p 调查显示:在财富排行前1 0 0 0 的公司中计算机平 均故障次数为9 次年,平均故障时间为4 小时年,平均每小时的 损失达8 2 5 0 0 美元。所以提高系统的可用性,成为当前企业界的迫 切需要。它能够使企业避免不必要的损失,维护企业高品质的形象。 过去,银行、邮电等大单位通过购买专用的容错计算机实现高可用 性。在这种模式下,服务器死机时,需要人工操作来分析、排除错 误;服务器恢复时,又需要各种测试及恢复操作,这些都需要很长 的时问。在这段时间内,前端的所有任务都必须停顿下来以等待系 9 太原理j = 大学硕士研究生学位论文 统恢复,这一切都会造成企业难以估计的运营损失。 随着集群技术的成熟,许多单位选择了通用计算机构成成本低 而高效能的集群系统,他们也希望集群系统能提供专用容错系统的 许多优点,例如稳定的软件、硬件、数据库和操作方式。研究高可 用性系统基于如下原因: 集群服务器环境是分布式的,需要寻求这类分布式计算环境 下的高可用性解决方案; 当前有许多关键性的应用程序是基于l a n 或w a n 等网络环 境的,需要研究网络环境下的容错方案: 关键性应用需要在错误检测和服务恢复的基础上,提供及早 的报警系统,从而缩短维修时间; 需要长时间运行的商业任务一方面要求服务的连续性,一方 面又能够容忍几秒到几十秒的切换时间,因此采用高可用系 统的解决方案能够获得更高的性能价格比。 1 3 3 高可用系统发展史 传统上高可用性系统的实现是采用专用的容错机,价格昂贵, 且需要较长的人员培训时间。其次容错机往往采用专用的操作系统, 不易于软件的开发和移植,而且它也不能检测应用程序错误。 现在高可用系统的实现采用的是集群技术,主要面向联机事务 处理一类的商业应用,系统的错误恢复时间在几秒钟以内,错误恢 复的实现上一般采用软硬件相结合的错误监测、错误诊断、系统重 新配置和恢复等策略,适用于对容错和实时性要求更高的应用。 现代集群技术开始于1 9 8 3 年。d i g i t a l 公司研制v a xc l u s t e r s 让 1 0 太原理i :人学硕士研究生学位论文 多个v a x 计算机通过访问一个共享磁盘组的卷分担系统负载并支持 单系统镜象( s i n g l es y s t e mi m a g e ) 。v a xc l u s t e r s 利用d i g i t a l 的分 布式锁管理( d l m ) 技术协调服务器访问共享磁盘。 u n i x 服务器集群技术在八_ 卜年代后期和九十年代初期得到广泛 的应用。除了许多开发商支持集群服务器的高町用性以外,也有的 支持u n i x 系统的可伸缩性。 1 9 9 6 年,一些系统开发商丌始为w i n d o w sn t 服务器研制集群 服务器软件以提供高可用性。微软集群服务器( m i c r o s o f tc l u s t e r s e r v e r m s c s ) 发起制定w i n d o wn t 服务器集群技术工业标准的活 动,希望构造一个统一的应用程序接口集( a p is e t ) ,使软件开发人 员开发新的应用程序有一致的接口,六。多个组织参与了m s c s a p i 工业标准设计过程。 1 9 9 7 年1 0 月,微软在w i n d o w sn t4 0 服务器企业版中使用一 个标准组件发布了微软集群服务器软件,又称作w o l f p a c k 软件。它 只支持两个节点的高可用性。 1 9 9 7 年1 1 月,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 er 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 s n t ,v e r i t a s 公司的f i r s t w a t c h ,f u l l t i m es o f t w a r el n c 的f u l l t i m e c 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 r1 2 提供较完善的功能。 最大支持由3 2 个节点组成的集群服务器系统。支持s o l a r i s 、h p u x 和w i n d o w s n t 平台。 太原理t 入学硕士研究生学位论文 1 4 小结 一体化银行卡消费系统是华夏银行的重要业务系统,但系统目 前存在单点故障问题,影响了系统的可用性。因此,研究一体化银 行卡消费系统的高可用性具有现实的意义。 本文的目的就是通过对交易系统和高可用性理论进行研究,在 引基础上结合一体化银行号消费系统的具体实际,设计一套高可用 方案。 本章还从交易的概念入手,介绍了交易的特性,交易处理系统 的发展;之后对高可用性以及高可用系统的发展作了简要概述。 1 2 太原理上1 人学硕士研究生学位论文 第二章系统故障分析及措施 对现代企业来说,利用计算机系统来提供及时可靠的信息和服 务是必不可少的;另一方面,计算机硬件与软件都不可避免地会发 生故障,这些故障有叮能给企业带来极大的损失,甚至整个服务的 终止,网络的瘫痪。因此,必须有适当的措施来确保计算机系统提 供不问断的服务,以维护系统的可用性。信息系统的可用性通常在 两种情况下会受到影响,一种是系统当机、错误操作和管理引起的 异常失败,另一种是由于系统维护和升级,需要安装新的硬件或软 件而正常关机。高可用性软件必须为这两种情况提供不问断的系统 服务。通过对系统故障的原因进行分析,我们就可以采用有效的措 施来提高系统的可用性。 2 1 系统故障分析 一直以来,在当今的企业环境中时间就是金钱;然而现在不再 是一天8 小时和一周5 天的工作时间。当今的商业要求一天2 4 小时, 一周7 天和一年5 2 周的运作。无论何时的系统或数据的不可用将使 得商家失去交易,失去经营机会和失去客户。因此我们有必要对造 成系统或数据不可用的原因进行分析。 2 1 1 系统故障原因 1 3 太原理工大学硕士研究生学位论文 只有考虑了所有能导致系统故障的因素,一个系统才是真正完善 的高可用性系统。系统故障原因大致可分为7 类( 如图2 1 所示) 。 按计划的硬件、操作系统的维护,如增加硬盘和进行操作系 统补丁等。 应用失效,如数据库出错等。 操作员出错,如误操作等人为错误。 操作系统故障,如操作系统死机等。 硬件故障,如硬盘或网卡损坏等。 断电( 没有u p s ) 。 自然灾害,如火灾、地震和洪水等。 图2 - l 系统故障因素比例f 9 1 f i g u r e2 - 1t h er a t eo fs y s t e mf a i l u r ef a c t o r s 软件造成的故障是系统故障的第二大因素,但是常常不能像硬 件那样得到足够的重视。同时,软件的变化和升级极为频繁,这使 得软件对系统稳定性的长期影响更加难以预测。随着系统对软件故 障检测和管理依赖性的增强,软件问题日益受到重视。 1 4 太原理工大学硕士研究生学位论文 2 1 2 系统故障分析 ( 1 ) 软件故障 确认造成软件故障停机的根源是错综复杂的。举例来说,c a h n e r s i 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 论文发表时,规定普通1 0 0 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 ) 告警的平台。 1 5 太原理工大学硕士研究生学位论文 随机访问内存使用奇偶校验位来检测错误代码( e c c ) ,检测并 纠正单个错误,而且能检测双字节错误。对整个系统的可靠性而占, 使用e c c 内存和高速缓存内存与使用r a i d 是同等重要的。 ( 3 ) 网络故障 随着分布式系统的推出,基础网络的性能和可靠性是整个系统 的性能和可靠性的关键。网络故障包括网卡、网线、网络集成器、 网络交换机等故障。 ( 4 ) 操作故障 为了获得高可用性和性能,系统工程师肩负着分析系统软件使 用的任务。当系统硬件配置改变时,如增加新的硬件,他们将重建 其配置信息。在进行任意类似重大配置变动前后,管理人员应全面 备份系统。 对于容量1 0 0 g b 以上的大型数据库系统,使用适当的数据保护 机制是必不可少的。尤其是,r a i d 系统能够增强磁盘系统的伸缩性 和性能,同时增强了数据的完整性。冗余存储i 子系统如今比它最初 推出时更加受到欢迎,因为与停机时间增加的成本相比,磁盘减少 的成本是更具有吸引力的。 一致、详细的监控程序对于使用高可用性系统是非常重要的。 硬件兼容表上的设备需要使用事件日志记录硬件使用情况。系统事 件日志必须受到严格监控,能防止系统中不易觉察的潜在故障。为 获得最大可靠性而设计的系统能够在发生单点故障时持续运作,例 如在使用r a i d 5 的系统中有一个磁盘发生故障,系统仍可以继续正 常运行。但是,如果再有一个磁盘发生故障,系统仍可以继续正常 运行。但是,如果再有一个磁盘发生故障,将造成数据损失。必须 使用自动的报警程序设置报警通知,例如s n m p 报警寻呼机通知, 1 6 太原理i :大学硕士研究生学位论文 及时向系统管理员报告磁盘故障等警告信息,让他尽快更换故障磁 盘,重新建立r a i d 5 系统。 ( 5 ) 环境故障 一。个灾难恢复研究的统计显示数据中心宣布的灾难记录当中, 2 7 是源于电源故障。在这项研究当中,定义为宣布灾难的是附带 有服务损失的实际数据损失事件。这个数字包括因为环境灾难造成 的停电,诸如暴风雪、龙卷风和飓风。 在不问断电源( u p s ) 上的投资是关键的第一步。许多操作系统 已具有内置的u p s 支持 川。 有很多方法来处理这些问题。例如:人为错误和软件问题引起的 系统不可用能够用改良程序和过程来处理,但是这不能完全靠这种 方法来避免问题发生。硬件问题可以用冗余和其他技术来处理,但 是同样不能完全避免。事故总是在不经意间发生。 2 2 高可用系统如何避免单点故障 单点故障( s i n g l ep o i n to f f a i l u r e s p o f ) f 3 指系统的软件或 硬件在其失去功能时,会导致整个系统停j l 服务,则该点称之为单 点故障 一个非常可靠的独立运行的服务器同样会有很多的单点故障, 通常,一个没有备份或冗余、单独运行的部件都是单点故障。 要降低系统的单点故障,提高可用性,町采用如下措施: ( 1 ) 避免电源的单点故障 很简单,强烈建议在配置服务器和磁盘阵列时,必须要求是 】7 太原理丁大学硕士研究生学位论文 双电源供电,同时必须有两路不同的电源供给,或必须插在不同 的电源插座上。有些电源单路输入,内部两个电源模块是不能称 为标准双电源的。同时建议使用u p s 进行供电,减少由电源引起 的出错概率。 ( 2 ) 避免硬盘的单点故障 好的高可用系统中的主机系统盘要求配置成r a i d1 ( 镜像 盘) ,保证系统盘无单点故障,因为如果系统盘损坏,会导致系 统重建和大量的恢复操作。如果是数据盘损坏,则系统本身可以 证常运行,但是应用程序无法运行,只有在数据盘更换,从备份 恢复好原来的数据后,才能使用。无论系统盘损坏还是数据盘损 坏,都会造成一定的损失。因此,冗余配置是十分必要的。通常 有两个方法来解决这个问题,磁盘阵列或软件方案,两种方法各 有长处。 ( 3 ) 通过磁盘阵列( r a i d ) 保护数据安全 r a i d 是“独立磁盘冗余阵列”( r e d u n d a n ta r r a y o f i 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 在加州大学伯克利分院的一 篇文章中定义。r a i d 阵列技术允许将一系列磁盘分组,以实现 提高可用性的目的,并提供为实现数据保护而必需的数据冗余, 有时还有改善性能的作用。随着计算机技术的快速发展,r a i d 已经从高端服务器市场日益步入寻常百姓家。 r a i d 技术是一种工业标准,各厂商对r a i d 级别的定义也 不尽相同。目前对r a i d 级别的定义可以获得业界广泛认同的有 4 种,r a i d0 、r a i d1 、r a i d0 + l 和r a l d5 。 ( 4 ) 通过s a n 结构的存储保护 1 8 太原理上大学硕士研究生学位论文 s a n ( s t o r a g ea r e a n e t w o r k ) 是指存储局域网,通过特殊的网 络来使网络中的存储设备町以让该网络中的不同服务器直接访 问,通常是通过光纤结构实现互联。随着存储技术的不断发展, s a n 结构的存储系统将成为主流,因为相对传统的存储结构,它 具有众多的优点。通常,s a n 结构的系统必须要配置成高可用, 或者说服务器必需可以能够通过可靠的网络连接访问存储。s a n 结构中的不同部件,如控制器、磁盘阵列等必需能够冗余。 ( 5 ) 避免系统处理单元单点故障 一个服务器系统的处理单元通常是由一组部件组成,它们通 常都有可能发生故障。其中比较重要的几个部分是: a 、c p u ( 一个或多个) b 、i o 控制卡( s c s i 、i o 板等) c 、 内存 任何的这些部件的损坏,都将导致系统的拒绝服务。停止工 作并更换新的配件,使得系统能够正常工作。如果一个系统不容 许任何的出错,则只有两个办法: a 、所有部件冗余( 通常所说的容错机) : b 、采用集群技术( 实现高可用) ( 6 ) 单机高可用的实现 单机高可用通常指那些具有容错功能的服务器、专业容错机 等,能实现这些功能的基本都是高端服务器。它们通常可以提供 包括如下部件的硬件冗余: a 、 处理器 b 、i o 控制卡 c 、 网卡 1 9 太原理上大学硕+ 研究生学位论文 d 、 内存部件( 板或模块) e 、电源及连接线 这样的服务器包括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 损坏造成系统宕机 的时阻j ,可以容许用户在一个处理单元损坏时,进行修复而系统 不会停止服务。在高可用集群系统中,一个或多个系统单i 作为 工作单元( p r i m a r y 的备份单元。这些备份单元可以是运行

温馨提示

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

最新文档

评论

0/150

提交评论