




已阅读5页,还剩67页未读, 继续免费阅读
(计算机软件与理论专业论文)高可用容灾系统分析与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 高可用容灾系统分析与设计 摘要 随着计算机技术的不断发展,人们对数据可靠性和应用可用性的登求不断提 高,高可用容灾系统也随之出现。 本文首先介绍了高可用容灾系统的集群实现方法,重点介绍高可用集群的三 种基本结构、基于a g e n t 的应用獠序管理策略和高可用集群节点问的邋僚机制。 接着详绥描述了商可鼹容灾系绞一黧主要技术,如本迪数据每可靠僚的嶷瑗技 拳、远程复裁援零彝快照搜寒。其次本文在蔻嚣分羲魏基礁上铮黠藏霹蠲窭灾系 统戆主要菝拳远程复鞠提出了一耱蒸予较箨戆实瑷方法,著逶逶模羧实骏溺试了 远程复制对圭极链熊的影拣翻弼劳器步复割导象豹用户酶应时间静差弊。溅鬃本 文提出了一种新的基予虚拟f o 酌黼可用容灾系统的实现方法,并对冀棚关的一 些问题进行了讨论。 关键字: 高可用容灾系统;高可用集群;远稷复制;虚拟i 0 t h er e s e a r c ha n d d e s i g n o f h i g h a v a i l a b l ed i s a s t e r r e c o v e r ys y s t e m a b s t r a c t w i 也t h ed e v e l o p m e n to f c o m p u t e rs c i e n c e , t h o n e e d so f h i g ha v a i l a b l ed a t aa n d h i 硪a v a i l a b l es y s t e mh a sb e c o m em o r e a n d + r l o r oi m p o r t a n t 碰班a v a i l a b l ed i s a s t e r r e c o v e r ys y s t e m h a so p i n ei n t o 黼ef o rt h i sp u r p o s e i nt h i sp a p e r , f i r s t l yw ei n t r o d u c eh o wt oc o n s t r u c tas i g ha v a i l a b l ed i s a s t e r r e c o v e r ys y s t e mb y 强s e o f c l u s t e r , w e :m a i n l y i n t r o d u c et h r e eb a s i cs t m c t m - eo f h i g h a v a i l a b l eo h i s t e f , t h em a n a g e m e n to fa p p l i c a t i o nb a s eo na g e n ta n dc o m m m f i c a t i o n b e t w e e nh i g ha v a i l a b l ec l u s t e rn o d e a n dt h e nw 0i n t r o d u c es o i n em a i nt e c h n o l o g i e s a b o u th i 出a v a i l a b l es y s t e mi nd e t a i l f o re x a m p l el o c a ld a t ah i g ha v a i l a b l e t e c h n o l o g y , r e m o t ec o p yt e c h n o l o g ya n ds n a p s h o tt e c h n o l o g y s e c o n d l yw e 枞n g f o r w a r dar e a l i z a t i o no f r = n o t ec o p y , t h em o s t i m p o r t a n tt e c h n o l o g yo f h i g h a v a i l a b l e d i s a s t e rr e c o v e r ys y s t e m , t h e nw et e s tt h ee x p e n s eo fp e r f o r m a n c ea n dc o m p a r et h e d i f f e r e n c eb e t w e e ns y a c h r e n i s mr e m o t ec o p ya n da s y a c h r o n i s m l a s t l yw eb r i n g f o r w a r dar o wm e t h o do fc o n s t r u c th i 曲a v a i l a b l ed i s a s t e rr e c o v e r ys y s t e m , a n d d i s c u s ss o i i i ci s s u a sa b o u tt h i sm e t h o d k e y w o r d s : h i g ha v a i l a b l ed i s a s t e rr e c o v e r ys y s t e m ;h i g ha v a i l a b l ec l u s t e r ;r e m o t ec o p y , v h l u a l 劲d 高可用容灾系统分析与设计 第一章绪论 1 1 高可用容灾系统应用背景 随着计算机技术的发展,各行各业的计算机化程度不断提高,计算机已经渗 透到事务流程的每个环节。对越来越多的企业而言,存储在计算机内的数据逐渐 成为了最宝贵的财富。 由于i n t c r n e t 技术的迅猛发展,大多数企业早已将业务搬到了网上,网上交 易、电子商务越来越普及。2 0 0 2 年1 2 月c o m s c o r cn o t w o r k s 的一份调查报告指 出用户正在逐渐重视与接受网络购物,6 l 的用户会经常通过上网来购买物品, 到2 0 0 2 年网络交易比2 0 0 1 年增长了4 0 达到7 4 0 亿美元。i d c 由此预测从2 0 0 1 年到2 0 0 6 年网络交易的增长率大约能保持在3 2 5 。 对网络交易这类关键业务来说,数据的可用性尤为重要,因为业务的支持系 统一般都要求提供全年不间断服务,即使发生短时间的停机,代价也是非常巨大 的。但是由于许多无法人为控制的因素,系统的软硬件都会失效,停机是无法避 免的。s t a n d i s h g r o t r p 的一份报告曾指出,7 2 的关键业务每年都会有9 个小时 以上的停机时间。s t a n d i s hg r o u p 的另一份报告也指出,对关键业务来说平均每 停机1 分钟的损失大约为1 0 0 0 0 美元,进一步报告还指出对6 的应用系统来说 每停机1 分钟的损失高达1 0 0 0 0 0 美元。同样m o t a g r o u p 在2 0 0 2 年2 月在对2 1 个不同领域的企业调查后也指出,由于系统停机而造成的损失相当于每个雇员每 小时浪费2 0 5 5 5 美元。因此对关键业务的系统来说,保证数据的可靠性与应用 的可用性已经变得越来越重要,高可用容灾系统正是顺应这个要求而出现的。 1 2 系统可用性度量与停机代价计算 度量系统的可用性目前不存在实际的工业标准,现阶段人们普遍采用故障平 均问隔时间( m r r f ) 和故障平均修复时间( m r r r ) 来衡量一个系统的可用性 程度im t t f 是指两次系统故障的平均间隔时间。m t y r 是指修复系统故障所需 的平均时间。 系统的可用性是指系统可以使用的时间比率,也就是系统实际可使用的时间 占总时间的比率,这个比率可以用m t t f 和m t r r 按照下列公式计算: 可用性:一= 墨垡婴 肘】r t f + m t r 例如某系统在6 个月内出现了1 次故障,并使用2 0 分钟修复了这个故障, 那么该系统的可用性为: 第一章绪论 丽瓣6 f l = 9 9 9 2 6 胃+ 2 嗡铮。 根搬上面的公式可以看嬲,增大m t t f 或减小m t t r 都是提高系统可用性 的有效方法。为使m t r f 达到最大值,系统管理入员需要对系统进行充分的溺 试、配置朝监视以使发生故孵的枫会减到最小。为棱小m t t r ,系统管理人员必 须提高数据的可靠性,发生问题要及时进行故障切换和故障恢复。缎是一味的提 窝系统黪可愿拣不是在任舞愦况下郄筐褥戆,系统可震牲戆撼态逶鬻会楚系统成 本增加并带来一定程度上的性能损失。对不同的应用系统来说,应根据其可忍受 黪箨糗辩溺及褥投入瓣系统成本选释不翳级鬟黧霉爰魏方案。 停机代价鼹架设商可用容灾系统的依据,也是决定选择何种级别可用性方案 鹃基硝。计算僚机代价对应送分不黼的停枫时阔。停机辩闻w 分为掰释:计翊肉 停机时间与计划外停帆时闯。计划内停机时间是指由予避行系统维护、维修、升 级或者其它计划内的原因而导致的系统的正常停机时间。计划外停机时间怒指由 予软件、硬传、网络或其它故障两器致的系统黪# 正常停机时间。计划悫傍规时 间是系统必须的停机时间,不应将其计算在系统的停机代价内,因此分析系统的 搏撬代馀主要是分拆冀幸 划终箨爨瓣闯黪导鼗黪停褪饯羚。 停机代价可分为三种:硬代价、半硬代价和软代价。硬代价是指为修复系统 蔽漳所施费懿赉滠霞价,包糖硬俘健价、软件霞价寝辩溺筏价。半羧代份怒指系 统在停机时间失去的般务的代价和对业务的暂停处理丽产生的代价。软代价是指 暾于系统停视褥失去的公众的信心j 闱商煦机会。爨化半硬代价和软代价是十分丽 难的,假如果不考虑这些因豢,停机代价藏会大打折扣。 一般的停机代价可近似使用下面的公式计算; 每小时箨援代侩一员王数员工每小魁乎蝣王资箨瓿渡费俊馕吾分魄+ 每小时业务数每业务平均价值+ 錾鬟游闽x 嫠复入爨每夺酵平稳工资 1 3 数据酶哥靠性与应用的可雳性 蔫霹用窖宠系统懿稷零嚣瓣是实嚣数攥静萄靠性等瘦露鹃胃爰穗。 数据的可靠性包含两层意思:数据的逻辑可靠性( 数据的正确性) 和数据的 物理胃靠往( 数据可觚存储设备串歪确读出) 。数据静逻辑可靠性怒由其体的虚 用程序负责的,殴此今后所提到的数据可靠性特指其物理可靠性。 实墩数据可靠性豹基础鼹增加冗余信息和使数据分布存储。根搬数据分布存 镶的距巍远近,可将数据敕可靠性分必数搌的本地可靠性与数据熬远程可爨牲蔫 种。对数据本地可靠性系统谳言,数据只在主机内部总线上进行传输,保存原始 2 嵩可罔骞宠系统分析与设计 数糖的存储设备与保存备份数攒的存储设备涟入陶一主枫系统,各存储设餐的存 取代价相等或楣麓不多,而且存取过程对用户透明。但对数据远程可靠性系统而 言,保存原始数搬的窍德设备尚保孬备份数据的存储设餐之阕距离较遄,数据需 要遴过阚络复制戮远程存储设备,距离困豢导致了各存储设备的存取代价不耀 等,执祗直接导致了数据远稷可靠性的复杂性。 应用的可用憔也就是指戍用的连续性。目前的高可掰容灾系统都魑在保证数 据霹靠槛瓣基戳上寒实囊痘熊瓣可鼹缝教。麓了澧楚瓣撵遮系统组袋,蜀将计算 机系统分为三个缀成部分:应用部分、控锘5 部分和数疆稃储部分。应用部分就是 在计算机系统中邋行的各种陂阁稷序;控制部分相当予操作系统的功缝,它负责 协调备应用程序的逡行并为冀分酝蓉统资源;数据存豫酃分负责存储舆俗的数 据。数据存储部分存储斡数辩楚笼结褥的,必宥借助控制部分瓣数据缀绞形式懿 描述( 文件系统) 才可真正发撵住用。 在通常的计冀机系统中应用部分、控制部分和数据存储部分集中谯同台主 瓿上,糍翻之中簿一个发生锩洪都会导致熬令皮麓系统戆举嚣羯。为使液爆系统 具有瑟好的容灾性镌,一种缀自然的想法怒将这些部分分散戮多台主桃之上,并 使每部分都有对应蠹q 饔灾节点,这群即使某部分发生错谈,其容灾节点仍熊够使 整个应用系统继续逡枯下去。铡勉对于数攒撵应用系统,w 以在两台藏枫上同时 运行嚣个辕闻豹数器痒应趸糕侉( 应焉部分分教) ,一般情凝下廷霄一个数猎痒 应甩程序直接接受用户请求,潜该数据库皮腿程序发生错误时对立即将用户请求 重宛向蒯另一圭机上的数据库应用程序上,使对用户请求的处理不会阑断,从而 傈疆了熬个应用静逡搂性。寒辩趱察灾系统鹃搦造基箍g 帮是应用部分分数,对予 远獠赢w 用容灾系统还需要数据存储韶分的分散。 下面将对商珂用容灾系统的备缝成部分进行详细讨谂。 3 第二章菇鼯髓释灾系统懿槛蔽等努析 第二章高霹惩容灾系统熬组裁与分析 2 1 高可用容灾系统的基本结构 爨藏遴w 建容炙蓉绞是要莱惩纂群搜寒采蜜现。簇雾慧攘一缀撵釜狻立翡童 视,它彳薅通过专用两络避行通信,对外部表现为一个系统,并以攀系统的形式 接受管壤,撰群内任意童机所提傲的服务可被所霄黼络客户使鼹。根据不阏黔侧 重熹霹褥集群按功熬分薅诗募集群霹藤霹爨鬃瓣,聪嵩鲻爨群燕是当蘩实现麓 霹焉攀炙系统酶蓑舔,瞧楚我嚣j 键谂鹃重点。 高w 用粲群根据拓扑结构可分为l o c a lc l u s t e r i n g 、s t r e t c hc l u s t e r i n g 和g l o b a l c l u s t e r i n g 三耱。 a ) l o c a lc l u s t e r i n g 图2 。1l o c a ic l u s t e ri n g l o c a lc l 蜮e r i a g 怒一耱本遮类溅戆篱茸建集群绻梅,宅逶避啦阗设备将鼹惫 或多鸯象巍连接趋聚滋获褥嘉爵蠲瞧。_ 蹩掇主麓褥麓集嚣管壤软佟,它爨程了警 某台圭税上的应用程序发艇错误嘴,霹叛将其迂移掰另一台盎梳上继续邀行。愆 户可以获得对数据的滚续访问。农这懿集群中,童枫共享相随瓣存储设备,数攒 游每套象撬鬻胃嚣。 嚣黎这嶷集群较瘳暴爝黢兰壤维搦,黢主糗鬻戳熬套傍方式蔽黻撬王终方式 运行。热备份方式将两台象机分别设鼹为工作擞机釉备份主桃,工作主机为用户 提供其髂瓣艘嗣服务,餐馀主极必鸯农工佟主辘发艇效障砖方麓投入运簿,健饕 工终生糗舄惩户摄联鞭务。双搬工箨努式下嚣螽囊橇将茧蓦z 穆生瓤弱簧徐杰 梳,两套主梳分掰运行襁闭的应蕉程垮,当一螽燕梳发生故障畦将会启动灞一螽 主机上对应的应用程序,代替发生故障的主机肉用户提供服务。热备份方式下, 一台圭糗将戆终憝专:瓣鬟竣悫,嚣魏变撬赘漯裂耀攀苓毫,数爨簟佟寿式簿戳究 矜囊蔫繇台塞撬熬澈滚,缓容突系绞竣嚣要笼熬备份方式鬟杂。 毒 高可闱容灾系统分析与设计 钽) s t r e t c hc l u s t e r i n g s t n - c t l a “_ - 舳叫帅d 0 如a _ f 圉2 2 s t r e t c hc i u s t e r i n g s t r e t c hc l 删6 e r j n g 也是一种本地类型的高可用集群结构,它可以连接l l o c a l c l u s t e r i n g 更远距离熬圭凝帮存镶设蚕。s t r e t c hc l u s t e r i n g 绩梅毒分必s t r e t c h c l 璐妇和r 印l i c :a 主e dd a t ac l u s t e , 两种组织方式。 s t r e t c hc l u s t d d n g 方式与l o c a lc l u s t e d n g 类似,但连接距离更远,且可避接多 个异地襻储设各,并遇过卷管理软忭将这些异地存储设备抽聚为全局共事的虚拟 存德浚螽。 r e p l i c a t e dd a t ac l u s t e r 力- 式的榘群节点被限制在两个,像一般在存储设备无 法直接糨连的情况下使用。由于存储设备各自独立,因此需借助远程复制技术来 傈迁孝鼹设蓉上数撂瓣一致性。 ( 3 ) g l o b a lc l u s t e r i n g 厂磊茹i 茹焉 i。,。一 暖2 3f i l o b a lc l u s t e r i n g g l o b a lc l u s t e c h l g 是一静垒球藏围兹离可瘸集群结构。g l o b a lc l u s t e d n g 通过 将多个集群组织为站点,并采用邀程复制技术使数据在多个站点间进行传输,而 使高可用客灾系统w 以跨越更远的距离。 g l o b a lc l u s t e r i n g 爨骞一令孛。心繁熹,它整钱管理善整个薅霹建集群戆状态。 与莆两种结构褶眈,g l o b a lc l u s t 魈4 n g 可以使高w 用集群具有甄高级别的w 耀性, 集群内部主机错误也将赢接通过集群节点进行容灾处理,但如果集群所在嫩域发 5 第二章离可用容灾系统的缀成与分析 生自然灾难,如火灾、地震等,由肇个集群组成的前两种集辩络掏将无法继续提 供客灾的能力,这辩魏需要g l o b a lc l u s t e r i n g 疆供静跨越运鼷离豹多个集瓣麓懿 高可用性。 2 2 麓可用容灾系统应用程序管理策略 为使应用程序能具有高可用性,必须提供一种应用程序的管理机制,邀是通 过应用棍序管理软件来完成的。威用程序管理软件监视应用襁序的运行状态,并 在应熙瑕搴发生镫谈瓣塞动唤醒移灾主覆上黠瘢翡应嚣程黟,筹傻该应建疆痔接 收用户请求开始服务。下面通过弓f 入几个概念泉具体阐述_ 陂甩程序的管瓒策略。 ( 1 ) 资源与资源类型 备种软硬件实体部可称为资源。磁盘、隗辫适配卡( n l c s ) 、曩迪城、应用 程序和数据库等等都是可以被控制的资源,称为可控制资源。可控制资源意味着 可以使用软件控制该资源的启动( s t a r i n g ) 和停止( s t o p p i n g ) ,同时也可对该资 源茨凝淼迸孬整撬。簿令资源都爱耀一个名字滋行蠢谖,激缝密戆够区澍予其它 资源。 资源可根据类型分类,多个资源可属于一种类型,例如两个磁盘资源都属于 磁盘资源类。应用程廖管理较传擞据赉源类型来区分对不慰瓷源酶启动和傍止操 俸,掰知文箨系统类资源需要逶逡疆接操律( m o u n t i n g ) 寝韵,叠遥整类资源需 要通过绘网卡配置m 地址启动。对资源状态逃行监视是指判断资源处于扁动状 态还是停止状态。与对资源的启动停止操作相同,应用程序镣理软件也是掇据资 源类羹寒对不嚣炎滚状态遴短婺援瓣,鲷絮文穆系绞已建揍裁褒臻文终系绫资源 处于舞动状态,强地址已被配置就寝明口地缎赘源处于窟动状态。 不同类型的资源髂要不同的控制级别,大多数资源都属予“启动一停止”级 别,应嬲程序管理软律可在必要时廖动或停止送蹙资源。应用程序管理软传昶外 部应黉程序有对也会惩翻其它缀麓翡资源,镄鞠对n f s 守笋进程资添来说,为 导入一个文件系统,应用程序管蠛软件可能需辫启动n f s 守护进程,但服务完 成后应用程序管理软件也不能将宝停止,因为其谨不受应用獠序管理软件控制的 应用纛黪霹戆同样鼹簧该n f s 守护遴程,因瑟n f s 守护进稷嚣滚嚣手“必痿动” 级剃。还有一个控剁级剐对应那些笼法物理上扇动停止静资源,铡如鼹卡就无法 进行启幼和停止,但为了能让它们工作必须为其提供m 地址,这种资源属于“持 久型”级别。应用程序管理软件雕榉监视着这类资源的运彳亍愤况。 蠹掰程謦警理坎傍嚣要控裁系捌装资滚炎整。慰每静瓷源类鳌,瘦掰程亭 管理软件都包含一个相应的代理( a g e n t ) ,a g g n t 提供了对特定类型资源的逻辑 矗 高可用容灾系统分析与设计 控制。 ( 2 ) 代理( a g e n t ) 机制 不同类型的资源启动和停止过程差别很大,启动磁盘组需要将磁盘组导入, 启动数据库需要启动数据库管理进程然后发出适当的启动命令等等。但对应用程 序来说结果是一样的资源变得可用了。应用程序管理软件通过a g e n t 以相 同的接口控制不同的资源类型,这就为软硬件开发者把不同类型的资源引入应用 程序管理框架带来了方便。 应用程序管理软件控制的每种资源类型都有一个对应的a g e a t ,a g e i a t 就是一 个用来控制某种类型资源的程序,例如启动数据库资源,应用程序管理软件并不 需要知道数据库具体的启动命令,它只需向对应该数据库的a g e n t 发出启动命令 就可以了,该数据库的a g e a a t 知道如何启动具体的数据库资源。 应用程序管理软件的a g o n t 应是多线程的,这意味着同一主机上应用程序管 理软件的a g c n t 可管理同一类型的多个资源。主机启动后应用程序管理软件需要 时刻监视资源的启动与停止,由于这个原因,在应用程序管理软件启动后对应具 体资源的a 皆眦也需立即启动。 ( 3 ) 服务组与服务组类型 应用程序和与应用程序相关的资源被组织成一个服务组。服务组是给用户提 供服务的一组相互协作的资源的集合。 例如w e b 应用程序服务组可能包括: 存储w e b 页的磁盘组资源。 建立在磁盘组上的卷资源。 使用卷的文件系统资源。 以文件形式存储的数据库的数据表资源。 用来发布w e b 服务的网卡资源。 对应网卡的p 地址资源。 应用程序代码和相关的代码库资源。 早期高可用容灾系统的容灾粒度是整个主机,就是说如果主机上的某一个应 用程序发生错误,那么在该主机上运行的所有应用程序都必须迁移到另一台主机 上,即使其它应用程序仍可正确运行。具有a g o a t 机制的应用程序管理软件的出 现降低了高可用容灾系统的控制粒度,它以服务组为容灾粒度,如果主机上某服 务组发生错误,该服务组会迁移到另一台主机上运行,而在该主机上的其它服务 组仍自b 够不受影响的继续运行。 由于服务组就是一系列资源的集合,因此对服务组的操作也包括启动停止和 7 第二章高1 酊用客灾系统的缎成与分析 监视服务组状态的操作。 一个缀务组内部的资源宓矮阕筹对待,搿殛每个资源懿款态都直接彰嫡着整 个服务组的状态,初始化一个服务组需要初始化该服务组内的所有资源,难机上 某个资源变为不可用时,该资源所在的服务组也被认为不可用。 将艨薅程序服务缀善终瓷滚豹集会也裁决怒了运行服务缀魏嚣令条终: 如果主机正农运行菜服务缀,那么该激务组的所有资源帮必须对该主枫 可用。 服务组资源之间具有依赖健,就是说浆些资源必须谯另外一些资源可用 蓊交为可爱,瓣驻务缰炎澈鹃疟动吴鸯j 蓼l 痔毪。 根据应用程序能否同时在多台主机上运行哪将服务组分为两类: f a i l o v 伍服务缀: f a i l o v 霞服务缀在菜一霹捌只麓运簿在一套主提之上;绝大多数威麓程序 辙务组都属于f a i l o v e r 螽t 务缀,铡热数蠢露服务组、n f s 服务组和那些程癀动 多份相同程序的情况下无法保证数据一致性的应用程序服务组。应用程序管 理软件保证这些服务组始终处予启动、部分启动或非停止( 试图启动戏试图 箨囊) 凌态。 p a r a l l e l 服务缎: p a r a l l e l 服务组能够同时运行在多台斑机之上。p a r a l l e l 服务缀要比 f a i l o v e r 鼹务缎笈杂,它器癸疲尾程序在举矮坏数据的惨穗下在多台麦援上 襄韵。只有多数斑藤程亭胃酝鬻为p a r a u e l 服务组,在实际应震中,p a r a t l c l 服务组的使用率小于1 。 ( 4 ) 资源依赖性 关于服务组的一个重要的方筒就是资源的依赖性。如上丽所提到的,资源依 赖性决定了服务组资源的启动停止顺序,例如为了启动文件臻统资源,必须首先 导入磁擞维,然蓐方霹痿动磁盘缎上戆卷,最麓孝犍挂接卷点戆文俘系绕。霪襻 在簿皮文件系统资澈时,首先应拆卸文件系统,然后才可俸庶磁盘组上的卷,最 后才可爵出磁盘组。 为擞述资源问的依赖关系我们弓l 入父资源朔予资源的檄念。规定子资源是必 矮先予父资源寝凄懿瀣滚,父蜜滚建登矮先予予瓷滚箨壹黪炎源。资源乏瓣豹莜 赖性关系可用资源依赖图来表示,5 乏资源出现在图的顶端,落用弧线连接潜子资 源。资源依赖图用来作为服务组资源依赖性的描述图。 商可用容灾系统分析与设计 圈2 。4 服务组资源髑l 辕图 如图2 4 所示,该废用程序需骚两个独立的赘源子树,数据库资源子树和疋 逢址资澈予樾,癌动该废建程彦露褥先定动数攒瘴姿滚与嚣缝蛙赛源,甏寝羲 数据库资源又需要先崩动文俘系统淡源,癌动文件系统资源又霈要先启动卷资源 等等。 娆髑稷序管理软件对每个应糟程序都包含个定义资源阏依赖关系的文传, 舞霹震鼗守护透程( h a d ) 摄据该究捧来决定秘对襄动帮势斑应矮程序。努须 等到掰肖必需的资源崩动后才可启动应用程序,停止时必须先停止应用程序,然 后才可停止它所依赖的资源。 ( 5 ) 蔽翔程序雇动过程 下硒讨论如何其体的在高可用粲群上启动威用程序,来肴一个两个节熙的集 群提供s 文馋系统服务豹铡子, 蔫霹躅集群毽播搿个集群苇煮a 帮b ,它能都连接笺共攀存德设备主,筏韬 将在该集群上配置一个称为n f sc 蚶o u p 的服务缀,该服务组在必要时会在繁群节 点a 和b 之间进行迁移,由于n f s 文体系统服务无法在多台主机上同时运彳亍,该 骧务组被配置残f a i l o v 镰豌务缀。 n f sg r o u p 服务缎包含多个不潮类鍪靛资源,这些资源必须秘特定的蹶序窟 动,为了控制每种类型的资源,需鬻在集群节点止运行对应资源类型的a g e n t 。 首先在集爨节点上启动离可甩性守护进程( h a d ) ,h a d 遁过读取配置文l 譬了 簿嚣整黼螺s 源) 所需的a g e n t ,并熙启动这些a g e n t ,h a d 将搬据配置文件巾的资源依赖性描 述决定资源的启动顺序。接着将开始启动服务缎,在启动服务缀的过程中h a d 会按照疆瓣缒曦序淘簧a g 耐发出意凌会令。 第二章高可用容灾系统的组成与分析 图2 5 盱s q r o u pj 髑 务组的启动 图2 5 所示为n f s _ g r o u p 服务组启动顺序图。n f s _ g r o u p 服务组所需的资源有 磁盘组( d i s k g r o u p ) 资源、文件系统资源、n f s 守护进程资源、网络适配卡( n i c ) 资源和口资源。这些资源按如下顺序启动: 在文件系统被挂接前首先需启动d i s k g r o u p 资源( 图中的s h a r c dd g ) 。 启动文件系统资源,将文件系统挂接到h o m e 录( 图中的h o m em o u n t ) 。 启动n f s 守护进程资源( 图中的n f s _ n f s _ g r o u p ) ,通过n f s 导出h o m e 目 录( 图中的h o m es h a r e ) 。 文件系统导出后通过启动口地址资源使n f s 服务可用( 图中的n 盘i p ) 。 需要注意的是b 球s 守护进程资源和d i s k g r o u p 资源,它们没有低一级的资源 依赖,因此可以最先并行启动。网络适配卡( n i c ) 资源是“持久型”级别资源, 无需启动。 所有的资源通过a g e n t 启动完毕后,n f sg 删巾服务组的启动也就结束了。 2 3 高可用集群节点间通信机制 ( 1 ) 通信系统的组织结构 在高可用集群中,集群节点间通过专有网络进行通信。通信的内容包括集群 节点是否正常工作的信息、正在集群节点上进行的操作的信息及集群节点的资源 状态信息。高可用集群要求在集群节点间必须存在两个或两个以上相互独立的专 有网络,多个专有网络一方面提供了冗余的通信路径,另一方面也可以帮助分别 网络错误与系统错误。 高可用集群系统的通信通道使用l o wl a t e n c yt r a n s p o r t ( l l t ) 和组成员,原 子广播协议( g a b ) 协议替代传统的口协议栈,从而在集群节点间提供一个稳定 i o 高可用容灾系统分析与设计 的高速通信连接,同时避免了传统口协议栈带来的数据延迟。 高可用集群的每个集群节点上都保存着整个集群的状态信息,当某集群节点 发生错误时,错误信息将经过通信通道告知集群系统上的每个节点,从而使各个 节点可以进行相应的操作。通信通道上传输的信息包括两种基本类型:集群节点 成员信息和集群节点资源状态信息。 如图2 6 所示,在每个集群节点中,a g e n t 监视着资源的状态,并负责将资 源状态报告给高可用性守护进程( h a d ) ,然后由h a d 通过组成员原子广播协 议( g a b ) 在集群节点间传送资源状态信息,g a b 使用l o wl a t e n c yt r a n s p o r t ( l l t ) 在集群节点之间进行可靠的信息传输。 1 、h a d 图2 6 通信系统组织结构 高可用性守护进程( h a d ) 在高可用集群的每个集群节点上运行,它负责 收集本地主机中所有资源的信息,然后将这些信息发往集群中其它节点,它同时 也负责接收其它集群节点发出的信息。 高可用性守护进程的另一个作用是管理r e p h c a t c ds t a t em a c h i n e ( r s m ) , r s m 是集群中所有资源的状态信息在内存中的表示,集群中每个节点的r s m 都 相同,这意味着每台主机的这部分内存快照都应相同的,这是通过g a b 的原子广 播功能实现的。 2 1g a b 组成员原子广播协议( g a b ) 协议发送两种信息:集群节点成员信息和集 群节点资源状态信息。 集群节点成员信息 在一个高可用集群中,集群节点都配置有相同的集群标识( c l u s t e r - i d ) ,并 第二章高可用容灾系统的组成与分析 通过一对冗余网络相互连接。为了获得高可用集群中所有节点的资源和状态信 息,集群的每个节点都需要知道有那些节点包括在该集群中,这个问题虽然看似 简单,但由于每一时刻集群节点都有可能发生诸如重起、断电、或新加入集群中 等等各种情况,这就需要高可用集群时刻监视每个集群节点的状态。高可用集群 要求每个集群节点周期性的发送集群节点成员信息,并通过该信息监视整个集群 的状态。 集群节点成员信息是通过心跳( h e a r t b e a t ) 机制来维持的,心跳机制通过周 期的从一台主机向另一台主机发送消息以表明该主机正在正常工作。如果集群中 的主机在心跳超时后仍未收到来自某主机的信号,就会认为该主机发生错误,从 而在r s m 中将其状态标识为d o w n ,然后将该主机排除在整个集群系统之外, 该主机上运行的服务组也会迁移到集群的其它主机之上。当该主机成功修复后, 需要重新加入集群系统,它将通过g a b 的组成员服务功能发出一个c l u s t e rj o i n 的消息使该主机重新被接纳为集群成员。 集群节点资源状态信息 h a d 使用g a b 的原子广播功能来保持r s m 信息,原子广播保证在资源状 态发生变化时,集群中的所有节点都会被立刻通知到。所谓原子意味着所有的主 机都必须接收到更新信息,否则所有主机都必须回滚到前一个状态,这很像数据 库系统中的原子提交操作。g a b 原子广播保证了集群中的所有节点都包含相同 的r s m 信息,它使用软件来实现广播功能,它在网络上并不使用真正的广播包, 而是使用系统点对点的通信模拟广播。 广播信息 j 3 、l l t 生成全局一致的广播流 图2 7g 加的原子广播 l l t 为高可用集群提供了快速的,内核到内核的通信。l l t 在主机系统上作 为口协议栈的替代,它直接位于u n i x 数据链路接口层( d l p i ) 或w i n d o w sn t 的网络驱动接口规范( n d i s ) 之上。采用l l t 而不是m 协议栈避免了口协议 栈带来的延迟与额外的负担,这就可以保证在集群节点的状态发生变化时可以快 速的反应到集群的其它节点上。 在集群内部,l l t 通过所有可用的网络连接在集群节点间进行通信,集群状 高可羽霹灾系统分析与 殳计 态信患会平均通过縻鸯的露络连接,如果一个连接发生错谈,在其上进符的通信 会重定淘萋 其它静逶接上。 如果到某个集群节点有多于一个的网络连接,那么称到该集群节点的通信是 可靠的,否则就认为源信是不可靠的,例如集群节点a 、b 和c 两两都有两条完 全独曼戆网络连接,躲暴e 熬一个弼专发生镑谈,器么a 秘b 会把爱鸯豹数据 包都哭邋过c 的一条连接进行发送,这对称集群节点a 和b 之闯有可靠的涟接, 但它们到集群节点c 的连接都是不可靠的。l i 一负责通知g a b 它到某集群节点 的通信怒可靠的还是不可靠的,它锻视网络酶遴接情况并使数据包只遁过w 用静 阚络逡接迸移发送。 ( 2 ) 网络通道和磁盘通道 集爨节蠢趣戆遴壤逶遵蒺茸狱是霹终逶遂纛蜀竣是疆塞遴遵。鼷络遴递诺囊 两络技术,信息以数据包的方式柱网络上传输,网络通道可分为专用网络通道和 公用网络通道两种。遇过在集群节点间共享的磁盘上划出一块共享区域可建立磁 盘通道,弼个集群节点逶过读取这块磁盘区域实现遥信。专雳网络通道速度较莰, 一般稳箕设置为高德先级逶遣,露公薅网络蘧遴秘磁盘逶逡速溲较谩,瑟飘对磁 盘通道洙说还有排它访问的问题稃在,因此一般将其设置为低优先级通道。高优 先级通邋既可传输集群节点成员信息又可传输集群节点资源状态信息,低优先级 遥遘一般瓷嚣下更蹙辕集群苓点成鼹落患。 与广泛使用的两络通道一样,磁盘通道也w 提高集群间谶信的可靠秣,但使 用磁盘通道会有一些缺点:首先,为了避免性能上的损失,需蒙使用磁盘上指定 的区域;其次,使用磁盘通道将会影响应用程序访阔磁盘的憔娆,如果某痰鼹程 事黠磁煮凝繁诱簿,在该磁盘主懿疆盎逶遵会极荔超对。 在飙鼍完成一个湖络通道后,熊群中的每个节点都会周期性的读写共攀磁盘 的区域以实现交换信息的目的,由于i o 读写效率的影响,通过磁盘通道交换的 售惑哭缒整数据量较小躲集群萤患减员售惠瑟黪苓爱是数鬃爨较丈瓣集辩节点 资源状漆信息。 为保证磁盘通道的完整性,g a b 需要定期的检测该磁盘区域的签名信息, 这在一嶷程度上保证了磁盘数据的溅确性,例如这样可使文件系统不会由于 焉然 耱霖嚣技本瘟写入磁焱逶遂蕤集辩簧点藏员信悫覆盏。翔暴磁鑫薄烫发焱了变 化,可能将导致g a b 无法将信息麓入正确的磁箍上,因此獭g a b 发现磁盘签 名与预定值不符时,像就会将该磁盘标识为错误,并且不会继续对该磁盘进行写 操作,墩帮放弃该磁擞遥道。 第二章商埘用容灾系统的缎戚与分析 ( 3 ) 送信通遭错误爱解决方法 普通情况下,如聚一个集群节点无法与某个节点进行邋傣,那么它将认为该 节点已缀发生错误,并将其排除凝集群之外,其上运行服务缎也会迁移到爨一个 集群繁蕊上运行。毽簌某些情提下缀建粼定集嚣节点是否囊瓣发生7 错误,翔罴 由于菲童杌本身原因使集群节点阋的全部通信通道失效( 饼如网络连接众部失 效) ,那就遇到了n e t w o r kp a r t i t i o n s 问题,这种情况下每个熊群节点都会认为其 它的集群节点发生了错误,因此将备自启动其京集群节点上逡行的服务组,这将 导致槎瓣疆务缝静瓣时燕多个集嚣第煮运行,遽群淘蘧称为“s p l i t - b r a i n ”。一般 的,如粜集群中韵两个节点都认为髓够排它的访问某个资源,例如某两个集群节 点都认为可使用某共攀的磁盘,就会产生“s p l i t - b r a i a ”问题。 麓肇豹网络错误芬不一定懿会导致“s p l i t - b r a i n ”,只有在下列冬舞下凑孬月 集群才会处于4 s p l i t - b r a i n ”静状淼: 服务组在集群的某节点上远行。 该服务组在集群中有一个释灾节点。 遮霉该摄务缀戆集饕萤点秘它蠡孽容灾繁熹之藏垂孽遴臻逶遂全郝发整罐 误。 密灾节点启动了排它型资源。 为解决“s p l i t - b r a i n ”问题,麓可用集群弓l 入了“j e o p a r d y 成员”的定义。 嚣耱漕凝下菜集器繁熹会被认隽怒“j e o p a r a y 袋爨”。 集群节点只脊一个可用的网络通道,没有磁盘通道,这种情况下集群节 点既被标识为普通成员又被标识为“j e o p a r d y 成员”。该集群节点襁发生 镶误数 搴提节楚不龛诲在麓一个集群繁爨上襄动骚势缀懿,鑫为遨辩无 法判断是网络润题还是主槐随题。 集群节点没脊网络通道,黼只有磁盘邋嫩,该集群节点会被排除谯普通 榘群成员之外,被标识为“j e o p a r d y 成员”。这是因炎磁盘通遘不交换集 群节袁资滚状态痿意,只交羧集群苓熹藏受痞惠,姿褰群孛菜节煮写箕 识节点的网络通道发生错谈而只剩下磁撤通道时,集群节点会无法获得 熊它节点的资源状态信息,因此该集群节点发生错误时,也要禁此启动 宅蛉容灾节点。 下灏逶过倒子攒述通信逶遵冒姥会产生静耱释错误及群汝方法: 1 4 高可用崭灾系统分析与设计 俄l : abc d 圈2 84 节点专角黼绦通道集群 图2 8 是一个由4 个节点组成的高可用集群,集群节点间通过两条专用网络 通道相溉连接,没鸯公用网络通邋翱磁盘通邀。 懿条嶷嚣萤点c 戆一个弼终连接发生镑谈,壹予更糕下了一个可憝鹤两络 连接通道,那么它将处于一种不可靠的通信状淼,这时节点c 会成为“j e o p a r d y 成员”,但它仍是普邋成员,所有妪常的操作仍会继续进行。 接羲妻霹果集群节点e 又由予壤源教障露发塞罐误,袋群孛其它蒂点郄终获 悉节熹c 已经失效,a 、b 和d 佟为普遥成员继续运行,藏辩集群中已不褥包含 “j e o p a r d y 成员”。由于节点c 发缴错误前是“j e o p a r d y 成员”,因而其它巢群节 点无法判断是网络镄谈还是节点e 的主机错误,因此在节点c 上运行的服务组 逢不会涎移蘩勇一夺褰群藏爨主遮纷。 翔聚是集群节点c 主机的错谡,这时就需臻系统管理掇手动操作,将在节 点c 上遮行的服务组惩移到其它节点。如果不怒集群节点c 的主机错误,但是 由于它唯一的网络逡按失效了,这糖嶷群将会分寓,集群节焱a 、b 窝d 将藏戈 一个繁辫,箍c 翼l j 藏为黉一个单猿第点懿案群。对a 、b 穰d 所在戆集辩来说, 由于c 以前是“j e o p a r d y 成员”,网此那些在c 上运行的服务组将无法被迁移。 类似的,对c 所在的榘群来说,邂行在a 、b 和d 上的服务缀也无法被适移。 爨2 # 公用跨络 专用网络 匿2 94 苇点网络i 豪灌纂群 凿2 9 是一个出4 令节点缀拨瓣嵩霹趸集释,集群节煮阏逶过两条专弼网络 通道和一条公用网络邂道相互连接,没有磁盘通道。公用网络通道为低优先级通 道,它发送信息的频辩低于高优先缀的专用网络通道,且正常情况下不传输集群 节点资灏获态信患。 当熬群节点c 的一条专用潮络连接发生错误时,由予c 还存在另一条专用 网络连接和一条公有网络,因此c 仍为普通成员,在其上进行的操作仍念继续 第二章高可用容灾系统的组成与分析 进行。 接着如果另一条专用网络连接也发生了错误,那么节点c 的集群节点成员 信息和集群节点资源状态信息都要通过低优先级的公用网络进行传输,因此c 将成为“j e o p a r d y 成员”,节点c 上运行的服务组也无法在发生错误时迁移到另 一个节点。在网络连接恢复以后,集群节点资源状态信息会恢复到只使用专用网 络传输,而公用网络恢复到只传输集群节点成员信息,集群节点c 的也将恢复 为普通成员状态。 例3 : a bcd 图2 1 04 节点网络通道磁盘通遘集群 图2 1 0 是一个由4 个节点组成的高可用集群,集群节点问通过两条专用网 络通道和一条磁盘通道相互连接,磁盘通道上只传输集群节点成员信息。 当其中一条专用网络连接失效时,节点c 仍处于普通成员状态,因为此时 它仍有两条传输集群节点成员信息连接。 接着当另一条专用网络连接也失效时,由于无法传输集群节点资源状态信 息,集群被分离成两个小集群。a 、b 和d 将成为一个集群,而c 将成为另一个 集群。c 上运行的服务组在a 、b 和d 所处的集群上处于失效状态,a 、b 和d 上运行的服务组也在c 所处的集群上处于失效状态。 ( 4 ) 多集群多站点网络通信 集群能够提供对应用程序的本地高可用性保护,然而由于集群内部的通信不 易扩展到外部,因此导致某些节点无法直接连入集群系统,这时就需要建立多个 集群。 一般在下列因素的影响下需要建立多个集群: 距离因素:某些主机由于距离较远的原因无法连入特定的集群。 体系结构因素:整个系统中可能包括不同体系结构的主机,很难把它们 组织在一个集群中。 功能因素:应用程序的运行各自不相关,将运行这些应用程序的主机组 织在一个集群中没有什么好处。 为了管理多个集群,需要将整个系统按照管理规模由大到小分为四种: 高可用容灾系统分析与设计 站点:一个或多个集群的集合。 集群:一台或多台主机系统的集合。 主机系统:包含可运行的一个或多个服务组的主机。 服务组:主机系统资源的集合。 多个集群组成一个站点,距离较远的多个站点之间也可相互通信,并借助远 程复制技术组成一个远程高可用容灾系统。 监视服务组状态的高可用性守护进程运行在每个主机系统之上,它监听集群 的配置、状态和更新信息。每个集群中存在一个称为集群通信s l a v e 的进程,它 运行在该集群的某主机系统之上。每个站点存在一个称为站点主的主机系统,在 其上运行着一个称为集群通信m a s t e r 的进程,该进程也处于一个服务组,当该 服务组失效时它也可迁移到另一台主机系统上继续运行( 图2 1 1 ) 。 网网凰网网网 i 蝗l 集释i集群2 图2 1 1 集群问通信 站点主接收每个集群通信s l a v e 进程报告给它的集群、服务组和主机系统的 信息,然后站点主会与其它站点的站点主进行通信来交换信息,这就使各个站点 能够获得一个整体的系统状态视图( 图2 1 2 ) 。 站点1 集群1集群2 图2 1 2 站点间通信 对多站点通信的情况来说,网络的带宽和延迟都不构成限制,集群通信 m a s t o r 进程间直接通过s o c k g t 连接进行通信,因此可使用任何支持t c p 球协议 的网络。慢速网络只意味着信息会迟些到达远程站点。 第二章高可用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险代理人培训课程与考试题库汇编
- 中小学生良好学习习惯养成方案
- 光伏加储能系统技术经济性分析
- 新冠肺炎防控及护理措施规范研究
- 2025年环保型化工原料采购合同-环境责任与安全协议
- 2025年汽车保险理赔及道路救援服务全面合作协议
- 2025年农村产业融合发展农商行项目融资合作协议书
- 时团海龟汤题目及答案盲人
- 客服中心绩效考核标准手册
- 曹操龟虽寿诗歌解析与默写训练
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 丹江口事业单位笔试真题2024
- 中医师承跟师笔记50篇
- GB/T 3648-2024钨铁
- 华为-质量回溯培训教材
- 肾细胞癌诊断治疗指南解读
- 宜宾国企公开招聘综合能力测试题
- DB4201-T 569.6-2018 武汉市反恐怖防范系统管理规范 第6部分:城市轨道交通
- 化工有限公司3万吨水合肼及配套项目环评可研资料环境影响
- 2024年江苏省对口单招英语试卷及答案
- 洛阳民宿的分析报告
评论
0/150
提交评论