




已阅读5页,还剩53页未读, 继续免费阅读
(计算机软件与理论专业论文)linux下快照文件系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 数据备份系统最常用的用途是恢复用户偶然错误删除的文件和恢复由于磁盘损坏 而丢失的数据。传统的数据备份系统需要整个系统停止运行才能进行,在备份期间,无 法进行正常的数据访问。快照技术是创建一个文件系统的瞬时映象,能在非常短的时间 内生成一个完整的、一致的存储系统映象,生成该映象之后,就可以使用该映象进行数 据备份而不需要担心数据的不一致性。 l i n u x 传统的文件备份工具如t a r 和c p i o 等命令功能比较简单,难以处理文件系统 级的数据备份。一些物理文件系统级的快照文件系统存在开发周期长,调试困难和移植 性差的缺点。另外一些用户级的快照文件系统虽然便于开发和移植,但是存在效率低下 的问题,某些情况下甚至达到难以忍受的程度。和虚拟文件系统联系紧密的快照文件系 统可以解决这些问题,具体方法是通过在虚拟文件系统内部修改和改变磁盘文件相关的 几个系统调用来实现数据备份和恢复的功能。这样的实现方式降低了文件系统开发的难 度,增强了文件系统的可移植性,同时提高了文件系统的效率。 本文重点介绍了在l i n u x 2 6 内核下的a s f s ( 另- - 种快照文件系统) 的设计思想、实 现要点及性能测试等主题。首先,介绍了快照技术的原理和实现方法,阐述了快照文件 系统和虚拟文件系统的含义;其次,介绍了l i n u x 操作系统中与修改磁盘文件相关的系 统调用的实现原理;然后,深入阐述了a s f s 的设计思想、实现要点和实现细节等内容; 最后,本论文比较了a s f s 和其他快照文件系统的特征,并且对实现的b e f s 采取不同 的存储策略和保持策略时进行了性能对比和测试。 本论文通过分析a s f s 的设计思路和实现手段,介绍了一种开发快照文件系统的新 方法,希望对l i n u x 文件系统的研究和开发人员,具有一定的参考价值。 关键词:数据备份;快照;文件系统;快照文件系统 大连理工大学硕士学位论文 d e s i g na n di m p l e m e n t a t i o no fas n a p s h o tf i l es y s t e mu n d e rl i n u x a b s t r a c t t h em o s tc o m m o np u r p o s eo fd a t ab a c k u ps y s t e mi st ob a c k u pa n dr e s t o r ef i l e se r r o r d e l e t e db yu s e r si n c i d e n t a l l ya n dr e s t o r ed a t am i s s i n gc a u s e db yd i s kf a i l u r e t r a d i t i o n a ld a t a b a c k u ps y s t e mc o u l dn o tm nu n t i lt h em a c h i n ei ss h u t d o w n ,s od a t ac o u l d n tb ea c c e s s e d w h e nd a t ab a c k u ps y s t e mi sr u n n i n g s n a p s h o tt e c h n o l o g yi st oc r e a t eac o m p l e t ea n d c o n s i s t e n ti m a g eo faf i l es y s t e m ,s oi tc a l lm a k ea ni n t e g r a t e da n dc o n s i s t e n ts t o r a g es y s t e m i m a g e w i t hw h i c ht or e s t o r et h ed a t aw i t h o u tt h en e e dt ow o r r ya b o u td a t ai n c o n s i s t e n c y t r a d i t i o n a lf i l es y s t e mb a c k u pt o o l su n d e rl i n u xs u c ha st a ra n dc p i oa r er e l a t i v e l y s i m p l e ,a n da r ed i f f i c u l tt od e a lw i t hd a t ab a c k u pa tf i l es y s t e ml e v e l s o m es n a p s h o tf i l e s y s t e m sb a s e do np h y s i c a lf i l es y s t e ml a y e rh a v es o m ep r o b l e m ss u c ha sl o n gd e v e l o p m e n t l i f ec i r c l e ,c o m p l i c a t e dd e b u gp r o c e d u r e ,a n dp o o rp o r t a b i l i t y o t h e ru s e r l e v e ls n a p s h o tf i l e s y s t e m sa r ee a s yt ob ed e v e l o p e da n dt r a n s p l a n t e d ;h o w e v e r , t h eb i g g e s tp r o b l e mi st h a tt h e i r l o we f f i c i e n c ya n dt h el o s s o ft h ep e r f o r m a n c ec a nn o tb et o l e r a t e du n d e rc e r t a i n c i r c u m s t a n c e s as n a p s h o tf i l es y s t e mc o n n e c t e dw i t hv f s c l o s e l yi saw a y t os o l v et h e s e p r o b l e m s i ti si m p l e m e n t e dt oh a v ed a t ab a c k u pa n dr e s t o r ef u n c t i o ni nt h ev f sl a y e r t h r o u g hc h a n g i n gs o m es y s t e mc a l l sw h i c ha r er e l a t e dt oc h a n g i n gf i l e so nt h ed i s k t h i sw a y o fi m p l e m e n t i n gas n a p s h o tf i l es y s t e mr e d u c e sf i l e s y s t e md e v e l o p m e n td i f f i c u l t ya n d i n h e r ep o r t a b i l i t ya n de f f i c i e n c yo ft h ef i l es y s t e ma tt h es a m et i m e i nt h i st h e s i s , t h ea u t h o rd i s c u s s e st o p i c sm a i n l y0 1 1t h ed e s i g n i n gc o n c e p t i o n s ,t h e i m p l e m e n t i n gk e yp o i n t sa n dt h ep e r f o r m a n c ee v a l u a t i o no fa s f s ( a n o t h e rs n a p s h o tf i l e s y s t e m ) u n d e rl i n u x - 2 6 f i r s t l y ,t h ea u t h o ri n t r o d u c e st h ep r i n c i p l ea n dr e a l i z a t i o nm e t h o d s o fs n a p s h o tt e c h n o l o g y , e x p a t i a t e st h em e a n i n g so fs n a p s h o tf i l es y s t e ma n dv f s s e c o n d l y 。 t h ea u t h o ri n t r o d u c e st h ei m p l e m e n t a t i o np r i n c i p l eo fs y s t e mc a l l sr e l a t e dt oc h a n g i n gd i s k f i l e su n d e rl i n u x t h i r d l y ,t h ea u t h o re x p o u n d st h o r o u g h l yt h ed e s i g n i n gc o n c e p t i o n so f a s f s ,a n dt h ek e yp o i n t sa n dd e t a i l si nt h ei m p l e m e n t a t i o no fa s f s f i n a l l y ,t h ea u t h o r c o m p a r e sf e a t u r e sb e t w e e na s f sa n do t h e rr e l a t i v es n a p s h o tf i l es y s t e m sa n dm a k e s p e r f o r m a n c ee v a l u a t i o no f a s f sw h e nt a k i n gv a r i o u ss t o r a g ea n dr e t e n t i o np o l i c i e s t h r o u g ha n a l y z i n gt h o r o u g h l yi n t od e s i g n i n gc o n c e p t i o n sa n di m p l e m e n t i n gm e t h o d so f a s f s ,t h ea u t h o re x p l i c a t e san e ww a yt od e v e l o ps n a p s h o tf i l es y s t e mi nt h ev f sl a y e ra n d h o p e st od oh i sp a r tt ot h er e s e a r c ha n dd e v e l o p m e n to fs n a p s h o tf i l es y s t e m su n d e ri a n u x k e yw o r d s :d a t ab a c k u p ;s n a p s h o t ;f i l es y s t e m ;s n a p s h o tf i l es y s t e m i i i 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:旌日期:2 = 2 :! : 大连理1 :大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者签名 导师签名 辛彩移 庞2 望型 趔年月日 大连理工大学硕士学位论文 1 绪论 1 ,1 数据备份技术的来源 随着计算机系统在各个领域的广泛应用,通信、金融、能源等行业以及政府、教育、 科研、军事等部门的工作都离不开计算机系统提供的服务。数据资料已经成为开展业务 不可缺少的基础,是企业、部门的重要财富。当计算机系统遭受诸如火灾、水灾、地震、 入侵或人为破坏时,计算机系统的硬件、数据、系统和服务都会受到不同程度的破坏, 丽数据的破坏或者丢失必然会给企业、部门造成不可弥补的损失。特别是当通信、金融 或军事部门的计算机系统发生灾难,如果不能够及时应对处理,恢复系统功能,将造成 不可估计的损失。 由于每个计算机系统运行的业务数据都是千差万别,每个系统问的数据不能相互替 代,而许多计算机系统之间的硬件设备、软件等其他计算资源则有很大的相似性和可替 代性。例如,硬件设备损坏后很容易用另一个同类设备替代,但是如果用户数据丢失而 且没有备份的话,则往往是无法恢复的,尤其是对于银行、电信等关键业务来说损失更 是不可估量。用户数据的重要性要远远大于其他计算资源的重要性,是现代计算的核心。 数据备份系统保护文件系统由于用户或软件的错误,磁盘或其他硬件的损坏和自然 灾害等原因造成的破坏。备份系统最常用的用途是恢复用户偶然错误删除的文件和恢复 磁盘损坏而造成的数据失效。 磁盘容量大概每年都要增长5 0 ,相对于磁盘容量的快速增长,磁盘数据的传输速 度每年的增长速度却只有大约2 0 。这种趋势意味着向磁盘的读写操作所花费的时问将 越来越长。随着时间的推移,传统的备份机制将会越来越慢,我们将不得不寻求新的备 份方法。 1 2 数据备份技术的分类 数据备份有多种实现方式,从不同的角度可以对备份进行不同的分类:从备份模式 来看,可以分为物理备份和逻辑备份;从备份策略来看,可以分为完全备份、增量备份 和差分备份;根据备份服务器在备份过程中是否可以接受用户响应和数据更新,又可以 分为离线备份和在线备份,或称为冷备份和热备份以下将做详细介绍和分析。 l i n u x 下快照文件系统的设计与实现 1 2 1 根据备份模式分类 从备份模式来看,主要有物理备份和逻辑备份两种备份模式l ”。物理备份又称为“基 于块( b l o c k b a s e d ) 备份”或“基于设备( d e v i c e b a s e d ) 拘备份”。逻辑备份也可以称作“基 于文件( f i l e - b a s e d ) 的”。 ( 1 ) 逻辑备份 每个文件都是由不同的逻辑块组成的,每一个逻辑的文件块存储在连续的物理磁盘 块上。但是,组成一个文件的不同逻辑块极有可能存储在分散的磁盘块上。比如u n i x 系统,它使用了索引节点或“i n o d e ”结构来映射逻辑块地址和相应的磁盘上的物理地址。 一个索引节点包含了指向物理磁盘块的指针。对于比较大的文件来说,一个单一的索引 节点太小,无法映射所有的逻辑块,需要多个块的间接引用来包含更多的指针。 备份软件通常既可以进行文件操作又可以对磁盘块进行操作。基于文件的备份系统 能够识别文件结构,并拷贝所有的文件和目录到备份资源上。这样的系统跨越了存储在 每个索引节点上的指针,顺序的读取每个文件的物理块,然后备份软件连续的将文件写 入到备份媒介上,这样的备份使得单个文件的恢复变得很快。但是,连续的存储文件会 使得备份速度减慢,因为在对非连续存储在磁盘上的文件迸行备份时需要额外的查找操 作这些额外的查找操作增加了磁盘的开销,降低了磁盘的吞吐率。基于文件的逻辑备 份的另外一个缺点就是对于文件的一个很小的改变也需要将整个文件备份。 c 2 ) 物理备份 与之相比,物理的或“基于设备的备份”系统在拷贝磁盘块到备份媒介上时忽略文 件结构。这样会提高备份的性能,因为备份软件在执行过程种,花费在搜索操作上的开 销很少。但是,这种方法使得文件的恢复变得复杂而且缓慢。因为文件并不是连续的存 储在备份媒介上。为了允许文件恢复,基于设备的备份必须要收集文件和目录是如何在 磁盘上组织的信息,才能使得备份媒介上的物理块与特定的文件相关联。因而,基于设 备的备份适合于指定一个特定的文件系统来实现,并且不易移植。基于文件的方案则更 易移植,因为备份文件包含的是连续文件。基于设备的备份方案的另外一个缺点是可能 引入数据的不一致性操作系统的核心一般会在写磁盘前对要写的数据进行缓存;基于 设备的备份方案的特色就是跨越磁盘块,这样就会忽略文件缓存区中的数据,备份文件 的较早版本。相对的,基于文件的备份方案考虑了文件的缓存区,备份了文件的当前版 本。 大连理r 大学硕士学位论文 1 2 2 根据备份策略分类 数据备份策略决定何时进行备份,备份收集何种数据,以及出现故障时进行恢复的 方式。通常使用的备份方式有三种: ( 1 ) 完全备份 完全备份是指对整个系统( 如组成服务器的所有卷) 或用户指定的所有文件数据进行 一次全面的备份。这是最基本也是最简单的备份方式,这种备份方式的好处就是很直观, 容易被人理解。如果在备份间隔期间出现数据丢失等问题,可以只使用一份备份文件快 速的恢复所丢失的数据。但是它的不足之处也很明显:它需要备份所有的数据,并且每 次备份的工作量也很大,需要大量的备份介质,如果完全备份进行的比较频繁,在备份 文件中就有大量的数据是重复的。这些重复的数据占用了大量的磁盘空间,这对用户来 说就意味着增加成本。而且如果需要备份的数据量相当大,备份数据时进行读写操作所 需的时间也会较长。因此这种备份不能进行得太频繁,只能每隔一段较长时间才进行一 次完整的备份。但是这样一旦发生数据丢失,只能使用上一次的备份数据恢复到前次备 份时数据的状况,这期间内更新的数据就有可能丢失 ( 增量备份 增量备份为了解决上述完全备份的两个缺点,更快、更小的增量备份应时而出。增 量备份只备份相对与上一次备份操作以来新创建或者更新过的数据。因为在特定的时间 段内只有少量的文件发生改变,没有重复的备份数据,既节省了磁盘空间,又缩短了备 份的时间。因而这种备份方法比较经济,可以频繁的进行。典型的增量备份方案是在偶 尔进行完全备份后,频繁的进行增量备份。但是在增量备份系统中,一旦发生数据丢失 或文件误删除操作时,恢复工作会比较麻烦:因为恢复操作需要查询一系列的备份文件, 从最后一次完全备份开始,将记录在一次或多次的增量备份中的改变应用到文件上,增 量备份的恢复需要多份的备份文件才可以完成。在这种备份下,各盘磁带问的关系就像 链子一样,一环套一环,其中任何一盘磁带出现了问题都会导致整条链子脱节,因此这 种备份的可靠性也最差。 增量备份技术又有几种变式,传统的方案是在偶尔进行完全备份后,频繁的进 行增量备份;“完全备份+ 增量备份”方式;或只是简单的“增量备份”很多系统都 包括增量备份方案的不同变式。“只有增量备份”的方案被用于m m 的a d s m 。或者 叫a d s t a r 分布式存储管理器系统中,在这个系统中,完全备份被排除,文件只有当 发生改变时才被写到备份介质上。u n i t r e e 并不执行传统的完全备份或增量备份,而是 提供“连续的增量备份”文件在创建之初就被存储在磁盘的c a c h e 中,在一个很短的 时期内,典型的时间是3 分钟到3 0 分钟,u n i t r e e 将最近创建的文件拷贝到存储层次的 l i n u x 下快照文件系统的设计与实现 一级或者更低的层次上。这样,文件会被更迅速的保护而不再只是每日的增量备份保护, 一个用户的文件在物理上不同的媒介上接近有1 5 份的拷贝。 ( 3 ) 差分备份 差分备份即备份上一次完全备份后产生和更新的所有新的数据。它的主要目的是将 完全恢复时涉及到的备份记录数量限制在2 个,以简化恢复的复杂性。差分备份在避免 了另外两种策略缺陷的同时,又具有了它们的优点。首先,它无需做频繁的完全备份, 工作量小于完全备份,因此备份所需要时间短,并节省磁盘空间;其次,虽然每次做差 分备份工作的任务比增量备份的工作量要大,但是它的灾难恢复相对简单。系统管理员 只需要对两份备份文件进行恢复,即完全备份的文件和灾难发生前最近的一次 差分备份文件,就可以将系统恢复。而在增量备份中,要顺序的进行从上次完全备 份以来的每一次增量备份的恢复。 增量备份和差分备份都能以比较经济的方式对系统进行备份,这两种方法的备份方 法都是依赖于时间,或者是基于上一次备份( 增量) ,或者基于上一次完全备份。表1 1 对三种备份方案的特点进行了比较。 表1 1 备份策略的比较 t a b 1 1c o m p a r i s o no fb a c k u ps t r a t e g y 1 2 3 冷备份与热备份 冷备份又叫离线备份,它是指当执行备份操作时,服务器将不接受来自用户和应用 对数据的更新,离线备份很好的解决了备份选择进行时并发更新带了的数据不一致的闯 题,缺点是用户需要等待很长的时间,服务器将不能及时相应用户的需求。目前的新技 术有l a n - f r e e 、s e r v e r - f r e e 等,这种方式的恢复时间比较长,但投资较少。 热备份也称在线备份,或数据复制,即同步数据备份,就是在用户和应用正在更新 数据时,系统也可以进行备份。由于是同步备份,资源占用比较多,投资较大,但是它 的恢复时间非常短。在热备份种有一个很大的问题就是数据有效性和完整性,如果备份 过程中产生了数据不一致性,会导致数据的不可用。解决此问题的方法是对于一些总是 大连理工大学硕士学位论文 处于打开状态的重要数据文件,备份系统可以采取文件的单独写修改特权,保证在该文 件备份期i 日j 其他应用不能对它进行更新。 1 3 快照技术的定义与特点 随着信息量的迅猛增长,数据存储的安全性越来越重要。存储系统的设计逐渐成为 应用系统设计需要考虑的问题。而随着数据的保护变得越来越重要,作为数据保护最重 要的手段,数据备份方案在存储系统设计中占有非常重要的地位。传统的数据备份需要 整个系统停止运行才能进行,在备份期问,无法进行正常的数据访问。因为数据备份不 可能在一瞬间完成,这样就需要一个在某一时间点的系统映象,否则就会出现最后备份 的数据是最新的,而前面备份的数据是老的,造成前后数据的不一致。而快照技术正是 为了解决该问题而提出的。快照技术是创建一个文件系统的瞬时映象,能在非常短的时 间内生成一个完整而且一致的存储系统映象,生成该映象之后,就可以使用该映象来进 行数据备份而不需要担心数据的不一致性。 在数据备份过程中,不浪费过多的处理器能力和磁盘空间是创建一个快照映象的关 键因素。在l i n u x 中,有两种现有的快照技术:像l v m 一样基于磁盘卷的方式和像s n a p f s 一样基于文件系统的方式。基于磁盘卷的l v m 提供有效的磁盘管理能力的同时,快照 映象要求专用的磁盘空间从而需要过多的处理器消耗。 1 3 1 快照技术的实现方式 快照技术的实现有两种方式:写时复制方式和分割映射方式1 2 l 。 快照需要建立一个完整的一致的映象,为了保证这一点,必须在某个特定的时刻完 成全部数据的复制,通常这种复制不可能在一瞬间完成。实际上在进行快照操作的时候 并不是对所有数据进行完全复制,而是使用写时复制技术,或者采用分割映射的方式, 建立一个快照只需要极少的工作,在很短的时间内即可完成。 在写时复制技术中,数据并不是立即被复制,而是仅仅当数据块发生改变时,才对 这些块进行复制,因此并不是所有的数据都有一个完整的复制,只有那些发生改变的数 据才需要消耗额外的磁盘空问,从而使得实际用于保存快照所需要的空间大大减少。, 在分割映射技术中,使用一个与工作的主存储系统完全一致的快照存储系统,系统 使用类似于磁盘镜像的方式,数据被同时写入主文件系统和快照文件系统,当进行备份 操作时,只需将快照文件系统写下分离即可。这样实际上建立一个快照映象几乎不需要 时间。 通常,使用写时复制技术的快照实现逻辑的文件系统备份,而基于分割映射技术的 备份并不需要了解文件系统,因此它属于物理的文件系统备份方式。两种方式都有各自 l i n u x 下快照文件系统的设计与实现 的优缺点。写时复制使用纯软件方法,不需要额外的硬件投资,而且由于只对需要修改 的数据块进行复制,使得磁盘空间利用率较高,其缺点是在创建快照后,系统的性能会 因为需要复制而收到一定程度的影响,将快照映象上的数据备份到磁盘等介质时,系统 的性能也会下降。分割映射正好相反,它需要额外的硬件。这使得其磁盘利用率仅为一 半,快照映象的建立是实时的,由于使用特殊的硬件,数据同时写到主文件系统和快照 文件系统,并不会对主文件系统的工作带来任何影响,另外,如果数据需要进行备份, 只要使用快照文件系统。 1 3 2 快照技术的几个实例 目前,快照技术已经在存储系统和文件系统中得到较广泛的应用,许多系统都使用 快照技术来实现联机备份。下面对几个典型的系统进行简单分析。 ( 1 ) w a f l 文件系统 w a f l l 3 l 是n e t w o r ka p p l i a n c e 公司为其n a s 系列存储服务器开发的文件系统,在 w a f l 文件系统中,使用写时复制技术实现了快照功能。 根i 节点快照的i 节点根i 节点 快照的i 节点 根i 节点 髟徽 丸建立快照前b 建立快照后 b 建立快照后 无数据更新 数据块b 更新 图1 1w a f l 中的写时复制 f i g 1 1c o p y - o n - w r i t e i nw a f l 在w a f l 中,并没有使用常规大小的固定索引节点位图和块位图来记录文件系统 的索引节点和数据块的使用情况,它使用一种特殊的方式,将索引节点和块分配位图分 别记录在文件中,系统中除了根节点的索引节点的位置是固定的以外,其他任何数据, 包括元数据和数据均可以保存在磁盘的任意位置,这样使得实现快速的快照功能成为可 能,在进行数据复制时不需要考虑索引节点的数目限制和位置限制。这种方式带来的另 外一个好处就是文件的大小和数目只受磁盘容量的限制,不会造成因索引节点短缺而无 一6 一 大连理】大学硕士学位论文 法创建文件或者i 节点过多而数掘块过少,有效的提高了文件系统的利用率。图1 1 描 述了w a f l 中数据块在执行快照前后的分配情况。 可以看到,在创建一个新的快照映象时,系统仅仅简单的复制一个根节点,新的快 照的根索引节点与原索引节点有完全相同的内容。之后,如果某个块被修改,那么在修 改前复制该块,然后在修改根索引节点的相关数据的同时,对复制的块进行修改。这样, 仅仅那些修改了的数据块才需要进行复制,不i e t 提高了复制效率,而且提高了磁盘的空 间利用率。需要备份时,从快照的根索引节点开始,可以读取到该时间点的完整的存储 系统映象。正常的操作仍然从原根索引节点开始,这样可以正确的访问到最新的数据。 这种方式的缺点也是很明显的,对数据块的复制会影响到元数据,从而使得元数据块也 需要复制,这样从根索引节点到数据块整个路径上的数据块都需要复制一遍。 ( 2 ) e m ct i m e f i n d c r e m c 公司使用分割映射的方式提供快照功能。在e m c 的t i m e f i n d e r l 4 】中,使用一 个完全相同的物理存储介质产生数据的镜像,该镜像被称为b c v ( b u s i n e s sc o n t i n u a n c e v o l u m e ,业务连续卷) 。更新的数据被同时写到活动的工作卷和b c v 卷,b c v 卷可以 从工作卷中分离,分离后的b c v 卷就是该分离时刻系统的快照映象,这样就可以使用 b c v 卷进行数据的备份,应用的测试和其他工作。分割映射功能的实现如图1 2 所示。 m 1 m 2 m 1 m 2 m 1m 1 哥胃哥电哥 口由 白 b c v b c v b c v a 建立b c v ,并 b 建立b c v , c 分离b c v , 开始弼步 同步完成 图1 , 2t i m e f m d e r 的s p l i t m i r r o r f i g 1 2t i m e f m d e r ss p 肌h 位i o r 图中m 1 和m 2 互为工作卷镜像,用于容错,而b c v 连接至其中一个工作卷m 1 , 经过一段时间的同步,就可以建立一个同步的镜像,在正常工作时,3 个卷具有完全相 同的数据,当需要使用b c v 时,将b c v 与m 1 分离,b c v 的数据就是一个该系统的 快照映象通过这种“建立一同步一分离”方式,就可以建立多个不同时刻的快照系统 映象。 一7 一 l i m t x 下快照文件系统的设计与实现 由于数据是实时的写入b c v 卷,因此,侠照映象的建立不需要额外的时间,但是 这种方式要求有一个与工作卷完全相同的b c v 卷,一来使得系统的成本增建二来因 为事先并不知道系统的容量,使得系统的可扩展性受到严重限制。 ( 3 ) m o u n t a i nv i e ws n a p f s s n a p f s 爿是一个基于l i n u x 操作系统的软件层次,它位于具体的物理文件系统( 如 e x t 3 和r e i s e r f s ) 和虚拟文件系统v f s 之问,用于为现有的文件系统提供快照功能。 s n a p f s 相当于一个重定向器,它根据来自v f s 层的请求来判断是对当前文件系统 ( s n a p _ c u r r e n t ) 的访问还是对复制文件系统( s n a p _ c l o n e ,也就是快照映象) 的访问。 s n a p f s 也使用与w a f l 相类似的写时复制技术,当建立快照时,数据并不被复制, 之后,如果数据发生改变,那么s n a p f s 截获到这种改变,然后将原来的i n o d e 复制一 份,并使用一个新的i 节点来记录改变后的数据。这样,s n a p f s 可以区分对i 节点的访 问,如图1 3 所示。 辞立前 建立后 图1 3s n a p f s 中的写时复制 f i b1 3c o p y - o n - w r i t e s i ns n a p f s s n a p f s 是一个纯软件层,可以在不改变现有文件系统的情况下为系统增加快照功 能,如果需要卸载s n a p f s ,原来的文件系统在卸载后仍然可以继续访闯由于引入了 s n a p f s 层,如果文件系统一场崩溃,系统重新启动后,不需要进行耗费时间的f s e k 操 作,s n a p f s 可以用个最近的快照映象替换该文件系统即可快速恢复系统。 1 3 3 快照技术的发展方向 快照技术目前已经应用在许多实际的系统中,但是仍然面临许多问题首先是改善 快照的性能。通常,快照会对系统的性能产生副作用。虽然性能下降程度在可以接受的 范围内,但是仍然有改善的可能,特别是大型应用的存储系统,快照性能的改善将对系 统总体性能的提升做出贡献。因此,如何最大限度的提高快照的性能具有实际的意义。 大连理工大学硕士学位论文 第二是研究在新型的存储系统结构中如何实现快照技术。譬如在分布式存储系统 中,如何才能实现一个全局一致的快照映象? 在分布式存储系统中,数据分布存放于不 同的服务器上,由于全局时钟的缺少,要获得某一个时刻整个存储系统的映像存在很大 的困难。 另外,还有快照的智能管理。系统需要多长时间进行一次快照,系统中的快照需要 保留多长时间,等等。当前的快照都是由系统管理员根据经验对这些参数进行设定,而 随着存储系统虚拟化的实现,快照需要实现智能化的管理,它根据当前系统的运行状况 和历史记录,自动指定合适的策略,从而最大限度的为数据提供保护并有效的利用空间。 1 4 相关工作 最近,随着大容量存储设备在个人电脑中的广泛应用,大规模的数据备份技术变得 越来越重要。然而,l i n u x 上常用的备份命令c p i o 和r s y c 1 6 】并不能够满足一些大规模数 据备份的要求。本节中我们描述在两种方式国外的一些研究人员也开发了很多的快照文 件系统,如c e d a r f f ,v c n t i 引,w a y b a c k l 9 1 ,e p i s o d e 1 0 l ,e l e p h a n t l l “,s n a p f s 等,但这 些文件系统要么是基于某一种具体的文件系统,要么是基于特定的用途。 c e d a r 是一个文件系统维持一个文件在长时间下多个快照的最早的例子。这些快照 被多个文件系统用户共享。在e x t 3 c o w i ”j 中每个写操作创建一个新的快照,每个快照对 应文件系统都有一个独特的名字,如h o m e u s e r e x t 3 c o w t e x 3 代表第三个快照一个文 件的每个快照都是自治的,多个快照之间没有共享数据;共享一个文件需要传送它的所 有的块。v m s ”】和t o p s l l 4 1 使用相似的方法。 其他的文件系统,如a f s 阍,l f s l l 6 1 ,p l a n 9 1 1 7 ,1 8 1 ,s p i r a l o g l l 9 2 0 ,w a f l 2 1 l 和 s n a p m i r r o r l 2 2 l ,使用快照和版本控制来恢复文件系统。这些实现没有一个为访问大量文 件提供了透明的接口,他们也不允许浏览或链接到那些旧的快照。c h e r v e n a k 等人和 a z a g u r y 2 3 】等人运行了备份技术,研究和衡量了快照的性能。 e l e p h a n t 文件系统是第一个包括多个同直接面向日期接口一样面向用户的保持策略 的文件系统。这些保持策略可能对用户是直观的。尤其是当和用户空间的版本控制系统 如r c s 2 4 i 或c v s l 2 5 1 比较的时候。 在复杂版本控制文件系统( c 、,f s ) 刚中,所有向客户,服务器存储系统的服务器的写 操作都被分成多个版本。通过挂载一个特定时间点的文件系统访问多个版本。因为c v f s 运行在一个文件服务器上,它基于客户端是否使用写缓冲来建立一个性能特征折中。写 缓冲处于打开状态,c v f s 在写到存储介质时,不考虑在客户端缓冲中被写的文件的版 本,这消除了异步i o 带来的性能提高。 一9 一 l i n u x 下快照文件系统的设计与实现 1 5 本文的主要内容 本篇论文主要由以下几部分内容组成:第二章给出一些必需的背景知识,包括l i n u x 操作系统及其虚拟文件系统的基本知识。第三章描述了快照文件系统的设计目标、设计 思想、快照的存储策略以及快照的保持策略。第四章描述了快照文件系统的实现细节以 及快照管理的方法。第五章给出了快照文件系统的性能测试结果并做了相应的分析。 大连理工大学硕十学位论文 2lin u x 操作系统及其虚拟文件系统 2 1 l j f l t l x 操作系统概述 l i n u x 操作系统是一种在网络上由多人合作产生的操作系统,其开发都是在 g p l ( g n ug e n e r a lp u b l i cl i c e n s e ) 的版本控制之下,因此l i n u x 内核都是采取开放源代码 的方式。l i n u x 作为一个典型的现代操作系统,其中所涉及到的技术实现涵盖了操作系 统技术的最新成果。它是一个多用户多任务的操作系统,支持分时处理和软实时处理, 拥有模块机制,具有很好的定毒4 特性。 2 1 1l i n t l x 操作系统特性 简单来说,l i n u x 操作系统是类u n i x 操作系统,它兼容了p o s i x l 0 0 3 1 ( p o r t a b l e o p e r a t i n gs y s t e mi n t e r f a c e ,可移植操作系统接口) 标准,并包含了u n i xs y s t e mv 与 b s d 4 3 的大部分特征,它具有l 明: ( 1 ) 多任务支持 l i n u x 操作系统支持多进程同时执行,进程之间完全独立。 ( 2 ) 多用户支持 l i n u x 操作系统允许多个用户同时在系统上工作。 ( 3 ) 多处理器支持 从l i n u x - 2 0 起,l i n u x 可以在多处理器体系结构上允许,即操作系统可以将任务分 配在多个处理器上。 ( 4 ) 跨平台支持 l i n u x 可以在几乎所有常见的硬件体系结构上运行,从p c 机到a l p h a 工作站。这 样广泛的跨平台功能在其他主要的操作系统中是很少见的。 ( 5 ) 动态外存缓存。 l i n u x 操作系统在内存中保留一块空间作为外存操作的缓存,可以动态的调整缓存 的大小。 ( 6 ) 共享库支持 i a n u x 操作系统e 0 i x - j 共享库的概念,或者称为动态链接库,即库文件只被读入 内存一次,但可以被若干个应用程序共享使用。 ( 7 ) p o s i x l 0 0 3 1 支持 p o s i x l 0 0 3 1 标准定义了一个u n i x 类操作系统的最小化界面。1 , i n u x 从1 2 版本就 开始完全支持p o s i x l 0 0 3 1 。与国际标准接轨使得l i n u x 在界面上具有很强的通用性。 i i n u x 下快照文件系统的设计与实现 ( 8 ) 多种不同格式可执行文件支持 l i n u x 操作系统可以支持所有u n i x 系统中的可执行文件格式。 ( 9 ) t c p i p 、s l i p 和p p p 网络协议支持 l i n u x 操作系统的重要特点之一是其作为网络服务器的高性能特性,l i n u x 内核对网 络功能的特别支持使得它在网络服务器方面占据着很重要的地位。 2 1 2l j n u x 内核的组成 l i n u x 内核主要由五个子系统组成:进程调度,内存管理,文件系统,网络接口, 进程间通信。它们的关系如图2 1 所示。 应用程序 应用层 r1 圉囝圈圈卧内塞 圈囝圈囹卧 陶峪糯睦麟茎e = liiii 硬件层 图2 1 内核模块划分图 f i g 2 1k e r n e lm o d u l e sh i a m r c h y ( 1 ) 进程调度 控制进程对c p u 的访问。当需要选择下一个进程运行时,由调度程序选择最值得 运行的进程。可运行进程实际上是仅等待c p u 资源的进程,如果某个进程在等待其他 资源,则该进程是不可运行进程l i n u x 使用了比较简单和快速的o ( 1 ) 调度算法选择新 大连理工大学硕士学位论文 的进程。 ( 2 ) 内存管理 允许多个进程共享主存区域。l i n u x 的内存管理支持虚拟内存,即在计算机中运行 的程序,其代码段、数据段和堆栈的总量可以超过实际内存的大小,操作系统只是把当 前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责 在磁盘和内存问交换程序块。内存管理从逻辑上分为硬件相关的部分和硬件无关的部 分。硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内存管理硬 件提供了虚拟接口。 0 ) 虚拟文件系统 隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,虚拟文件系统提供 了对多达数十种不同的文件系统的支持。虚拟文件系统可以分为逻辑文件系统和设备驱 动程序。逻辑文件系统指l i n u x 所支持的文件系统,如e x t 2 ,f a t 等,设备驱动程序指为 每一种硬件控制器所编写的设备驱动程序模块。 c x t c r ni n tr e g i s t e r f i l e s y s t e m ( s t m c tf i l es y s t e m _ t y p e ) ; e x t e mi n tu n r e g i s t e r _ f i l e s y s t e m ( s t r u c tf i l e _ s y s t e m _ t y p e ) ; 当我们需要挂载一个设备到一个目录中时,虚拟文件系统调用特定文件系统的 g c ts b ( ) 方法。然后挂载点的目录项被更新来指向新文件系统的根索引节点。 f 7 ) 文件系统类型结构 这个结构描述文件系统的类型。在l i n u x 2 6 9 中,有以下几个成员: 大连理工大学硕士学位论文 s t r u c tf i l e _ s y s t e mt y p e c o n s tc h a r + n a m e ; i n tf s _ f l a g s ; i n t ( 4 9 c t _ s b ) ( s t r e e tf i l e _ s y s t e m _ t y p e + ,i n t ,c o n s tc h a r + ,v o i d + ,s t m c tv f s m o u n t + ) ; v o i d ( 奉k i l l _ s b ) ( s t r u c ts u p e r _ b l o c k ) ; s t r u c tm o d u l e o w n s ; s t r u c tf i l e _ s y s t e m _ t y p e n e x t ; s t m c tl i s t _ h e a df s _ s u p e r s ; ) ; 在介绍了内核中的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家政服务质量认证创新创业项目商业计划书
- 川芎创新创业项目商业计划书
- 专职安全员考试写作及答案
- 2025不动产抵押贷款合同样本
- 重庆三支一扶协议书7篇
- 2025年新疆粮油安全储存合同
- 2025年新疆农作物制种项目合作调整合同
- 2025项目合同管理在石油工程中的应用与实践
- 《2025南京悦艺画室教职工兼职聘用合同》
- 2025建筑工程承包合同范本
- 部编人教版五年级上册道德与法治全册课件
- 高血压护理查房ppt
- 全关节镜下FiberTape治疗后交叉韧带胫骨止点撕脱骨折课件
- 有限元和有限差分法基础超详细版本
- 《临建布置方案》word版
- epsonlq590面板操作
- GB∕T 11416-2021 日用保温容器
- 疑似预防接种异常反应(AEFI)监测与处理PPT课件
- 存货计划成本法
- 某某某污水处理厂施工组织设计
- (完整)地面硬化施工合同
评论
0/150
提交评论