




已阅读5页,还剩66页未读, 继续免费阅读
(计算机软件与理论专业论文)基于lvm2的依赖快照技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机技术的发展,用户对系统的应用要求越来越高,最近出现的联 机商业模式需要系统提供3 6 5 7 2 4 小时连续服务,因此停机时间成为系统的 一个非常重要的指标,为减少系统停机时间,必须在保证系统正常工作的同时 对数据进行备份。在存储子系统中使用快照技术,可以对系统的数据进行在线 备份。快照指的是数据对象在某一时间点的映像。快照可以在非常短的时间内 完成数据对象逻辑副本的创建,其数量级通常为几秒,因此可以最大限度地减 小备份操作对上层应用的影响。 现有的主流快照技术主要有镜像分裂技术,虚拟视图技术,按需拷贝技术。 这些技术均侧重单一时刻点的快照,在连续时刻点快照的情况下,通常作为多 个独立快照来处理从而数据拷贝量较大。南开大学实验室提出过一种增量快照 技术,可以利用快照之间的数据相关性来降低数据拷贝量,但是该技术中快照 是完整的物理副本,因而改进程度有限。 在上述背景下,本文在i v m 2 的基础上提出了一种新的快照技术即依赖快 照技术,它利用虚拟视图技术的优点,快照仅拷贝源卷变化了的那些数据,有 效地降低了数据的拷贝量;并充分地利用了快照之间的数据相关性,进一步降 低了数据的拷贝量。本文首先对l 、,m 2 的技术架构及其快照功能的源码部分进 行了详细的分析,然后在l 、,m 2 的基础上设计和实现了依赖快照技术,为避免 该技术下快照卷单点故障问题,设计并实现了快照卷的自动扩容功能,最后与 i 也原快照技术实验对比结果表明依赖快照技术在多个连续时刻点快照的情 况下能够大大降低数据的拷贝量。 关键词:在线备份,快照,镜像分裂技术,虚拟视图技术,按需拷贝技术, 增量快照技术,依赖快照技术 a b s 廿a c t a b s t r a c t n o w a d a y s ,w i t ht h ed e v e l o p m e n to f c o m p u t e f st e c h n o l o g y ,u s e r sh a v ep u t f b n a r dm o f es t r i c td a i m st ot h ea p p l i c a t i o no fc o m p u t e rs y s t e m f o re x a m p l e ,s o m e o n l i n ec o m m e r c i a lp a t t e m sw h i c ha p p e a r e dr e c e m l yd e m a n ds y s t e m sw o r k i n g3 6 5 7x2 4h o u r sw i t h o mi m e r r u p t i n g t h e r e f o r ec o m p u t e r ss t o pt i m eh a sb e c o m ea v e r y i m p o r t a n di n d e xo f s y s t e m h o w e v e r ,w h e nw ec u td o w n 也es t o pt i m e ,w em u s te n s u r e t h en o m a lw o r 虹n go f s y s t e ms u m c i e m l ya n db a c h j pt h ed a t ae n o u g ha s w e l lf o r t u n a t e i y ,a f t e ru s i n gs n 印s h o tt e c h n o i o g yi ns t o r a g es u b s y s t e m ,w ec a nb a c k u p t h ed a t ao n l i n e 矗e e l ys n 印s h o tr e f h st ot h ep o i n t n - t i m er e n e c t i o no fd a t as e t ,a n di t c 叽e s t a b l i s hl o 酉c a lc o u t e f p a no f d a t ai nas h o r t 帅o u to f t i m e ,u s u “l ya m o n gs e v e r a l s e c o n d sc o n s e q u e n t l y ,s n a p s h o ti sa b l et or e d u c ed r a m a t i ci n n u e n c eo nu p p e r a p p l i c a t i o n t h em a i n s t r e a ms n 印s h o tt e c h n 0 1 0 9 yw eh a v en o wi se m b r a c i n g s p l i t m i r r o l v i n u a lv i e wa n dc o p y o n d e m a l l d 舢1 t h a tl a y sp a n i c u l a rs t r e s so n s n 印s h o ti nas i n 蕾ep o i n to f 血n e u n d e rh ec i r c u m s t a n c e so fas 髓i e so fs n 印s h o t ,ni s u s u a l l yd e v i d e di n t os e v e r a li n d 印e n d e ms n 印s h o t s ,w h i c hr e s u l ti nm u c h1 鹕e rd a t a c o p ya m o u m sn a n k a iu n i v e r s i t ys o 矗w a r e1 a bo n c eh a v ei m r o d u c e di n c r e m e n t a l s n 印s h o t ,w h i c hc a nm a k eu s eo fd a t ac o h e r e n c ea m o n ga l ls n 印s h o t st od e c r e a s et h e q u a n t i t yo f d a t a p y b u tt h i ss n a p s h o tt e c l l n o l o g yi sak i n do f p h i s y c a ld u p l i c a t i o na s aw h o i e ,a n di ti sh a r dt oi m p r o v et l e 旬n c t i o ne a s i l y l f f o ma l la b o v eb a c k g r o u n d s ,t h i sp a p e ri m r o d u c ean e wk i n do fs n a p s h o t t e c h n o l o g y ,b e t t e rk n o 砌a se n h a n c e ds n a p s h o t ,o nt h eb a s i so f i _ ,v m 2 i tt a l ( e s a d v a n t a g eo f v i r t u a lv i e w w h i c ho n l yc o p ys o m ed a t a 疔o mo r i g i nt h a th a v eb e e n c h a n g e d ,a n dl o w e rt h ed a t ac o p yc a p a b i l i t ye m c i e m l y i ta l s om a l ( et h eb e s to fd a t a c o h e r e n c ea m o n gs n a p s h o t sa 1 1 d b r i n gd o w nm u c hm o r ed a t ac o p ya m o u n t sm y p a p e r si sd e v e l o p e di n t om a j o rp a 】r t sa b o v ea l l ,t h ep a p e ra n a i y z et h et e c 量1 i l o i o g y 矗眦e w o r ko f l v m 2a n dt h eo d g i n 矗a 吐i o no fs n 印s h o t 乱n c t l o ni nd e t a 岫e c o n d l y j t d e s i g n sa n dp u t se n h a n c e ds n a p s h o ti n t op r a c 七i c eo nt h eb a s i so fiv m 2a tt h es a m e a b s 廿a c t t i m e ,i no r d e rt oa v o i dt h ep r o b l e mo fs i n g l es n a p s h o tf ;【u l t ,w ed e s i g na n dc a r r y so u t t h ea u t o m a t i ce m e n d e dc a p a b i l i t yo f s n a p s h o tt h i r d l y ,a f t e rc o m p a r i n gw i t hiv m 2 o r i g i n a is n a p s h o tt e c h n o l o g ye x p e r i m e m ,w ec a nc o n c l u d et h a te n h a n c e ds n a d s h o ti s a b l et oc u td o w nt h ed 砒ac o p yl a r g e l yu n d e rt h ec i r c u m s t a n c e so f as e r i e so f s n a p s h o t k e y w o r d s :o t l l i n eb a c k u p ;s n a p s h o t ;s p l i t m i r r o r ;v i r t u a lv i e w ;c o p y 。o n d e m a n d , i n c r e m e m a ls n a p s h o t :e n h a n c e ds n a p s h o t 第一章绪论 第一章绪论 第一节快照应用背景 随着计算机技术的发展,磁盘的存储容量每年以5 0 的速率递增,而磁盘 和磁带的存取时间和速度每年只以2 0 的速率递增,速率的差异导致数据备份 到设备上需要花费越来越多的时间。与此同时,用户对系统的应用要求越来越 高,最近出现的联机商业模式需要系统提供3 6 5 7 2 4 小时连续服务,停机就 意味着业务的停顿和商业机会的丢失。因此停机时间成为系统的一个非常重要 的指标,特别是电子商务这样的系统要求实现。据f c i a 估计,对于银行的自动 取款机,停机1 小时,损失约为1 4 5 0 0 美元,而对于一个证券经纪公司,l 小时 的停机所带来的损失超过6 0 0 万美元,因此减少系统停机时间成为系统设计的 最重要的目标之一。为了减少系统停机时间,必须在保证系统正常工作的同时 对数据进行备份。而备份操作必须保证它的原子性语义:任何对源数据对象的 数据更新操作,必须在备份操作发生之前或之后进行;在备份操作进行过程中, 源数据对象不能发生更新操作【l 】。而传统的数据备份方法为保证备份操作的原子 性,在对数据对象进行物理备份时,必须暂停使用该数据对象的上层应用,也 就是说产生停机,而且停机时间与数据对象的数据量成正比【“,而随着网络计算 环境的普及,尤其是大型的电子商务应用,数据对象的数据量越来越大,从而 使得实际的停机时间与应用要求的停机时间的矛盾越来越激化。 在存储子系统中使用快照技术,可以解决大规模数据备份造成的长停机时 间问题。存储网络工业协会对快照的定义为:快照为一个数据对象产生完全可 用的副本,它包含该数据对象在某一时间点的映像;快照在快照时间点对数据 对象进行逻辑复制操作,产生数据对象在该时间点的一致性数据副本,但实际 的部分或全部物理复制过程可能在复制时间点之外的某些时间进行9 】。快照可以 在非常短的时间内完成数据对象逻辑副本的创建,其数量级通常为几秒,因此 又被称为零时间复制。快照技术可以最大限度地减小备份操作对上层应用的影 响,同时保证了备份操作语义的原子性。 目前,许多科研机构和存储系统的生产厂商都开发了在存储子系统中实现 快照的技术,这些技术可以分为三类:镜像分裂技术、按需拷贝技术、虚拟视 第一章绪论 图技术,镜像分裂技术采用硬件方式实现,后两种技术采用软件方式实现卜旧l 。 这些快照技术主要侧重于实现单一时间点的快照,对于同一个数据对象在连续 时问点的快照仅仅作为多个独立快照进行处理,在快照非常多的情况下数据的 拷贝量大大增加,从而加大了系统的整体负荷,在极端情况下,甚至导致系统 停机。根据已有的统计试验结果,在连续运行两个月的情况下,一个数据卷被 更新的数据一般不超过其总容量的2 0 3 0 。因此在连续时间点的快照之间, 数据量的更新较少,从而有必要考虑连续时间点快照之间数据相关性。 南开大学软件实验室在快照方面有过系统深入的研究,而且设计了一种基 于按需拷贝技术的快照方案【2 2 2 “。该方案利用了连续时间点快照之间的数据相 关性,但是该方案中快照是完整的物理副本,支持的快照数目不是很多。在本 文中,设计了一种依赖快照方案,它采用了虚拟视图快照技术,并充分地利用 了快照之间的数据相关性,能够有效地提高对同一数据对象快照操作的性能, 并能够支持较多数目的快照。该方案在r e d h a te m e r p r i s es e r v e r4 中的i m 2 ( 逻 辑卷管理器) 上实现,与l m m 【2 中原来采用虚拟视图快照技术的方案实验对比结 果表明在多个连续时间点快照的情况下,依赖快照技术能够大大降低数据的拷 贝量。 第二节本论文的工作与结构 本文是在南开大学软件实验室增量快照技术和i ) 强位快照技术的基础上, 继续相关的工作,完成了以下的工作: 充分地分析l :舵的技术架构及其快照功能的源码部分,论证了其原有 技术的缺陷并提出了一种新的快照技术即依赖快照技术,理论上的分析 表明了该技术在多个连续时间点快照情况下能够大大降低数据的拷贝 量。 在l v m 2 快照功能的基础上设计并实现了依赖快照技术。通过实验数据 表明,该方案利用快照卷读性能的少量降低来换取源卷写性能的大大提 高,从而在快照较多的情况下,大大地降低了系统的整体负荷,提升了 系统性能。 在依赖快照技术方案下,实现了快照卷的自动扩容功能,避免了快照卷 因写前拷贝的数据量过大而失效,进而解决了依赖快照技术下快照存在 第一章绪论 的单点故障问题。 各章节组织如下: 第2 章介绍现在的主流快照技术的实现思想以及采用这些技术的一些产品, 同时还比较了一下基于设备的快照方案与基于文件系统的快照方案。 第3 章介绍i m 2 的系统架构以及快照功能的源码分析。 第4 章介绍依赖快照的设计思想与具体实现。 第5 章介绍依赖快照与普通快照功能的实验对比结果以及快照技术的性能 分析 第6 章是对本文的总结,指出了其中的结果以及将来可以进行研究的方向。 第7 章列出了本文所参考的文献,以便于对该问题相关知识的进一步查阅。 第二章当前的主流快照技术 第二章当前的主流快照技术 当前主流的快照技术一共有四种方式,它们分别是镜像分裂技术 ( s p l i t m i r r o r ) 、虚拟视图技术( n u a lv i e w ) 、按需拷贝技术( c o p yo nd e m a n d ) 、 增量陕照技术。镜像快照分裂技术是基于硬件的技术,虚拟视图快照技术、按 需拷贝技术和增量快照技术是基于软件的技术,所以后三种方式处理相对更为 灵活。在本文中,将分别介绍一下这四种技术的实现思想以及相关阐述。而在 虚拟视图快照技术和按需拷贝技术的实际实现中,可以基于设备或者基于文件 系统,在225 中将详细讨论它们之间的区别。 第一节镜像分裂技术 镜像快照分裂技术采用基于硬件的方式,现在的市面上有不少产品采用这 种技术实现,这其中有代表性就是e m c st i m e f i n d e r h 和h i t a c h i s s h a d o w i m a g e 【1 0 】。 2 1 1 实现思想 镜像快照分裂技术需要预先为源数据卷创建并维护一个或多个完整的物理 镜像卷,在快照时刻点到来之前,与r a d l 【1 5 】方式类似,这些卷之间处于完全 同步的状态,同一数据的多个副本分别保存在源数据卷以及它的多个镜像卷上。 当快照时刻点到来时,用做快照的镜像卷与源数据卷分离,此时镜像转化为快 照卷。当快照卷完成数据备份、数据挖掘等应用之后,将重新与源数据卷同步, 此时快照卷转化为镜像卷。需要做多个快照卷的情况下,只有存在相对应数目 的镜像卷,在快照时刻点将镜像卷与源数据卷分离即可。镜像分裂快照技术实 现如图21 所示: 第二章当前的主流快照技术 m l m 2m 1m 2m lm 1 期“ a ) 建立镜像卷,同步中b ) 同步进行中c ) 同步完成d ) 分离镜像卷 图21 镜像分裂技术 图中m 1 和m 2 互为工作卷镜像,用于容错。m 2 用于镜像卷之前,需与源 数据卷m l 经过一段时间的同步,在正常工作时,m 1 与m 2 的数据完全相同, 当需要使用快照卷时,将m 2 与m 1 分离开来,m 2 即为此时刻的快照卷。 2 1 2 特点 镜像分裂技术采用硬件的方式实现,因而具备了其特殊的优点和缺点。它 的优点有:快照操作时间非常短,仅仅是断开镜像卷所需要的时间,通常只有 几毫秒,这么短的时间几乎不会对上层应用产生影响:在快照的命令发出之后, 能够立即得到一个完整的物理副本,不需要一些额外的复制操作,因而非常适 用于一些时间要求很高的完整物理副本应用。但是它同样也存在一些缺点,首 先,这种快照技术缺乏灵活性,无法在任意的时刻点建立快照,这主要在源数 据卷没有创建镜像卷和镜像卷正处于重新同步的情况下发生;其次这种技术缺 乏可扩展性,在建立快照卷之前需要预分配镜像卷,那在需要建立多个快照的 情况下,则要分配多个镜像卷,从而预先占用大量的存储资源,而且在多个镜 像卷的情况下,快照之前的镜像操作也将占用大量的系统资源,系统负荷大大 增加,因此这种技术不太适用于较多快照的应用。 21 3 主流产品 目前有不少的存储产品采用镜像分裂技术实现,这其中有代表性的产品就 是e m c st i m e f i n d e r q 和h i t a c h i ss h a d o w i m a g e 【l o 】。下面简单介绍一下e m c s t i m e f i n d e r 【4 】ot i m e f i n d e r 支持三种方式的快照:m i n - o r 、c l o n e 、s n a p ,在本文 中分别对应镜像分裂技术、按需拷贝技术、虚拟视图技术。在m i 玎o r 方式中, 使用一个完全相同的物理介质产生数据的镜像,该镜像卷称之为b c v ( b u s i n e s s 第二章当前的主流快照技术 c o m i n u a n c ev o l u m e 业务连续卷) ,源数据卷称之为s v ( s t a n d a r dv 0 i u m e 标准卷) , 当需要做快照时,需预先将b c v 与s v 做镜像同步,在同步的过程中,b c v 卷 不能够被访问。当s p l i t ( 镜像分裂) 命令发出之后,b c v 卷与s v 卷分离,这时 b c v 卷可以用于备份、测试、数据挖掘或其它应用。在m i r r o r 方式中,每一个 s v 最多可以支持1 6 个b c v ,但是最多只有4 个b c v 处于活动状态。 第二节虚拟视图技术 虚拟视图技术采用基于软件的方式实现,和镜像分裂技术不同的是,在建 立快照之前,并没有为快照卷预先分配空间,而是在快照命令发出之后,为快 照卷分配少量空间,通常为2 0 q 0 。在源数据卷没有写入之前,快照卷和源 数据卷共享同一份物理拷贝,在源数卷有写入的时候,利用写前拷贝技术将源 卷的数据拷贝到快照卷中。 2 2 1 实现思想 虚拟视图技术的思想是基于绪论中提到的一个统计试验结果,在连续运行 两个月的情况下,数据卷被更新的数据一般不会超过其总容量的2 0 3 0 。因 而在虚拟视图技术中,快照时刻点到来之后,建立一份快照时亥0 源数据卷的物 理副本,并分配少量的存储空间,一般为源卷的2 0 一3 0 ,如果数据更新超过 这个比例,快照将失效。每个源数据卷都具有一个数据指针表,该指针表的记 录数量等于源数据卷的数据快数量,每条记录保存这指向对应数据块的指针。 在建立快照时,源数据卷的指针表建立一个副本作为快照卷的数据指针表。在 快照建立结束时,快照建立了一个可供上层应用程序访问的逻辑副本,快照卷 与源数据卷通过各自的指针表共享同一份物理数据。快照建立完成之后,当源 数据卷中的某数据需要更新时,采用写前拷贝技术来保证快照操作的语义,即 将原始数据拷贝到快照卷中某个数据块,并修改快照卷数据指针表的对应记录, 使其指向该数据块,然后再更新源数据卷中的数据块。对快照卷中数据的访问, 则必须查询快照卷的数据指针表,根据对应的数据块指针确定所访问的数据物 理存储位置。虚拟视图技术的工作原理如图2 2 所示。 6 第二章当前的主流快照技术 源数据卷侠照卷源数据卷 快照卷 源数据卷数据块 耀数据卷的数据更新采用写前拷见,修改快照卷指针表 2 2 2 特点 图22 虚拟视图技术的工作原理 虚拟视图技术基于软件方式的实现以及采用了写前拷贝技术,从而具备很 多优点:首先快照的建立方式十分灵活,可以在任意时刻建立快照;不需要预 分配存储空间,只是在建立快照的时刻,分配少量的存储空间;快照建立的时 间较短,通常只有几秒;数据的拷贝只有在源数据卷发生更新的时候才发生, 系统的开销较小。但是虚拟视图技术也存在一些缺点:快照卷仅仅保存了源数 据卷被更新的数据,从而无法得到完整的物理副本,因而不适用于一些完整物 理副本的应用。 22 3 主流产品 目前有不少的存储产品支持虚拟视图技术的快照,例如上面提到的e m c s t i m e f i n d e r 【4 】,在最新的版本中就支持它。还有一些产品如m s 删a c n u a l 舡a y ( r v a ) 1 8 1 、s t o r a g e t e k ss h a r e d r t u a la r r a y f l l 】、r e d h a tl i n u xe m e r p r i s e 4 iv m 2 【2 0 1 支持虚拟视图技术。下面简单介绍一些m m sr a m a c r t u a la 眦v 。 r v a 采用虚拟磁盘架构( n u a ld i s km c h i t e c t u r e ) ,有两个表f d t 和f t d 。f d t 驻留在内存中,每个功能设备在这个表中都有一个入口。每一项都有设备属 性( 如地址、类型、柱面数目等) 的描述以及指向f t d 的指针。f t d 拥有两个表 f t t 和t n t 。这两个表均驻留在内存中,这两个表结合起来用于指向数据的实 际物理位置。其中f t t 用于记录数据所在的磁道号以及一个指向t n t 的指针。 t n t 中记录某磁道中实际的物理偏移以及指向该表的引用计数。虚拟磁盘架构 第二章 当前的主流快照技术 如图23 1 8 1 所示 图2 3 虚拟磁盘结构 在建立快照时,快照拷贝一份f t t 的记录,然后将t n t 中的引用计数加1 。 在这过程中,没有实际的物理数据拷贝。如图24 8 1 所示: 第二章当前的主流快照技术 图24 建立快照 当源卷需要更新时,源卷的f t t 的表作出修改,将其中指向n 订的指针指 向更新后数据的物理位置,而此时原t n t 的引用计数减1 。这样在源卷中的数 据改变了,而快照依然保留了做快照时刻点的数据。如图2 5 【8 1 所示: 第二章当前的主流快照技术 图2 5 更新源卷 第三节按需拷贝技术 按需拷贝技术采用软件方式实现,与虚拟视图技术相同的是,在源数据卷 写入的时候,需利用写前拷贝技术将数据拷贝到快照卷中,但不同的是按需拷 贝技术需要一个后台拷贝进程来拷贝数据,生成的快照是完整的物理副本。 2 3 1 实现思想 与虚拟视图技术相同的是,写前拷贝技术在快照时刻点之后建立快照卷。 快照命令发出之后,首先暂停上层应用,接着建立快照卷,为其分配大于或等 于源数据卷容量的存储空间,然后建立一个控制位图,控制位图的每一个控制 位表示源数据卷的一个复制单位是否已经复制到快照卷,复制单位一般为数据 块( c h u n k ) ,最后初始化所有的控制位,表示所有的数据块均未复制。至此创建 快照的操作已经完成,快照已形成了一个可供上层应用程序访问的逻辑副本, 恢复运行暂停的上层应用。在快照时刻点,存储子系统要为快照卷分配存储空 l o 第二章当前的主流快照技术 间,并建立控制位图,因此快照的建立时间与源数据卷的容量成线性比例,一 般为几秒钟。快照建立之后,一个后台复制进程开始将源数据卷的数据块顺序 复制到快照卷,并在控制位图上标记该数据块完成复制。源数据卷上的某数据 发生更新时,采用写前拷贝技术来保证快照操作的语义,则如果该数据尚未完 成复制,该数据将首先被复制到快照卷上,并标记控制位图对应的控制位,然 后再更新源数据卷的数据,否则将直接更新源卷的数据。如果上层应用要访问 快照卷的某数据时,将首先检索控制位图,如果对应的控制位显示该数据还没 有被复制到快照卷上,则从源数据卷访问实际数据,否则直接访问快照卷。按 需复制快照的工作原理如图26 所示。 控制位图 l ll - i ll 0 一。 。 o1 0 oo1。 源数据卷快照卷 口 源数据卷数据块未发生更新 一源数据卷数据块一发生更新 图 快照卷数据块已经拷贝 网快照卷数据块尚未拷贝 图26 按需拷贝技术的工作原理 第二章当前的主流快照技术 23 2 特点 按需拷贝技术具备如下优点:不需要预分配存储空间,只是在建立快照时 才分配存储空间;快照的建立方式十分灵活,可以在任意时刻建立快照;快照 的建立时间较短,通常只有几秒;生成的快照是完整的物理副本,因而适用于 一些需要完整物理副本的一些应用。但是它也同样存在缺点:生成完整的物理 副本需要就较长的时问,在源数据卷的快照数目较多的情况下,后台复制进程 将占用大量的系统资源,这将会严重影响系统的性能。 第四节增量快照技术 通过对上面几种快照技术的分析,虚拟视图技术的时间和空间代价最小, 而且快照的处理方式十分灵活,但是这种方式没有完整的物理副本,不适用于 一些完整物理副本应用。而按需拷贝技术的时间和空间代价较高,但是有完整 的物理副本,可以适用于完整物理副本应用。而在上面提到的这几种技术中, 对于多个时刻点的连续快照其每一个快照一般是作为独立的单一快照分别处理 的,但实际中快照之前的数据量更新很少,如果可以利用它们之间的数据相关 性,则能够取得更好得性能。 南开大学软件实验室设计了一种基于按需拷贝技术的增量快照【2 2 。4 1 方案, 可以充分利用不同时刻点快照之间的数据相关性,从而有效地降低了数据的拷 贝量。 2 4 1 实现思想 在增量快照技术中,一个源数据卷在不同时刻点创建多个快照卷,在某 快照卷上所复制的数据,都被其后创建的快照卷所利用。在源数据创建快照的 第一个时刻点,存储子系统创建初始增量快照,首先分配一个大于或等于源数 据卷容量的快照卷,然后建立一个控制位图和增量位图,初始化控制位图和增 量位图,其中增量位图用于记录在最新时间点的快照创建之后,源数据卷上的 被更新的数据块的位置。增量快照技术在快照时刻点之后,通过后台复制进程 和写前拷贝操作,将源数据卷上的数据顺序地复制到快照卷上,同时在控制位 1 2 第二章当前的主流快照技术 图上标记复制结果;同时在增量位图中记录快照时刻点之后源数据卷上被更新 数据块的位置,而不管这些更新是否引起写前拷贝,这段时间内源数据卷上同 一数据块可能被更改多次,在增量位图上只记录一次更新。 当需要创建该增量快照在新的时刻点b 的快照时,增量快照的前一个时刻 点a 的快照已经将源数据卷在时间点a 的数据全部或部分地复制到快照卷上, 这些复制到快照卷的数据将继续被时间点b 的快照利用;此时增量位图和时间 点a 的快照的控制位图按位进行x o r ,产生时间点b 的快照的控制位图,时间 点b 的快照将根据新产生的控制位图决定源数据卷上的哪些数据需要在本次快 照中被复制;同时增量位图被初始化,开始纪录时间点a 后源数据卷发生数据 更新的位置。这样增量快照使用同一组快照卷、控制位图和增量位图,实现了 连续时间点的快照,同时减少了快照卷数据复制的工作量:新时间点b 的快照 被创建后,只有上一快照时间点a 之后尚未完成复制的源数据卷数据( 记录在 控制位图中) 和时间点a 后源数据卷中被更新的数据( 记录在增量位图中) 的 并集( 记录在新的控制位图中) 需要进行复制。增量快照的工作原理如图27 所 示。 控制位图增量位图 控制位图增量位图 lo l 0 o0 。_ 一 - 5 o o l 1 。, 一 | 1 0 00 。 o0 1 。一 00 0 o 。1 口口口l 复制l 圈霞函随 口口口l 一圈图圈圈 口口口ii 团圈圈圈 口口一口j【圈圈图囹 口口口口 口口口口 口口口口 口口口口 复制 源数据卷 快照卷 源数据卷快照卷 在时间点a 的快照在时间点b 所刨建的快照 口 源数据卷教据块未拉生更新 一源数据卷数据块一一发生更新 圈 快照卷数据块一已经拷贝 圈 快照卷数据块尚未拷贝 醴囹囝囝图图囝图图图囹图 图囹固图 第二章当前的主流快照技术 2 42 特点 图27 增量快照的工作原理 增量快照技术具备如下优点:不需要预分配存储空间,只是在建立快照时, 才分配存储空间;快照的建立方式十分灵活,可以在任意时刻建立快照;快照 的建立时间较短,通常只有几秒;生成的快照是完整的物理副本,因而适用于 一些需要完整物理副本的一些应用。但是它也同样存在缺点:快照的数量大小 直接影响系统性能,快照数量越多系统的开销越大基于同一源卷的快照卷数量 越多,对系统下发的读写请求延迟越大试验表明,同一源卷支持的快照卷的数量 有上界值当同一源卷支持快照卷的数量不超过1 0 时,读写延迟的耗费几乎和 正常读写相差无几,性能降低约7 口”,否则读写请求的延迟迅速增大,系统的性 能大大降低,这主要来自内存的占用,由于每个快照节点的位图空间的耗费随 快照的数量线性地增长。 2 4 3 总体设计 南开大学软件实验室采用增量快照技术设计并实现了s s m i n 0r 【强2 4 墚统,该 系统工作在c a c h e 层次和块设备层次之间,系统由4 个基本模块组成:初始模 块,i 0 后台拷贝模块,读写请求处理模块和数据拷贝处理模块。 系统中i o 后台拷贝模块和读写请求处理模块分别对应两个子线程的拷 贝线程和读写处理线程。i o 拷贝线程以后台的方式依次进行数据块从源卷到快 照卷拷贝。读写处理线程负责处理主机系统对数据卷( 源卷或者快照卷) 读写 请求处理。这两个线程所涉及的具体数据拷贝工作交给z o n e m o v e r 完成数据拷 贝。支持两种类型的快照,全量快照( f u l v c o m p l e t es n a p s h o t ) 指的是对当前 时刻源卷的数据进行全面的拷贝,形成全量快照卷;增量快照( h c r e m e m a l s n a p s h o t ) 是在指定的前次快照卷( 基卷) 的基础上,仅覆盖基卷相对于源卷发 生改写的数据块。在系统中,无论是全量快照还是增量快照,最终形成快照卷 都是源卷的完全数据副本。在快照的过程中,关键是如何处理系统下发的读写 请求。系统基于写前拷贝技术处理写请求,保证了系统写请求的快速响应和快 照正常工作。系统4 个模块的功能是: ( 1 ) 初始模块的主要功能是,获取源卷和快照卷的信息,进行合法性检查; 4 第二章当前的主流快照技术 进行c a c h e 刷新;将源卷和快照卷的信息写入快照控制信息结构变量。 根据源卷和快照卷计算拷贝单位的数量,分配和初始化快照位图。c a c h e 刷新完成后,将控制信息节点加入到快照控制信息链表中。为了便于查 找系统存在的同源卷的快照节点,在该链表内部对于相同源卷的所有快 照节点链结形成了同源卷子链表。 ( 2 ) 在啪i 拷贝模块中,以后台的方式进行数据块在源卷和快照卷之间拷贝, 最终形成了全量快照卷或者增量快照的基卷。系统中唯一的i 0 拷贝线 程循环遍历控制信息链表,按照快照位图依次选择数据块交给 z o n e m o v e r 完成数据拷贝。 ( 3 ) 读写请求处理模块的主要功能是负责处理主机系统对数据卷( 源卷或者 快照卷) 读写请求处理。读写请求处理不仅涉及对源卷的读写,还可能 对快照卷的读写操作。读处理相对简单,若是对快照卷尚未拷贝的数据 块读请求,则利用快照位图重定向到相应的源卷数据块;否则直接返回。 采用写前拷贝技术处理写请求,保证了系统写请求的快速响应和快照正 常工作。 ( 4 ) 数据拷贝模块的主要功能是负责处理全部的数据拷贝功能,包括写前拷 贝和后台拷贝。为了系统的写请求能够较快地完成,不影响上层应 用,写前拷贝请求的优先级大于i 0 后台拷贝的优先级。 第五节文件系统层和存储系统层的快照 快照可以在不同的层次上实现,主要在文件系统层和磁盘存储系统层【2 0 】 上实现。在磁盘存储系统层上,快照通常以l u n o 百cu n i t 逻辑单元) 为快照实 体,以数据块( b 1 0 c k ) 的粒度进行写前拷贝。在文件系统层,通过记录整个文件 系统的元数据在某时刻的状态,对文件系统的元数据的复制和控制来实现文 件粒度级快照。文件是由数据块组成的,数据块连续地存放在物理磁盘上,但 一个文件所有的数据块并不一定连续地存放在磁盘上。因此在同等情况下文件 系统层的快照增加了大量额外的磁盘寻道操作。存储系统层快照更适于在存储 性能要求较高的情况下,它可以大大减少服务器和存储网络的负载;文件系统 层快照的优势在于更为灵活,它可以对特定的文件系统创建快照,因而拥有更 小的粒度控制。 第三章l 2 及其快照分析 第三章l v m 2 及其快照技术分析 在增量快照技术中,源卷支持的快照数目较少,这不适用于一些快照数目 要求较多的场合。其原因主要是按需拷贝技术需生成完整的物理副本,单一快 照的数据拷贝量等于源卷的实际数据量。依赖快照技术的实现借鉴了虚拟视图 技术和增量快照技术,可以从根本上解决这个问题,它借鉴了虚拟视图技术只 拷贝源卷更新的数据,数据的拷贝量较少:同时借鉴增量快照技术,利用快照 之间的数据相关性进一步减少数据的拷贝量,从而有效地降低了数据的拷贝量, 进而源卷可以支持较多的快照。r e d h a t e n t e r p r i s e l i n u x s e r v e r 4 中1 1 0 1 2 采用虚 拟视图技术实现快照功能,在依赖快照技术的设计中,采用它作为修改的原型。 本章主要分析了i 聊订2 的系统架构以及快照功能部分的源码。 第一节l v m 2 简介 l 、啊订机制最初是m m a j x 特有的硬盘管理机制,它的最主要目的是为了克 服u n i x 作业系统规划硬盘空间给某个文件系统之后,就无法再改变此文件系统 的大小。例如在最初安装系统时,可能认为1 1 0 m e 目录只要5 0 0 m b 就可以了, 但是在实用的过程中由于使用者越来越多,原先规划的空间可能就不够使用。 针对这个问题,传统的做法就是将原, l o m e 目录中的资料备份出来,重新划分一 个新的分区,格式化成新的文件系统,再将原有的资料还原回去。即使现有的 硬盘还有足够的空闲空间,也无法马上利用这些空间。l 通过利用在实际的 硬盘和文件系统之间加入层逻辑映射机制,达到动态缩放文件系统大小的功 能,进而解决了u n i x 所面临的问题。 3 1 1l 2 的特点 i v m 2 【2 0 _ 2 1 1 是目前1 i n u x 内核的一个重要组成部分,它在物理磁盘的基础上 产生一个抽象层,将多个物理磁盘或者分区组成存储池,再从存储池中划分出 逻辑卷,卷提供给上层的功能与物理磁盘提供的功能类似,可以在卷上创建文 件系统、建立数据库和进行原始设备访问( 研) ,但是卷比物理磁盘提供更 第三章l v m 2 及其快照分析 高的可用性并且更易于管理。u n i x 传统的硬盘管理机制如下图31 i o 请求“o 应答 上1 l 用户进程 j 上t 文件系统 1r 上t 物理设备驱动 上千 硬件 图3l i j n i x 传统的硬盘管理机制 而l 舵的工作机制如下图32 : 1 7 第三章l v m 2 及其快照分析 i o 请求i ,o 应答 上t 用户进程 j i土 文件系统 1r 厂7 l v m 上f 物理设备驱动 上f 硬件 图32 i :懈2 的工作机制 i v m 2 有以下优点: ( 1 ) 提高访问性能,删2 支持s t r i p p i n g 等功能,通过并行访问提高性能; ( 2 、支持快照功能,利用i 2 的快照功能,可以进行数据的热备份: ( 3 、逻辑卷的大小可以在不停止上层应用程序的情况下进行动态调整,提高 了系统的可用性。 3 1 - 2l 、,m 的相关概念 删是一种虚拟设备驱动程序,它在已有设备的基础上虚拟出逻辑设备已 便于管理。【m 提出了以下一些概念: p v ( p h y s i c a lv o l u m e ) 物理卷,指一个物理磁盘或者分区,它由多个p e 组成。 v g ( v 0 1 u m eg r o u p ) 卷组,由个p v 或多个p v 组成,相当于p v 构成的存 储池。 l v ( l o g i c a lv o l u m e ) 逻辑卷,相对于非l v m 系统中的磁盘分区,从v g 中 第三章l v m 2 及其快照分析 划出的一定大小的逻辑存储空间,它由多个l e 组成。 p e ( p h y s i c “e 对e n t ) 物理区域,p v 的划分单位,通常l e 和p e 是一映射的。 l e ( l o g i c a le ) ( c e m ) 逻辑区域,l v 的划分单位,l 中的每一个l e 对应一 个或多个p e ,通常l e 和p e 是一一对应的。 这几个概念之间的关系如图33 【2 6 l 所示: v p v1 :,d e v ,s d ap v 2 :,d e v ,s d bp v 3 :,d e v ,h d a 懋 p e ) l e 图3 3l 结构关系图 在图3 3 中,p v l 、p v 2 、p v 3 组成一个v g ,从v g 中划分出了4 个l v 。一 个l ,v 上不同的l e 可以对应不同的p v 上的p e ,例如i _ 2 的两个l e 分别映射 到p v l 和p v 2 的一个p e 上。 3 1 3l 舵的源码架构 l m v 2 采用三层体系架构,每一层都有其独立的功能。层之间通过一些预定 义的标准接口来实现调用。l 2 的源代码一共有3 个部分:用户态、d e v i c e m a p p e r 、内核态。实际开发使用的版本分别是:用户态版本为2o o3 i ( 2 0 0 4 1 2 一1 2 ) ,d e v i c em a p p e r 版本为l0 10 4 ( 2 0 0 5 一0 8 一0 2 ) ,内核版本为269 。 用户态的主要功能是提供逻辑卷管理功能,如物理卷的建立删除,卷组的 建立删除,逻辑卷的建立删除,逻辑卷、物理卷、卷组的元数据的读写等。 第三章l v m 2 及其快照分析 d e v i c em 印p e r 的主要功能是用户态和内核态之间的映射功能。它在用户态 和内核之间起着一个中介作用,用户态命令的调用时如果需要调用内核,则需 要通过d e v i c em a p p e r 来陷入内核。 内核态的主要功能是在内核态建立与用户态卷相对应的数据结构,并对文 件系统或者上层应用程序下发的读写请求根据卷类型的不同分别进行处理。它 们之间的主要关系如下图34 : 管理命令 i ,0 请求i o 应答 上占t 控制台 用户进程 上t 。 jt 用户态 文件系统 上t d e v i c em a p p e r 上f 广h 内核态l + j 物理设备驱动 上t 硬件 图34l 、,m 2 的源码架构 3 1 4 逻辑卷的创建 用户态在创建逻辑卷时,首先为逻辑卷分配逻辑区域,接着查找卷组中空 第三章l v m 2 及其快照分析 闲的物理区域,然后按照一定的分配策略分配物理区域,这些物理区域在一定 程度上是可以合并的,这些合并的物理区域称之为段( s e g m e m ) ,段在内核态对 应d mt a r g e t 结构。逻辑卷在用户态建立好之后,通过d e v i c em a p p e r 通知内核, 内核建立与逻辑卷相对应的映射( m a p p e dd e v i c e ) 设备以及与映射设备相关的元 数据d mt a b l e ,最后创建与用户态段相对应的d mt a f g e t 结构,并将d mt a r g e t 结构添加到d mt a b l e 中去。d mt a b l e 中保存着逻辑卷相关的元数据信息,应用 程序或者文件系统对设备读写请求需要从d mt a b i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 娱乐场所设备租赁及运营合作协议
- 个人出生日期与任职信息证明(6篇)
- 手房两年后过户合同
- 互联网创业基础知识
- 小学语文写作教学的创新实践
- 电子商务电商物流实战案例解析题
- 环保教育在小学阶段的实施路径
- DB14-T 3400-2025 连香树近地保护技术规程
- 外贸英语术语应用与听力训练题集
- 高中物理必修电学基本概念教学教案
- 统编版(2024)七年级下册历史期末专题复习课件40张
- 湖北省武汉市2025届高三年级五月模拟训练试题数学试题及答案(武汉五调)
- 2025年湖北省襄阳市襄州区中考数学二模试卷
- 2024年浙江省单独考试招生文化考试语文试卷真题(含答案详解)
- 江苏省苏州市昆山市2022-2023学年四年级下学期期末数学试题
- MSG-3中文版课件
- 盾构施工总结(doc106页)
- 转发省局《关于加强非煤矿山安全生产班组建设的指导意见》的通知
- 第四节SS4改型电力机车常见故障处理
- 分部验收桥梁主体验收评估报告
- 计算机网络设计毕业设计论文
评论
0/150
提交评论