




已阅读5页,还剩55页未读, 继续免费阅读
(计算机科学与技术专业论文)事件驱动数据复制系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 现代社会正朝着信息化方向发展,信息技术在社会中发挥着越来越核心的作 用。数据容灾技术作为信息技术的重要组成部分也显得越来越重要,它可以保证 数据在发生计算机系统故障、网络故障甚至于在发生火灾、地震、恐怖袭击和战 争之后仍然能够使用。 本文在研究当前容灾系统和容灾技术的基础上,提出了一种w - m d o w s 平台 下的容灾系统方案w s r ( w i n d o w ss t o r a g er e p l i c a t o r ) ,对该容灾系统的基本原 理、体系结构、工作流程和关键技术进行了研究和讨论,在最后对系统性能进行 了测试并且对测试结果进行了讨论与分析。 w s r 的基本原理是通过在w m d o w s 的卷管理器内嵌入远程数据复制机制和 数据恢复机制,采用了事件驱动方式构造了一个高可用的数据容灾系统。 本文的主要贡献包括: 1 研究了数据一致性机制,提出了跨多个卷的数据一致性原则,它使得跨 卷的应用程序数据也能够保证靠可用性; 2 研究了在数据复制过程中使用流水线方法,它使得系统在进行数据复制 的时候有很高的效率,并且对系统性能的影响较少; 3 研究了一种基于d c m 的灾难恢复机制,使得系统在发生灾难以后能够 以多种方式快速、高效地对数据进行恢复; 4 提出了使用状态机对容灾系统所要面对的多种多样的事件进行处理,使 得保证事件处理的正确性和完备性更加容易和便利,并且采用设计模式 中的s t r a t e g y 使事件处理部分在容灾系统中更加独立、灵活和易扩展; 5 由于容灾系统异步性能测试结果与预期结果存在差异,文章从复制稳定 性和内部损耗等多个方面对系统进行了分析,找出了原因所在,并指出 了以后需要研究的方向, 经过理论研究和对原型系统进行了测试之后,可以看出w s r 能够完成数据 备份和灾难恢复的工作,并且具有较高的性能。它可以经济、高效、可靠的构建 数据容灾系统,在现实生活中具有重要的意义。 关键词:数据容灾;数据复制;数据一致性;流水线:状态机;正反馈 a b s t r a c t w m lt h es o c i e t ye n t e r i n gi n f o r m a t i o na g e s ot h ei n f o r m a t i o nt e c h n o l o g yi s p l a y i n gam o r ei m p o r t a n tr o l ei nt h es o c i e t yt h a ni tu s e dt ob e a sa ni m p o r t a n tp a r to f i n f o r m a t i o nt e c h n o l o g y , d a t ad i s a s t e rt o l e r a n c es y s t e mi sb e c o m i n gm o r ea n dm o r e i m p o r t a n t , b e c a u s ei tg a l lg u a r a n t e ed a t as a f ei na n yc o n d i t i o ns u c ha sh a r d w a r e f a i l u r e ,n e t w o r ki n t e r r u p t i o n , f i r e ,e a r t h q u a k ea n dw a r b a s e do nr e s e a r c h i n gt h ec u r r e n td i s a s t e rt o l e r a n c es y s t e m sa n dr e l a t e d t e c h n o l o g i e s , t h ep a p e rp r e s e n t sad a t ad i s a s t e rt o l e r a n c es y s t e mo nw i n d o w s ,n a m e d w i n d o w ss t o r a g er e p l i c a t o r ( w s r ) t h ep a p e ri n t r o d u c e da n dd i s c u s s e db a s i c c o n c e p t s ,s y s t e m sa r c h i t e c t u r e ,w o r kf l o wa n dk e yt e c h n o l o g i e so fw s rs y s t e m a t l a s t , i ts h o w st h ep e r f o r m a n c et e s tr e s u l ta n dt h ea n a l y s i so f t h er e s u l t t h eb a s i cp r i n c i p l eo fw s ri st oe m b e dr e m o t er e p l i c a t i o nm e c h a n i s ma n d d i s a s t e rr e c o v e r ym e c h a n i s mi nt h ev o l u m em a i l a g e r t h ew o r kf l o wi sd r i v eb y e v e n t t h ek e yt e c h n o l o g yo fw s ra r et h et e c h n o l o g yo fe m b e d d i n gr e p l i c a t i o n m e c h a n i s mi nw i n d o w sk e r n e l ,t h em e t h o do fk e e p i n gt h ed a t ac o n s i s t e n c yi n r e p l i c a t i o nv o l u m eg r o u p ,t h ep r o t o c o lo f r e m o t er e p l i c a t i o n ( t r a n s m i s s i o n ) b a s e do n v o l u m e sa n dd i s a s t e rr e c o v e r yp o l i c y t h em a i nc o n t r i b u t i o no f t h et h e s i sc a nb es u m m a r i z e da sf o l l o w s : 1 ho r d e rt oi m p r o v et h ep e r f o r m a n c eo fd a t ar e p l i c a t i o n , t h ep i p e l i n ei s p r o p o s e d ; 2 i no r d e rt or e s o l v et h ep r o b l e mo fd a t ai n c o n s i s t e n ta f t e rt h ei n t e r r u p t i o no f p i p e l i n e ,t h ea t o m i co p e r a t i o ni sp r o p o s e d ; 3 ho r d e rt os i m p l i f yt h ee v e n th a n d l i n g t h es t a t em a c h i n ei sp r o p o s e d ; 4 i no r d e rt om a k ew s rm o r ea g i l ea n df l e x i b l e ,t h es t r a t e g yp a t t e r ni s p r o p o s e d ; 5 i no r d e rt oe x p l a i nt h ea b n o r m a lb e h a v i n go fa s y n c h r o n yr e p l i c a t i o nm o d e , s y s t e ms t a b i l i t ya n dw a s t a g ea r ed i s c u s s e d k e yw o r d s :d a t ad i s a s t e rt o l e r a n c e ;d a t ar e p l i c a t i o n ;d a t ac o n s i s t e n t ;p i p e l i n e ; s t a t em a c h i n e ;p o s i t i v ef e e d b a c k i 西北工业大学 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位 期间论文工作的知识产权单位属于西北工业火学。学校有权保留并向国家有 关部门或机构送交论文的复印件和电子版。本人允许论文被查阅和借阅。学 校可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存和汇编本学位论文。同时本人保证,毕业 后结合学位论文研究课题再撰写的文章一律注明作者单位为西北工业大学。 保密论文待解密后适用本声明。 学位论文作者签名:墨堡 指导教师签名 z 扩9 1 年;月f 日 2 - 我年中月日 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交的学位 论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文 中已经注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体 已经公开发表或撰写过的研究成果,不包含本人或他人己申请学位或其它用 途使用过的成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名:墨毋磊 l d 1 年j 月f 日 两北丁业大学顶十学竹论文第1 章绪论 1 1 研究背景 第1 章绪论 随着我们的社会逐渐成为信息化社会,信息技术在社会中也会起着越来越重 要的作用,发挥越来越核心的作用。可以这样说,我们的社会建立在信息技术的 基础之上,那么这个基础是不稳固就显得特别重要。从信息技术诞生以来,它的 应用模式经历了巨大的转变:最初因为计算资源的稀缺,它以信息处理为核心; 然后因为网络资源的稀缺,它以信息传输为核心;而现在及将来的计算则以用户 数据为核心,数据才是用户计算机系统中最重要的资源,用户数据的可用性是一 切计算的基础。 数据是一种软性资源,它和计算机系统的其它资源存在很大的不同。作为计 算资源和网络资源的设备或者软件出现故障,完全可以进行替换。然而,如果数 据丢失,那么它往往是难以恢复的,它造成的损失往往也是难以弥补的【”。 “凡事预则立,不预则废”。容灾系统就是考虑弱大范围内故障或者灾难发 生的可能性,将数据资料备份至4 数十公里以外或者更远的地方,保证在各种情况 下( 例如大范围停电、地震或者洪水等发生的情况下) ,都能够保证数据的可用 性。容灾系统在实现中可以分为数据容灾和应用容灾两个层次。前者指建立一个 异地的数据系统,作为本地关键应用数据的一个备份;后者则是在数据容灾的基 础上,在异地建立一套完整的与本地生产系统相当的备份应用系统( 可以互为备 份) ,在灾难情况下,远程系统迅速接管业务运行。 开展容灾系统研究,实施正确的容灾方案具有重要的社会意义f 2 1 1 3 1 : 1 可以有效防止企业、部门由于重要数据丢失所造成的不可弥补的损失 根据美国劳工部的统计数据,9 3 的有严重数据丢失的公司在5 年之内破产。 维斯康星大学的统计结果也显示,4 3 的美国公司在数据灾难后关门;而2 9 的 公司在两年之内破产。这些统计数字表明,提供可靠的数据存储保证是至关重要 的,而最有效的手段就是数据备份。 目前,美国等发达国家非常重视数据备份技术,与备份设备连接的服务器已 经达到服务器总量6 0 以上。而国内只有不到1 5 的服务器连有备份设备,这 就意味着我国8 5 以上的服务器中的数据面临着随时遭到破坏的潜在危险。通 过开展容灾系统研究,实施正确容灾方案,用户可以构建可靠的数据备份系统, 第1 章绪论西北二厂业大学硕十学位论文 可以轻松地实现数据保护,从而保证企业的正常运转。 2 可以大幅度提高企业、部门的计算机系统维护人员的工作效率 市场调研表明我国的各类企业和部门都建立了计算机系统,构建了网络环 境,但大部分企业、部门对于重要数据都采用手工备份的方式,这种备份需要维 护人员手工、定期进行,其工作繁琐,并且容易因为误操作产生问题。通过开展 容灾系统研究,实施正确容灾方案,用户可以实现数据的动态、自动复制,达到 安全备份的目的。在意外发生时,可以进行系统的自动恢复或者把应用程序迁移 到从服务器上运行,从而把维护人员从繁琐的数据备份和恢复工作中解放出来。 1 2 研究现状 传统的数据容灾方式1 4 】是静态、离线、定期的备份( 例如磁带备份) ,实施 备份时一般需要停止应用程序的运行,备份过程持续的时间也比较长,并且需要 维护人员手工、定期实施,其工作繁琐,并且容易因为误操作而产生问题。而且, 由于备份周期一般较长,在发生灾难时,备份的数据与实际应用的数据可能相差 甚远。近年来,由于很多应用系统需要以2 4 7 方式运行,并且数据容灾系统也 逐渐成为中、低端用户的需求,操作复杂的静态、离线数据备份已经不能满足应 用的需求,这对传统的数据容灾方式提出了巨大挑战。 为了在灾难和故障发生时保障数据的安全可用,避免对企业和部门造成不可 弥补的损失,国内外众多研究部门、大学和制造厂商投入大量人力物力开展客灾 系统软件的研究与开发,取得了不少研究成果,并有一批比较成熟的产品投放市 场。国内外所进行的数据容灾系统相关技术研究重点围绕网络实时数据备份、瞬 间备份、传输协议等方面展开。 网络实时数据备份技术和瞬间数据备份技术是两种相辅相成的技术,将是数 据容灾的主要发展方向。网络实时数据备份可以有效地保证业务服务器端发生设 备故障或其它一些非传播性灾害时备份数据非常接近故障发生前的业务数据,并 且可以与集群系统结合提高系统的可用性;但是为了保证在发生病毒侵袭或者人 为误操作这种具有传播性的灾害( r o l l i n gd i s a s t e r ) 后数据仍然可用,必须采用瞬 间实时备份技术,及时创建物理上隔离的副本。随着研究的深入,国内外许多著 名i t 公司都开发出一系列的相关产品,它们在某一方面取得了好的效果,但又 存在诸多的不足。 在实时数据备份方面,美国e m c 公司开发的t i m e f i n d e r t s l 是一个在磁盘阵 列的固件上实现的实时数据复制系统,数据通过专用的光纤网络传输;美国 n e t a p p 公司的s n a p m i r r o r 6 】是一个文件系统实时复制系统,但是只能用于l f s 西北t 业大学硕七学何论文 第1 章绪论 和w a f l 文件系统的数据备份,通用性较差;美国v e r i t a s 公司的w r ( v e r i t a sv o l u m er e p l i e a t o r ) 1 7 1 是一种嵌入在主机逻辑卷管理系统中以逻辑卷 为单位的实时网络数据备份系统,虽然此系统不依赖于物理设备并且对应用程序 透明,但是却依赖于逻辑卷管理系统。 在瞬间数据备份方面,h i t a c h id a t as y s t e m 的n a n o c o p y 和s t k 公司的 s n a p s h o t 等提供了基于硬件的产品,而v e r i t a s 的v x v m 提供了一种基于卷管 理系统的瞬间备份方案。这些产品都在一定程度上解决了部分应用环境下的问 题,但是由于这些产品本身对于硬件或者软件系统的依赖性,不适合普通用户使 用。 而在实时数据备份的数据传输和更新协议方面,目前已有的协议基本上都是 严格保证业务服务器和备份服务器上数据更新的顺序严格相同,这种方式虽然能 够保证双方的数据一致性,但是由于每个用户数据更新请求都会出发一次数据传 输,而应用程序可能在很短的间隔内对同一区域的进行多次提交,这种协议的工 作方式造成很大的网络带宽浪费,在网络带宽比较小的情况下会增加网络拥塞从 而也会引起应用系统的性能下降。 1 3 研究内容 从2 0 0 5 年起,作者所在项目组开始着手研究与开发w i n d o w s 平台数据容灾 系统w s r 。该系统在文件系统中嵌入远程复制和灾难恢复机制,实现了对本地 数据的动态、远程复制。在灾难发生时,提供了应用的迁移和回迁,保证了数据 的高可靠性和高可用性。而且与以上提到的容灾系统,它具有以下特点: 低投资它是一个软件模块,不需要大量的硬件设备投资。 高可靠可以同时支持多个备份端,使数据的可靠性大大增强。 高性能在保证数据可用的情况下对系统资源消耗极少。 作者参与了整个项目的研究、开发、测试和发布的所有环节,具体说来有以 下具体工作: 系统整体结构和工作方式的设计 数据一致性的研究与日志机构的设计 系统的事件处理模型的研究与自动机的设计 系统性能测试与结果分析 第1 章绪论西北t 业大学硕士学位论文 1 4 本文的组织结构 本文的安排如下: 第一章:综述论文的研究背景、研究现状、研究内容和组织结构。 第二章:描述了w s r 系统的总体结构和组成部分,对其中的重要的概念和 原理进行解释,然后对系统的工作方式进行了描述。 第三章:描述了w s r 系统日志机构和复制机制,详细讨论了它们与数据一 致性的关系,并且对复制的效率进行讨论。 第四章:描述了数据灾难发生后,如何进行数据迁移和数据回迁,以实现高 可用性的目标。 第五章:描述了w s r 系统的事件驱动机制,重点讲述了状态机的实现和设 计模式在系统中的使用。 第六章:这部分是对系统的性能测试结果以及对测试结果的分析。 第七章;总结本文的成果,并指出需要进一步进行的工作。 4 西北。业大学硕十学伊论文第2 章w s r 系统概述 第2 章w s r 系统概述 2 1 数据容灾的背景知识 数据容灾就是指建立一个备份的数据系统,当系统数据崩溃时能够使用备份 数据快速的恢复数据。 如果不考虑容灾,一个i o 请求将按照图2 一l 左半部分由顶部最终达到实 际的物理设备。那么数据容灾系统可以在沿着g o 路径多个阶段的任何一个地方 实现【8 】。 针对特定应用( 比如数据库) 主机中的卷管理器 主机i 0 控制器设备驱动程序 主机控制器硬件或固件 存储子系统 每个层次实现的容灾系统都有各自的特点。一般说来,越靠下的位置性能越 好,对主机资源的占用越少,额外的设备投资越大;越靠上的位置越容易与主机 系统集成,升级越方便,花费越少。本文讨论的容灾系统建立在w i n d o w s 系统 的卷管理器之上,如图2 1 所示。 特定应用 文件系统 f 。容灾位! 卷管理器 一 - 4 设备驱动程序 系统总线 主机i o 控制器 存储i o 总线 图2 1i o 路径中的容灾位置 w i n d o w s 的卷不同于较早的磁盘分区。较早的磁盘分区是将一个物理的磁盘 分为多个逻辑上地址连续的分区,以便于进行管理和使用。卷则发展了这种观点, 第2 章w s r 系统概述西北丁业大学硕七学付论文 卷提供了逻辑上的一个地址连续的存储空间,对他本身的物理结构则没有限制。 比如一个分区在物理磁盘上必须是连续的,卷没有这种要求;分区不能跨越物理 磁盘,而卷可以跨越物理磁盘,甚至它本身支持分条和镜像功能。 2 2 数据容灾的基本原理 一个数据容灾系统按照使用流程可以分为两大部分: 1 在灾难发生前,对源数据进行实时备份。 2 在灾难发生后,使用备份数据来减少灾难的影响。 那么就有一个基本的问题需要解决,如何保证我们的备份数据是可用的昵, 也就说如何保证灾难发生后,备份数据和源数据在某个时刻的一个快照一样呢? 如果采用传统的磁带进行夜间离线备份,我们自然可以保证磁带上的数据和原始 数据一模一样。然而,在线的数据容灾系统增加了复杂的因素一源数据不断的 被更新,备份过程不断的进行为了解决这个问题引出数据一致性原则。 2 2 1 数据一致性与数据备份方式 构造一个具有一个源设备和一个备份设备的简单的容灾系统【9 j ,它将源设备 上的更新数据实时复制到备份设备之上。我们用o d 和b d 分别代表源设备和目 标设备,用时间戳0 0 ) 和f 8 ( r ) 分别代表o d 和b d 在时刻t 的数据映像。 定义1 如果在任意时刻r ,存在时刻t ( t f ) ,有 f d ( r ) = 矿( f ) , 则认为b d 与o d 上的数据满足一致性,记“f ) = ,一t 为容灾系统在时刻,的相位 差,( f ) 为容灾系统的源设备和备份设备在时刻f 数据差异。 源设备如果在某一时刻t 发生灾难,源设备上的当前数据d o ) 将不可用,我 们采用此时备份设备上的数据f 8 ( f ) ,根据数据一致性的定义,这个数据和前面 某一时刻,源设备上的数据矿( ,) 是相同的,那么可知数据是可用的。 从具体实现的角度,要保证源设备和备份设备的数据一致性,容灾系统必须 保证用户请求在备份设备上的执行顺序与其在源设备上的执行顺序完全相同 ( w r i t eo r d e rf i d e l i t y ) 。保证这种顺序的一种有效方式就是使用日志机构,我们 将对源设备的数据更新请求按照时间顺序记录到日志中,然后备份端根据日志中 记录的顺序更新设备上的数据,这样数据一致性条件就得到了满足。 2 2 2 备份效率与灾难后的数据损失 在解决了第一个问题之后,我们对上面的第二个问题进行分析。 6 西北t 业大学硕十学伊论文 第2 苹w s r 系统概述 在源设备发生数据灾难造成源数据不可用之后,启用备份设备上的备份数据 是立即需要进行的工作。从此以后,备份设备就替换了源设备的工作,成为新的 源设备为上层应用提供服务。由于数据的备份有一个过程,那么妒( f ) 存在大于零 的情况,那么在这种情况下a ( t ) 将成为损失的数据,这就会造成上层应用在t 时 刻前对源设备写入的数据和在t 时刻后对备份设备读取的数据不同,我们把这种 问题称为设备数据视图的不一致性。 然而对于上层应用来说,设备数据视图的不一致并不是造成数据损失的唯一 原因。考虑如图2 2 所示的一个系统,一个普通的应用程序产生的数据需要经 过五个步骤才能到达备份设备。在某一时刻t ,应用程序逻辑看到的数据视图不 仅包含了备份设备上的所有数据,还包括了几个缓存b 1 、b 2 、b 3 中的数据以及 ( f ) 。恰好此时数据灾难发生了,源设备不能使用,会发生什么昵? 如果源设备 是独立的存储系统,我们将应用迁移到备份系统上,这时所损失的数据将只是 ( f ) 而已,这将是最好的情况。如果应用程序和存储系统存在于一个系统之上, 如果此时系统崩溃,这会引起b l 、b 2 、b 3 中的数据和a ( t ) 全部丢失。 原系统备份系统 匿应用程序逻辑l 且s l 臣应用程序缓存b tj 且s 2 e 库函数缓存b f j 且s 3 巳文件系统缓存b 3l 提s 车 f 源设,j s 5 l j :f篁份设备j 图2 2 对一个普通应用的窑灾 为了在灾难发生时尽量减小数据的损失量,我们可以让存在于b 1 、b 2 、b 3 中的数据和( f ) 尽量的少。在极端的情况下这几个值都是零,那么灾难发生时将 不存在数据损失。显然的,在这种情况下,我们实现了一种从应用程序逻辑到备 份设备的透写( w r i t e t h r o u g h ) 。 由于明显的效率原因,这种透写应用价值很小。并且本文所涉及到的容灾系 统,它仅仅涉及到图2 2 中最后两个部分,我们不能对上层的应用进行透写假 第2 章w s r 系统概述 西北工业大学硕七学何论文 定。那么我们可以知道,当灾难发生时要求数据没有丝毫的损失是不现实的。 如果应用数据比较重要,为了尽量减少损失而在文件系统与备份设备之间实 行透写,使o ) 为零却是可以的。这种情况下,文件系统向容灾系统提交数据请 求后将一直等待。直到容灾系统将数据复制到备份设备并且更新完毕后才标记此 请求完成,我们称这种备份方式为同步复制数据的备份方式,简称同步复制方式。 相对的,如果对效率要求较高,对数据损失相对不敏感的应用,( f ) 可以不 必为零。在这种情况下,文件系统向容灾系统提交数据请求后将等待,但不必等 到容灾系统将数据在备份设备上更新完毕后才标记此请求完成,我们称这种备份 方式为异步复制数据的备份方式,简称异步复制方式。这种异步复制方式外在表 现类似于回写( w r i t e - b a c k ) 。 2 3 体系结构 w m d o w s 存储复制系统( w i n d o w ss t o r a g er e p l i c a t o r ,简称w s r ) 是一个 w m d o w s 平台下基于逻辑卷的远程数据容灾系绀1 0 i 1 1 ”。它通过在操作系统内核 中嵌入远程复制机制,在远程维护应用数据的一个或多个数据一致的副本实现了 数据的实时、动态的备份;也嵌入了灾难恢复机制,确保在本地数据发生灾难后 能有效的使用远程的备份数据实现容灾。 2 3 1 基本概念 系统采用最常用的c l i e n t s e r v e r 结构来实现,即源设备所在的主机我们称为 主端( p r i m a r y ) ,备份设备所在的主机我们称为从端( s e c o n d a r y ) 。 在进一步描述系统结构和功能之前,我们先来了解一些重要成员的概念: r v g ( r e p f i e a f i o nv o l u m eg r o u p ) :r v g 是一组v o l u m e 的集合,是进 行复制的基本单元。它由若干d a t av o l u m e 和1 个l o gv o l u m e 构成,分 为主端r v g 、从端r v g 和伪从端r v g 三种类型,w s r 系统最多可用 有3 2 个r v g 。 d v ( d a t av o l u m e ) :r v g 中存有数据的v o l u m e 称为d v ,它是进行复 制的数据来源。其上可以构建各种应用程序,如文件系统( f s ) 、数据库 系统( d b s ) 等; l v ( l o gv o l u m e ) :r v g 中保证数据一致性的日志机构所使用的v o l u m e 称为l v ,用于按照先后顺序对数据更新进行记录; r l i n k ( r e p l i c a t i o nl i n k ) :r l i n k 是p r i m a r yr v g 与s e c o n d a r yr v g 西北t 业大学硕+ 学仿论文 第2 章w s r 系统概述 之间通信的桥梁,用于两者间信息和数据的传输。每个主端r v g 可以最 多拥有8 个r l i n k ,每个从端r v g 则只有一个对应于相应主端的 r l i n k 。 系统结构如图2 3 所示。 一p r l m a r y 、 s e c o n d a r y 、 ( a p p l i c 抵) 蕊黯一王 ; i f i l es y s t e m b : , 一z 一一一 3 w s r l w s r i 乜二二_ 一 王_ 乡 鼍曼逆篓 一。”5 跫汀3 p 固一”一鼍 图2 3 w s r 系统结构图 w s r 嵌入到w i n d o w s 内核之中,它位于文件系统之下卷管理器之上。它通 过对存储卷上块一级的数据进行复制和备份,以达到容灾效果。在w s r 中,数 据复制的基本单位是r v g ,实际的复制由主从端二个r v g 协作完成。在一个主 端r v g 中一般包括一个l v ,多个d v ,一个或多个r l i n k ;一个从端r v g 中 也包括一个l v 和多个d v ,但一般只包括一个r l i n k 。主从端的一对r l i n k 代表了一条复制连接。 2 3 2 基本原理 w s r 的工作原理如图2 4 所示。 当主端的上层应用发起数据更新请求时,w s r 首先截获请求,然后对请求 进行分析,看这个数据更新请求是否作用在需要进行复制的卷上( 步骤1 ) 。如 果是需要进行复制的数据更新请求,w s r 将数据按照次序写入至l v 中去( 步 骤2 ) 。而后由负责数据传输功能的r l i n k 从l v 中将数据依次读出并通过网络 将数据传输到从端( 步骤4 、5 ) ;与此同时w s r 将日志上的数据写入目的数据 卷中( 步骤3 ) 。在从端,r l i n k 将接收到的数据经过组织之后写入从端数据卷 9 第2 章w s r 系统概述西北工业大掣硕十学位论文 ( 步骤6 、7 ) 。 当主端的上层应用发起数据读请求时,w s r 在截获之后不做任何内部处理, 直接交给数据卷进行处理。在从端数据读请求执行过程与主端相同,而数据更新 请求是被禁止的。 ( i ) 图2 4 系统工作原理示意图 ( l v ) 在主端发生数据灾难的时候,我们将从端切换成新的主端,使其可以接受数 据更新请求,从而全面替代原主端的角色。考虑到下一步容灾的需要,应该再创 建一个从端,和新主端一起重新构成一个容灾系统。 2 4 系统工作方式 根据使用流程的观点,w s r 将数据容灾系统分在灾难前进行备份的数据备 份子系统与灾难后进行恢复的灾难恢复子系统两大部分。同时,作为一个容灾系 统,要求它在各种可能的事件发生后仍然能够保证数据的可用性,由于实际情况 的多样性和复杂性,容灾系统对各种事件的处理也就显得格外重要,所以对事件 处理也变得十分重要。w s r 的两个子系统都是以事件处理为中心构造起来的, 形成了一个事件驱动的容灾系统。 2 4 1 数据备份子系统的工作方式 使用w s r 从零构造一个数据容灾系统以进行数据备份是备份子系统的工 i o 西匕t 业火学硕十学位论文 第2 章w s r 系统概述 作,它需要以下四个步骤: 1 创建主从系统:在本地和远程w s r 系统中创建p r i m a r yr v g 和 s e c o n d a r yr v g ,并分别创建r l i n k 用于两个r v g 之间的连接: 2 创建应用:在p r i m a r yr v g 的d v 上构建f s 、d b s 等应用; 3 初始同步:启动p r i m a r yr v g 的r l i n k 开始复制前,p r i m a r yr v g 可 能已经存在部分数据,此时就需要进行p r i m a r yr v g 和s e c o n d a r yr v g 的初始同步,即以手工或者自动的方式进行p r i m a r yr v g 与s e c o n d a r y r v g 之间的数据复制直至达到一致; 4 远程复制:启动p r i m a r yr v g 的r l i n k 进行复制。 到此为止,一个容灾系统已经建立起来了,此后数据将按照图2 4 所描述 的那样源源不断的从主端备份到从端。 在这个数据备份的过程中,数据备份子系统支持以下的操作: 1 停止复制:这将停止容灾系统的运行,如果再次启动复制过程,必须重 新经过构造容灾系统的四个步骤: 2 暂停和恢复复制:在某些情况下需要暂时停止复制,这一般是对w s r 系统的配置进行更改的前奏,在更改完成后,可以恢复复制过程: 3 更改数据卷:可以减少或者增加复制卷组中d v ; 4 替换日志卷:在日志卷发生故障时可以进行替换; 5 更改主从数据卷的映射关系:主端的d v 和从端的d v 存在一一映射关 系,当更改数据卷后,可能需要改变原有的映射关系。 2 4 2 灾难恢复子系统的工作方式 当灾难发生后,利用备份数据进行灾难是灾难恢复予系统的工作,它需要经 过以下两个步骤: 1 灾难后迁移:当本地p r i m a r y 系统数据遭受灾难时,使用从端数据代替 主端的数据,实现灾难后数据的迁移; 2 灾难后回迁:当进行了数据迁移之后一段时间,原p r i m a r y 系统重新可 用时,可以根据需要由新主端数据恢复原主端的数据,还可将上层应用 从新主端回迁到原主端执行,实现应用回迁,当然也可以由远程备份系 统继续为外提供服务,而本地系统作为远程系统的一个备份系统工作。 上面的第二步是可选步骤,如果灾难发生后,原主端的无法恢复或者不想恢 复,那么便可以不选择它来执行。 我们为恢复过程提供以下操作: 1 主从端的切换:由于从端不能接受数据更新,在迁移时,需要将从端切 第2 章w s r 系统概述 西北工业大学硕十学位论文 换为主端,另外,在回迁时,也需要将原主端切换为新主端的一个从端, 才能使数据从新主端流向原主端; 2 数据的恢复:在实行回迁时,由于原主端发生过灾难,它的数据会存在 一些错误,新主端接管应用一段时间之后又有了不少新的数据,所以需 要对数据进行恢复。 2 4 3 事件驱动机制 数据容灾系统要在各种可能出现的事件发生后仍然能够保证数据的可用性, 所以容灾系统对事件的处理方式就显得十分重要。那么在系统当中就需要把事件 处理提到一个核心的位置,构建一个事件驱动的系统。 由于实际情况的多样性和复杂性,容灾系统处理各种事件的逻辑往往异常复 杂。在w s r 系统中,我们对可能出现的事件进行分类: 1 管理员对容灾系统的管理; 2 复制系统内的常规事件; 3 复制系统内的常规错误; 4 不可恢复故障。 然后采用了状态机对事件进行处理,保证了事件处理策略的正确性和完备 性。 对于不同的容灾环境,事件处理过程中所采用的策略会有所不同。比如保证 灾难时数据丢失最少的同步复制策略,为了性能提高的异步复制策略。我们使用 s t r a t e g y 模式f 1 2 j 对不同的事件处理策略进行封装,并且使它们能够互相替换,从 而使事件处理策略能够独立于容灾数据而变化。 2 5 小结 本章首先提出了构造数据容灾系统的两个要素,然后使用这种观点对我们开 发的容灾系统w s r 的基本原理和工作方式进行了描述,在最后,特别提出来对 数据容灾系统特别重要的事件处理问题,并提出了解决方法。 西北丁业大学硕十学位论文 第3 章数据备份子系统 第3 章数据备份子系统 保证数据一致性是对备份的基本要求,在实际的系统中这并不是备份的全部 内容,它还要包括对效率、性能的考虑,还包括实际设备对实现方式的限制。 3 1 多设备的数据一致性 在w s r 中,我们通过将主端的数据更新在日志上进行记录的方式进行了实 现了数据一致性。 考虑某些需要同时使用多个卷应用程序。例如o r a c l e 数据库系统,必须维 持多个卷范围内的数据一致性,其恢复程序才能正常地前滚或者回滚。如果独立 地把各个主端d v 分别设置从端d v ,则在复制过程中,各个主端d v 间数据块 写入的顺序可能与各个从端d v 间数据写入的顺序不同,那么恢复程序的前滚或 者后滚将不能进行。为了保证多个卷范围内的数据一致性,我们有以下定义: 定义2 如果用时间戳f 0 1 0 ) ,f 0 1 ( f ) ,f “o ) 和r ”( f ) ,f ( f ) ,f “( f ) 分别代表主端 n 个源设备和对应的从端n 个备份设备在时刻r 的数据映像,那么在时刻f ,存在 r t ,使得 n f 。o 。) = f “( f ) o = 1 , 2 ,”) 如图3 1 所示,假设一个o r a c l e d b m s 同时需要使用d v l 和d v 2 两个卷 进行工作。图中的数据更新请求1 4 代表一个完整的事务,并且这些请求由 d b m s 按递增的顺序发出。我们的复制系统对d v l 和d v 2 分别设置了复制卷, 分别进行复制。由于d v l 和d v 2 的复制过程是独立的,如果在请求l 一4 的更 第3 章数据备份子系统西北t 业大学硕十学位论文 新过程中r v g 发生图中所示的故障。那么这个事务中的第3 号请求没有被更新 到d v 2 上。如果此时将d b m s 迁移到备份服务器使用d v i 和d v 2 时,d b m s 的恢复程序会发现这个事务并没有执行成功,但也无法撤销。那么在这种情况下 我们可以形象的看出d v l 和d v 2 上的数据是不一致的。 为了保待多个卷范围内的数据一致性,w s r 支持把多个d v 组成一个r v g 。 在复制过程中,本地主机会递增地为每一个请求按照请求到达的时间加上一个在 r v g 范围内唯一的序号,如图3 2 所示。远程主机也按照序号递增的顺序执行 请求,即远程主机在接收到请求后,不是直接执行写操作,而是执行以下判断: 1 如果该请求为提前到达的请求( 即有序号更小的请求没有到达) ,则把它 放到r v g 的缓冲区中。 2 否则,执行该请求。在请求操作完成后,根据序号来判断r v g 缓冲区 中是否有可以执行的请求,如果有,执行该请求。 由于按照序号保持请求的执行顺序,可以保持整个r v o 范围内的数据更新 顺序,从而保持r v g 的数据一致性。如果在复制过程中发生故障,则: 1 如果请求1 - 4 都已经被更新到r v g 上,则d b m s 的恢复程序会前滚该 事务; 2 如果请求1 - 4 中只有最后的某些请求没有被更新到r v g 上,则d b m s 的恢复程序会回滚该事务。如所示,如果发生故障时远程主机端没有收 到请求3 ,但收到了请求4 ,则4 仍然保持在r v g 的b u f f e r 中,不会被 更新到l v l 上,因此r v g 上的数据是一致的。 在中不会出现数据不一致问题,所以d b m s 的恢复程序总是可以正确地回 滚或者前滚。 图3 2 对一个r v g 中的所有d v 请求进行统一排序 3 2 日志机构的原理 从早期的网状数据库系统开始,日志机制就是数据库系统研究的重点。数据 1 4 西北丁业大学硕士等位论文 第3 章数据备份子系统 i i 库系统日志与事务紧密相关,它记录每个事务的执行情况,当系统崩溃时可通过 查阅日志来重建数据库系统。根据日志的工作方式,可分为u n d o 日志、r e d o 日 志和u n d o r e d o 日志。这三种日志的记录内容、记录顺序、和恢复方式各不相同。 以o r a c l e 为例,主要采用了u n d o r e d o 日志机制,首先根据“提前写日志规则”, 在日志文件中记录被更新数据的前像和后像,同时在数据库缓冲区中的回滚段 ( r o l l b a c ks e g m e n t ) 记录更新数据的前像。在利用日志做系统恢复时,首先扫 描日志文件,重做所有操作,包括未正常提交的事务的操作,然后再根据回滚段 中的数据,撤消未正常提交的事务的操作。 w s r 系统采用了类似o r a c l e 的u n d o r e d o 臼志方式,当截获到用户的数据 更新的时候,首先写入日志。 p r i m a r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村集体资金入股合同范本
- 鱼船买卖合同协议书模板
- 船员的正规劳务合同范本
- 芯模板行业期货合同范本
- 游艇修理合同协议书模板
- 照明灯安装合同补充协议
- 高速便道租用协议书范本
- 肇庆正规劳务派遣协议书
- 高价回购铝合金合同范本
- 理发店长期消费合同范本
- 《大模型原理与技术》全套教学课件
- 《出口退税培训》课件
- 雾化吸入疗法课件
- 高考补习班招生策划书策划方案
- 康明斯产品合格证
- 矿山废水处理行业调研及投资前景分析报告
- DB13 5808-2023 餐饮业大气污染物排放标准
- 【五升六暑期阅读】专题10.环境描写及其作用-2024年五升六暑期阅读专项提升(统编版)5
- 【电商直播对消费者购买行为影响:以抖音直播为例开题报告1800字】
- AQ 2003-2018 轧钢安全规程(正式版)
- (高清版)WST 348-2024 尿液标本的采集与处理
评论
0/150
提交评论