(计算机系统结构专业论文)数据一致性在网络存储系统中的研究.pdf_第1页
(计算机系统结构专业论文)数据一致性在网络存储系统中的研究.pdf_第2页
(计算机系统结构专业论文)数据一致性在网络存储系统中的研究.pdf_第3页
(计算机系统结构专业论文)数据一致性在网络存储系统中的研究.pdf_第4页
(计算机系统结构专业论文)数据一致性在网络存储系统中的研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机系统结构专业论文)数据一致性在网络存储系统中的研究.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 与传统的存储系统相比,网络存储集成了存储技术和网络技术,并采用更优的 体系结构为数据存储提供了更大的容量,更好的性能和更高的可靠性。然而因为网 络存储面向多用户提供服务,并且因其自身体系结构所具有的分布式特点,它必须 解决数据一致性的问题,以提供正确可靠的服务。 分析现有的各种体系结构后可以得出:网络存储的本质就是将数据资源和存储 空间,通过网络提供给多个使用者共享。存储设备和数据使用者具有分散性的特点。 网络存储中的数据一致性是指分散在系统中的数据,作为一个整体必须是完整的和 一致的。数据的多个副本或多个访问点是造成数据不一致的根本原因。 针对网络存储中数据一致性问题的三种主要表现,需要运用分布式系统等相关 理论,设计和总结不周情况下的解决方案。这三个主要表现分别是:缓存一致性、 元数据一致性和节点间数据一致性。 异构环境下的网络存储产生了多协议的一致性问题。可扩展的分层式锁管理方 案键用集中式的解决办法,在操作系统一级采用多层次、多种类的文件锁,协调各 个共享协议在自相关性、互相关性和c a c h e 有效性方面的差异,来达到多协议共享 的数据一致。 热备份系统的数据同步,要在保证工作节点合理响应速度的条件下进行。基于 日志的双机热备份系统使用主拷贝方法,运用基于时戳的转移式写回缓存算法,保 证节点间的数据一致性的同时,减轻了主服务器的负担;数据变化时,用修改记录 代替被更新的文件传递到备份节点,以减少工作节点的响应时间。、 。j j 关键词:数据一致氍文件索绕;网络荐储i 存储龋两络;附网轾穑: 异构环境:热备份: k 华中科技大学硕士学位论文 a b s t r a c t c o m p a r e d w i t ht r a d i t i o n a l s t o r a g es y s t e m ,t h e n e t w o r k s t o r a g es y s t e m w h i c h c o m b i n e dt h es t o r a g et e c h n o l o g ya n dn e t w o r kt e c h n o l o g ya n de m p l o y e dm o r e e f f i c i e n t a r c h i t e c t u r e ,c a r lp r o v i d es t o r a g e s e r v i c ew i t hm o r ec a p a c i t y , b e t t e rp e r f o r m a n c ea n d h i g h e rr e l i a b i l i t y b u tb e c a u s et h en e t w o r ks t o r a g es y s t e m h a dt os e r v e rm u l t i p l ec l i e n t s , a n di t sa r c h i t e c t u r eh a st h ed i s t r i b u t e df e a t u r e ,d a t ac o n s i s t e n c ym u s tb eg u a r a n t e e dt o p r o v i d e c o r r e c ta n dm l i 曲l es e r v i c e b a s e do nt h ea n a l y s i so nv a r i o u sa r c h i t e c t u r e so fn e t w o r ks t o r a g es y s t e m ,t h e e s s e n t i a lo ft h en e t w o r ks t o r a g es y s t e mc a nb ec o n c l u d e da sm u l t i p l ec l i e n t ss h a r i n gt h e d a t aa n ds t o r a g es p a c ev i an e t w o r k t h es t o m g ee q u i p m e n t sa n dd a t au s e r sa r ed i s t r i b u t e d a r o u n d s ot h ec o n c e p to fd a t ac o n s i s t e n c yi nn e t w o r ks t o r a g es y s t e mi st h a tt h ed a t a d i s m b m e di nt h es y s t e mm u s tk e e 口c o n s i s t e n tw i t he a c ho t h e r , a n da saw h o l e ,k e e pi t s i n t e g r i t y m u l t i p l ec o p i e sa n dm u l t i p l e a c c e s sp o i n to f t h es a m ed a t ar e s u l ti nd i s a c c o r d t h e r ei san e e dt o a p p l yr e l a t i v e t h e o r i e sa n dm e t h o d sf r o md i s t r i b u t e ds y s t e m s c i e n c et od e s i g na n dc o n c l u d et h er e s o l u t i o n sf o rt 1 ep r o b l e m sa b o u td a t ac o n s i s t e n c yo f t h en e t w o r k s t o r a g es y s t e m t h e r e e x i s tt h r e em a i np r o b l e m s :c a c h e c o n s i s t e n c y , m a t e - d a t a c o n s i s t e n c ya n d d a t a c o n s i s t e n c yb e t w e e n n o d e s t h e r ee x i s t sad a t ac o n s i s t e n c y p r o b l e m f o rm u l t i p l es h a r i n g p r o t o c o l si nt h en e t w o r k s t o r a g es y s t e mw o r k i n gi n t h eh e t e r o g e n e o u sc i r c u m s t a n c e a c c o r d i n gt ot h ei d e ao f c e n t r a l i z e dc o n t r o l l i n g ,ad e s i g n ,s oc a l l e d e x t e n s i b l eh i e r a r c h i cl o c km a n a g e m e n t ”, u t i l i z et h em u l t i t y p ea n d m u l t i h i e r a r c h yf i l el o c kt oh a r m o n i z e t h e p r o t o c o l s ,s ot h a tt h e s y s t e mc a no v e r c o m e t h ed i f f e r e n c eb e t w e e n p r o t o c o l si ns e l fr e l a t i v i t y , m u t u a lr e l a t i v i t y a n dc a c h e v a l i d i t yt or e a c hd a t ac o n s i s t e n c y d a t as y n c h r o n i z a t i o nf o rh o ts p a r es y s t e mm u s tp r o c e e du n d e rt h ec o n d i t i o nt o g u a r a n t e ea s o u n dr e s p o n s es p e e df o rt h ew o r k i n gn o d e i nl o g b a s et w op o i n th o ts p a r e s y s t e m ,t og e td a t ac o n s i s t e n c yb e t w e e nn o d e s ,t h ea l g o r i t h mo f p r i m a r yc o p yr e p l i c a t i o n i s e m p l o y e d ,a n dan e wr e l o c a t e dt i m es t a m pb a s e dw r i t e b a c kc a c h i n ga l g o r i t h mi s a p p l i e dt om a n a g et h el o gf i l e s w h e nd a t ec h a n g e d ,j u s ts e n dt h ec h a n g i n gr e c o r db u t w h o l ef i l et o 也eb a c k u pn o d et os h o r t e nt h er e s p o n s et i m eo ft 1 1 ew o r k i n gn o d e a n du s e t h i sw r i t e b a c kc a c h i n g a l g o r i t h mc a ng r e a t l y r e d u c et h eb u r d e no f w o r k i n g n o d e k e y w o r d s :d a t ac o n s i s t e n c y ;f i l es y s t e m ;n e t w o r ks t o r a g e ;s t o r a g ea r e an e t w o r k ; n e t w o r ka t t a c h e ds t o r a g e ;h e t e r o g e n e o u sc t r c u m s t a n c e ;h o t s p a r e 华中科技大学硕士学位论文 1绪论 随着信息技术的迅猛发展,信息数字化所带来的信息量、数据量以爆炸式的几 何级数递增,如何高效可靠地存储、处理这些数据,已成为关系到i t 产业界的电子 商务和互联网等领域发展的关键问题。与传统总线连接存储( b u s a t t a c h e ds t o r a g e , b a s ) 相比,网络存储( n e t w o r k e ds t o r a g e ) 集成了存储技术和网络技术,并采用 更优的体系结构为数据存储提供了更高的存储容量和带宽,同时它还具有高可用性、 可靠性和可扩展性等优点。然而因为网络技术的使用,其体系结构具有一定的开放 性,数据使用者和存储设备分散在不同的位置( i j 。为了向用户提供正确可靠的存储 服务,首先必须保持网络存储系统中的数据一致性。 1 1网络存储系统中数据一致性问题的引入 数据一致性是指系统中的数据,对外具有统一的视图。即系统的各个使用者得 到的有效数据必须是相同的,或数据原有的关联性保持不变。这个问题是分布式系 统研究的一条主线,但是在网络存储这个特定的领域尚缺乏专著进行归纳和研究。 数据一致性在网络存储系统中主要表现在以下几个方面: 1 缓存数据一致性:网络存储最主要的应用是对存储数据的并行访问。当两个 以上的访问聚焦到同一个文件时,必须保证它们获得一致的内容。如图1 1 ( a ) 所示, 在传统的单机文件系统中,一个进程对文件所做的修改会马上被其他访问该文件的 进程所看到,这使得文件就像共享内存一样地工作口1 。文件系统的这种共享特性被 称为u n i x 语义。事实上,u n i x 本地文件系统是使用同一个文件缓冲来为打开该 文件的所有进程提供存储服务的1 3 ,4 】。某些应用( 如数据库等) 需要这种共享语义 的支持。但是在网络存储中,其网络文件系统为了减轻网络负担,往往在客户端使 用了缓存技术p j 。如图1 1 ( b ) 所示,在这种情况下,传统的u n i x 共享语义难以保 证。因此我们需要解决的是:为了提供传统的文件共享语义,需要采用何种方法保 持缓存的一致;或者如何定义新的共享语义来满足传统的应用,以及如何实现这种 语义。 保持客户端数据的一致性还有另外的一个议题,那就是如何为应用层提供有效 的a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,应用程序接口) ,使得应用程序能够同步 对文件的并行存取,避免产生与时间有关的错误【7 1 。这种接口通常就是文件锁机制。 但是网络文件系统与传统的文件系统在工作环境上存在着两个差异,这使得文件锁 华中科技大学硕士学位论文 机制必须被重新考虑。首先,网络连接是可以被随时中断的,这会造成某些时候管 理模块不能收回分配出去的锁。锁回收不成功,会导致网络同步共享的失败。其次, 异构环境需要有不同的文件共享协议,这些协议一般都有各不相同的锁定机制和锁 定级别。如何兼顾这些差异,保证全局的访问同步和数据一致也是一个重大课题。 ,一 c l 、 1 写入:c ;盔7 2 读 :二二i 互二j ,一 c 】。 一写入:c c 2 3 读出:a b 7 。 ( a ) 单机系统( b ) 网络存储系统 图1 1 缓存一致性问题 ( a ) 单处理机系统,c 1 的写入马上被c 2 察觉; ( b ) 网络存储系统,c 2 可能得到过时的值。 2 节点间的数据一致性:除了客户机缓存的一致性问题之外,网络存储系统的 各个服务节点或者备份节点之间,数据的一致性问题也很常见。 经常在互联网上发生重大业务的公司,需要他们的系统在任何一个潜在的错误 出现时仍能可靠地运行,不丢失任何重要数据。因此,对于商业网站和公司的企业 内部互联网络( i n t r a n e t ) 来说,将数据适时地复i i i ! ! i 多台服务器上是具有重要战略 意义的( 如图1 2 ) 。这种集群式的系统很好的满足了高可用性的要求。但是它的成 功有赖于一个完善的策略来同步和复制不同服务器上的数据,保持服务器间的数据 一致性【8 1 。 j c 三1 | 、兰。羔- 图i - 2 保持节点间的数据一致 3 ,元数据一致性:在占领网络存储半壁江山,面向高端应用的存储区域网络技 华中科技大学硕士学位论文 术中,元数据的一致性也是一个至关重要的问题。元数据是精确地描述和管理文件 系统的信息集,它包含每个文件的数据在磁盘中的具体位置,以及当前磁盘的空闲 空间等重要信息,对于存储行业有重要的意义。它具有一定程度的整体性,所以 个健壮的文件系统必须能规范对元数据的并行修改,使之保持一定的同步关系。在 存储区域网中,文件系统的数据分布在多个存储节点,对元数据的操作也可能分布 在不同的服务器节点,随着数据和节点数量的增长,其管理已经变得越来越困难一o 。 1 2 本文研究的背景 在网络存储系统中,数据一致性是数据共享所必须解决的关键问题。网络技术 的介入,使得数据的使用者( 服务器节点或用户) 和提供者( 存储设备或整个网络 存储系统) 具有极大的分散性。在这种体系结构下,为了保证系统正确地管理数据 和存储空间,为用户提供无差错的数据服务,数据的一致必须得到保证。另外,在 存储数据重要性要求越来越突出情况下,网络存储也必须具备容灾、容错的特点。 这是建立在数据冗余的基础上的。因此保持冗余数据副本的一致也具有极其重大的 实际意义。 在数据库系统和分布式系统的有关专著中,数据一致性问题已经得到了较好的 研究。然而在网络存储领域,数据一致性问题缺乏专门的阐述和系统的研究。因此 有必要对这一领域的数据一致性进行集中深入的分析,运用相关的理论知识,提出 具有参考性的解决方案,以期对实际的系统设计产生一定的指导作用。 网络存储系统中数据一致性问题的研究,主要包括从体系结构的角度分析数据 一致性产生的原因、数据一致性问题在网络存储系统中的本质及其主要表现,然后 针对不同的表现,应用有关理论总结相应的解决策略。在此基础之上,希望提出一 两个解决方案,较好地解决网络存储中的某些数据致性问题。 本文的研究得到了一系列研究课题和工程项目的资助。主要包括“九五”国防 科技预研项目“高速串行s c s i 接口及系统”f 项目编号? 】6 1 3 8 ) 、国防科技预研 基金项目“军用存储网络原理的研究”( 项目编号:9 9 j 1 6 2 1 y w 0 5 2 4 ) 、“基于光纤 通道的集群存储容灾系统原理与核心技术的研究”( 项目编号:0 0 3 1 6 2 6 j w 0 5 3 3 ) 、 国际合作项目“n a s 系统软件开发”以及国家8 6 3 计划“存储虚拟化及其文件系统 的研究”等。 华中科技大学硕士学位论文 1 3 国内外概况 数据一致性问题的研究,主要出现在数据库系统和分布式系统中。在网络存储 领域,专门的理论研究比较少见。但是分析网络存储所使用各种网络文件系统和协 议,并借鉴分布式文件系统一些设计,可以发现设计者在这方面所作的研究和尝试。 从最初的h t t p ( h y p e r t e x tt r a n s f e rp r o t o c 0 1 ) ,f t p ( f i l et r a n s f e rp r o t o c 0 1 ) 等文件 传输协议发展到现在的各种分布式文件系统,已经出现了许多种成功的协议和系统。 它们在各自的实现手段和管理方案上对保持数据的一致性都采取了相应的语义和方 法。 最初在网络上传输文件的主要是h t t p 协议和f t p 协议。使用h t t p 协议只能 在客户端获得服务器上的数据,对服务器的数据不具备修改的能力。它所提供的共 享语义能保证客户所获得文件的内容,与请求该文件时服务器上的数据是一致的。 f t p 协议容许客户端修改服务器上的数据:先获得服务器上整个文件,然后在客户 端进行修改,最后再传回服务器,覆盖掉以前的内容。它所提供的语义也只能保证 请求时刻的数据致,而对文件的修改也以最后一次上传为准。在多用户环境和服 务器上数据频繁变化时,这种语义不能满足严格的一致性要求。也正是因为如此, 它们的实现显得简洁而高效,在宽松的一致性应用环境中,这两种协议仍然具有强 大的生命力。 与f t p 和h t t p 不同,由s u n 公司提出的n f s ( n e t w o r kf i l es y s t e m ) 协议中, 客户端可以使用文件系统a p i 来访问远程服务器上的数据,具有更好的交互性。这 些a p ! 和本地文件系统的接口几乎是没有差别的。这个协议是无状态的这是它的一 个突出特点:在服务器端不需要记录客户端的活动情况。服务器端只需要应答如下 的三类请求: 只读操作: g e t a t t r , l o o k u p ,r e a d d i r , r e a d ,r e a d l i n k s t a f f s m o u n t 目录树修改: m k d i r , l i n k ,s y m l t n k ,r e n a m e ,u n l i n k ,r m d i r 文件修改: s e t a t t r , w r i t e 大多数n f s 的实现都试图使用一种受限的客户端缓存,它提供的是一种不明晰 的共享语义:如果一个数据块的寿命未达3 0 秒,则可以再次使用。在服务器端,每 次客户的修改请求到达时,系统都先将改动保存在本地的稳定存储设备上之后,才 返回对用户的应答。n f s 协议试图实现传统的u n i x 共享语义,这在以快速网络联 接少量节点的紧耦合系统中容易实现,但是在慢速网络的多节点系统中,却需要以 降低系统性能为代价。 4 华中科技大学硕士学位论文 n f s 的后期版本n f s v3 ,v4 重新修改了协议“,通过适当地放松同步要求 来获得性能上的提高。其中,s p r i t e - n f sx c 原g 缓存机制作了很大的改进”“a m i c r 0 s o f t 在1 9 9 6 年提出了通用互联网文件系统( c o m m o ni n t e r n e tf i l es y s t e m , c i f s ) 6 1 。它是有状态的协议,在服务器端记录每个客户机的状态,因此能为客户 端提供紧凑锁机制,并能容许客户端使用缓存以减轻n - 络n n n n 务器负载,提高 系统效率。它提供给客户的共享语义是传统的u n i x 语义。它适合于小规模的网络 应用。 a f s ( a n d r e wf i l es y s t e m ) 是第一个在客户端使用稳定缓存( p e r s i s t e n tc a c h e ) 的网络文件系统1 1 3 j 。它在客户端使用本地文件系统来缓存常用的数据,包括文件和 目录。在正常情况下,客户端总是认为缓存中的数据是有效的,除非收到服务器发 过来回调r p c ( c a l l b a c kr e m o t ep r o c e s sc a l l ) ,被告知某个文件或所有文件的缓存 失效。这一般发生在其他用户即将更新服务器上相关数据的时候。a f s 采用“最后 关闭胜出”的共享语义。这比u n i x “最后写胜出”的共享语义要宽松一些。这种 放宽带来的好处是效率的提高:客户端修改文件时不会与服务器通讯,直到文件关 闭时,才将这个修改发送到服务器,使之被其他客户所看到。 对a f s 的进步改进是o s f ( o p e n s o f t w a r ef o u n d a t i o n ) 使用的文件系统d c e d f s ( d i s t f i b u t e dc o m p u t i n ge n v i r o n m e n t d i s t r i b u t e df i l es y s t e m ) ,其服务器端已经 被重新设计,支持文件集( f i l es e t ) 。其本地文件系统可以使用与d f s 不同的语义。 在d f s 中使用令牌( t o k e n ) 进行管理,文件或字段被作为管理对象,客户端可以 获得管理对象的令牌。这样d f s 提供了与单系统相同的u n 语义【l ”。 图卜3c o d a 存储服务网络 c o d a 在a f s 的基础上增加了些重要的特性1 5 , 1 6 ,首先是支持无连接操作,并 通过数据的重新整合( r e i n t e g r m i o n ) 来保证节点间的一致性。用于保存数据主拷贝 的服务器被称为主服务器,其他副服务器保存副拷贝。当连接断开或者网络拥塞时, c o d a 通过记录更改操作来支持无连接操作和数据重整。更改操作被写在副服务器的 华中科技大学硕士学位论文 客户修改记录文件中( c l i e n t m o d i f i c a t i o nl 0 9 ,c m l ) 。当连接恢复时,发生在副服 务器上的修改被重整到主服务器上。在重整数据的时候,主服务器重新执行记录在 c m l 中的操作,文件数据直接从副服务器上获得。服务器能够自动监测到网络带宽 并决定重整数据的时间。为了处理发生在数据重整过程中的服务器崩溃或者网络故 障,c o d a 使用了版本时戳( v e r s i o ns t a m p ) ,并将副服务器的标示号( c l i e n ti d ) 作为 版本时戳的一个部分。当重新连接时,c o d a 能快速地使用文件或卷的版本时戳来验 证缓存的状态。c o d a 在副服务器的缓存中保存了大量的文件以备断开连接时使用。 其次,c o d a 提出了卷存储组( v o l u m es t o r a g eg r o u p ,v s g ) 的概念来实现服务 器问数据的同步复制。每创建一个卷的时候,为其指定卷存储组。组中包含所有要 保存其数据副本的服务器。为了保证一致性,c o d a 采用一种“全写单读”的模式( w t i t e a 1 1a n dr e a do n em o d e l ) ,客户在确定所有服务器拷贝的时戳相等之前,它不会使用 这个数据。 另外值得一提的是i n t e r m e z z o 文件系统模型( i ”。它支持无连接操作,同时在c o d a 风格的数据重整中加入了写回式的缓存机制。i n t e r m e z z o 使用了过滤式的文件系统, 并将服务器的本地文件系统作为缓存,用很少的代价在内核中实现了写回式缓存。 i n t e r m e z z o 的写回式缓存基于一种称之为许司- ( p e r r n i t ) 的机制。在修改数据之前,副 服务器必须得到许可;当主服务器要求收回许可时,它必须交回,并且还要将修改 汜录一起提交给主服务器。许可的管理如同令牌保证了主服务器和各个副服务器 之间的数据一致性。这种文件系统目前在l i n t a x 系统上的实现只用了很少的 弋码, 其各项评测都取得了较好的结果,是网络文件系统中的一匹黑马。 第一个真正的集群文件系统出现在1 9 8 5 年由d i g i t a le q u i p m e n t 公司实现的 v a x c l u s t e r s 系统中【1 3 】。其性能经过了近二十年的考验,至今仍然任远程处理i t p ) 标准的竞争中处于领先的地位。系统中的存锗设备包括连接在节点上的本地盘和直 接挂在网络中的附网存睹设备。其文件系统的特性和共享语义主要是由所谓的锁管 理协议( l o c km a n a g e m e n tp r o t o c 0 1 ) 来决定的。在v a x c l u s t e r s 中对数据的访问必须 与分布在系统中的锁管理者进行协商。锁是用来控制对资源的访问的,资源包括系 统资源( 如硬盘区域,空闲位图,配额表等) ,以及应用层创建的资源。v a x c l u s t e r s 一个很重要的特点是对某个资源的管理节点可以不是资源节点自身,它甚至可以不 是集中式的。系统里的资源一般被命名和组织成几个树的结构。每棵树有一个管理 点对资源的锁进行管理。这个管理节点往往是第一个请求锁定这操树上某个资源的 任意的节点。当请求某个资源的锁时,如果找不到该资源的管理节点,这请求者自 身成为管理节点,这样可以减少网络流量。当存在管理节点时,管理节点断开已经 存在的锁,通告锁定这个资源的其它节点接受新的锁定设置,对文件系统而言,这 华中科技大学硕士学位论文 种锁管理机制提供了极好的特性。使用它可以在分布式环境中很容易地实现基于回 调的读缓存( c a l l b a c k b a s e dr e a d i n gc a c h e ) 和写回式缓存( 、州t e b a c k c a c h e ) ,保证了 缓存的一致。 伯克利家族的s p r i t e ,z e b r a 和x f s ( x f i l es y s t e m ) 也实现了在真正集群环境 中的文件系统。s p r i t e 是一个分布式的操作系统,它的文件系统提供u n i x 的共享 语义 1 9 1 。因此,它在r e a d w r i t e 和w r i t e w r i t e 的共享中不容许使用缓存。增加一个 不独占的写时,打开请求被发送到服务器的那一刻,其它客户的缓存就被禁止。z e b r a 是在s p r i t e 项目的最后阶段开发的,它的特点是提供了磁盘阵列间的分块。这种分 块并不是对单个的文件而是对每个客户日志的。z e b r a 通过一个集中的文件管理器 来提供存储定位和实现缓存一致忙。 x f s 是由z e b r a 改进而来专用于存储区域网的【2 ”。在这里,客户和服务器的分 界变得模糊了。它不再使用集中式的管理,取而代之的是“a n y t h i n ga n y w h e r e ”( 随 处可得1 的理念。x f s 最显著的特点就是把缓存在客户机中的数据副本作为主副本, 从而逆转了以服务器作为控制中心的形势。 全局文件系统( g l o b a lf i l es y s t e m ,g f s ) 是m i n n e s o t a 大学的一个关于s a n 文 件系统的项目中诞生的【2 2 1 。它实现了盘设备级别的锁( d i s kl o c k ,d l o c k ) ,在其基 础上采用了非集中式的管理,在分布式的环境中保证了元数据一致性。 1 4 保证数据一致性的常用理论 在保持数据一致性方面,分布式并行计算学科已经做了较多的研究,提出了一 些相关的理论和模型,其中的分布式文件系统、分布式共享存储器( d i s t r i b u t e d s h a r e dm e m o r y , d s m ) 以及分布式数据库技术对解决网络存储系统的数据一致性具 有很好的指导和借鉴意义。 为了保持数据的一致,一个关键的问题是协调共享数据资源的多个并发访问, 避免访问冲突引起的数据不一致甚至数据丢失。这是分布式系统设计中的重要议题 互斥。在网络存储中,互斥也是保证数据一致性的关键。 互斥问题最初是在集中式计算机系统中,为进程之间的同步而考虑的。在此基 础之上也研究了一些扩展的互斥问题。比如k 排斥问题就是对传统互斥问题的扩 展。对于互斥问题,一般的解决方案有原子操作,锁以及信号灯,信号量等。分布 式互斥的解决方案则一般分为基于权标( r i g h tt o k e n ) 和非基于权标的两类。权标类 似于令牌。在基于权标的算法中,一个唯一的权标在不同的进程间共享。当个进 程拥有权标时,它就可以进入临界区。这样保证了进程的互斥。在非基于权标的算 7 华中科技大学硕士学位论文 法中,为了得到对临界区的访问权,进程间需要一个或几个连续回合的消息交换1 。 从某种意义上说,网络存储就是分布式的文件系统。任何分布式系统的心脏都 是分布式文件系统。这样一个文件系统的设计是从接口开始的:文件的模型和文件 系统提供的功能。共享语义是用户所能直接感觉到的数据一致性,分布式文件系统 归纳了传统的u n i x 共享语义,并根据分布式体系结构中文件系统的实现提出了其 他几种语义模型。实现一个分布式文件系统要做很多决策,这包括系统是无状态的 还是有状态的,是否使用高速缓存以及如何实现高速缓存,怎样进行文件的复制等 等【2 1 。这些方面的讨论对网络存储系统中数据一致性问题的研究具有深远的影响。 实际应用中,对数据一致性要求最紧迫的是分布式共享存储器技术【2 | 2 4 ,2 “。这个 领域里将数据的一致性分为严格的一致性和松弛的一致性以及在二者之间可变的一 致性,并研究了数据一致性的若干相关议题:数据定位算法,高速缓存的一致性, 写同步问题,两次性错误,以及特定应用类型如数据库中的一致性问题。这些研究 和技术对网络存储数据的一致性也都有很好的借鉴意义。比如松弛的一致性,高速 缓存的一致性,数据定位算法等都可以对应到网络文件系统的相关问题中。 另一个具有借鉴意义的领域是分布式数据库技术。分布式数据库与传统数据库 不同的是它的数据对象分布在不同的物理节点上,而且个数据对象在不同的物理 节点可以有多个拷贝。当多个事务同时访问同一个数据对象时,应该避免产生两种 错误:不一致检索和不一致更新。因此产生了事务可串行性的理论,将并发控制分 为悲观的方法和乐观的方法,并产生了基于锁和基于时戳等并行控制方法。此外它 的复制一致性管理和基于日志的可靠性协议都对网络存储中保持数据的一致性具有 非常重要的指导作用 2 , 2 3 , 2 4 j 。 1 5 本文主要研究工作 在网络存储系统的数据一致性研究中,本文将根据已有的体系结构知识,运用 分布式系统和数据库系统的相关理论,进行如下的研究工作: 1 首先分析网络存储的体系结构对数据一致性的影响,找到网络存储系统中 产生数据一致性问题的本质原因,然后将数据一致性问题定位到体系结构中的具体 层次。 2 从网络存储体系中的数据一致性的狭义和广义两个方面,深入分析两方面 各种具体表现及其实质,然后运用分布式系统和数据库系统的理论和方法,设计并 总结各自的解决方案,进行系统的比较。 3 针对较少被提及和解决的多协议一致性问题,提出一套完整的解决方案。 华中科技大学硕士学位论文 。要求能够协调各个共享协议的语义差异,保证网络存储系统在异构环境中具有全局 的数据一致性。 4 设计一个以f r e e b s d 为平台的双机热备份系统。这个系统应能解决节点之 间的数据一致性问题,具有一定程度的容灾容错的性能a 9 华中科技大学硕士学位论文 2 数据一致性与网络存储的体系结构 本章将主要描述数据一致性的实质,并结合对网络存储体系结构的分析,找出 网络存储系统中产生数据一致性问题的根本原因,并确定问题发生的位置。 2 1 数据一致性问题的描述 数据一致性的根本含义是指系统中的数据,不管它放在什么位置,作为一个整 体,它们必须是完整的和一致的。这主要包括重复数据的一致和相关数据的一致两 个方面。 重复数据是指一组数据,在不同的位盖有多个副本。当某些副本被修改时,所 有副本必须同时被修改,且保持内容等同。相关数据是指在相同或不同位置的两组 数据或多组数据,它们之间有着相互连带的关系。当某一组数据改变时,其他相关 联的数据必须“同时”发生相应的改变,以继续保持原有的关联性。从某个方面来 说,重复数据的一致性也可以归结到相关数据的一致性,只不过这时候它们的关联 性其实就是简单的等同关系。 i234 56789 图2 - l 系统中的数据变化 数据一致性问题是指系统中重复数据或相关数据的等同性或关联性,在系统正 常运行过程中发生了不应有的变化。如图1 1 所示,系统中存在数据a 和数据b , 它们之间具有a b = 1 的关系。在时刻5 之前,它们保持了相互之间的这种差值 关系。这个时间段内,可以认为系统具有数据一致性;而在此后,它们的关系发生 华中科技大学硕士学位论文 了变化,两者之间的差值不再恒定,系统丧失数据一致性。 所以,尽管数据变了,但是只要相互之间的等同性或关联性没有变化,仍然可 以说这个系统具有数据一致性。系统的正常运作中,不发生任何数据变化是不可能 的。解决数据一致性问题就是要保持数据的同步变化。 同步变化的含义包括两个方面。首先是能检测到一部分数据的变化,以触发数 据同步工作的进行。其次是能在恰当的时间范围内,更新与之关联或等同的另一部 分数据。 2 2 网络存储系统 传统的存储结构是以服务器为中,t l , 的,通常被称为直接附属存储( d a s ,d i r e c t a t t a c h e ds t o r a g e ) 或附属于服务器的存储( s a s ,s e r v e r a t t a c h e d s t o r a g e ) 。存储设备多 以并行s c s i 总线连接至服务器主机,存储设备只能被服务器直接访问和控制,其 它主机需访问存储设备中的数据时,必须经过服务器的存储和转发。这样,服务器 的负荷较重,其存储i 0 、网络i o 以及c p u 和内存容易成为系统的瓶颈,很难满 足数字化时代海量数据的存取和实时传输的需要【2 ”。 为了缓解高速网络环境下的i o 瓶颈,网络存储技术从优化系统结构的角度出 发,构建了新的多级并行存储体系结构。采用高速网络把存储设备连接起来,并通 过系统软件进行存储资源的合理调度和分配,使系统的整体性能达到最优,以系统 的协同工作来满足众多客户的存储需求,从而有效地缓解了i 0 瓶颈。 网络存储继承了网络技术的优势,提供良好的可扩展性和开放性较好地解决了 容量和速度问题,并通过r a i d ( r e d u n d a n t a r r a y so f i n e x p e n s i v ed i s k s ) 技术和集 群技术保证了由数据重要性衍生出来的数据存储的安全性、服务的不间断性。它主 要包括附网存储( n e t w o r k a t t a c h e ds t o r a g e ,n a s ) 技术和存储区域网( s t o r a g e a r e a n e t w o r k ,s a n ) 技术 与传统的d a s 存储系统相比较,网络存储系统具有更高的智能性、并行性和良 好的可扩展性,能够提供更广泛的数据共享,更多更新的功能以及更好的可管理性。 然而由于网络的介入,使得数据使用者和数据提供者具有分散的特点,它们的 系统结构是开放性的,具有分布式系统的特征。这就蓖接导致了共享资源的并行访 问和多数据副本的产生。而这二者芷是产生数据一致性问题的条件。 华中科技大学硕士学位论文 2 3 附网存储设备及其开放性 n a s 设备通常被认为是一种专用于存储数据的瘦服务器( t h i ns e r v e r ) “”。它 作为l a n ( l o c a l a r e an e t w o r k ,局域网) 上独立的节点,将数据的存储负载从应用 或企业服务器中分离出来,只具有文件存取及管理所需的功能。这样,存储器( 如磁 盘、光驱、磁带机等) 通过控制器直接与网络相连接,将存储设备与服务器彻底分离, 集中地管理数据,从而有效释放带宽,提高了存储的整体性能,同时也降低了总成 本。 n a s 设备的基本硬件结构由控制器和存储子系统两部分构成,如图2 2 所示, 其中控制器部分主要包括处理器、内存、网络适配器和存储控制器等四个单元模块, 存储总线一般选用s c s i ( s m a l lc o m p u t e rs y s t e mi n t e r f a c e ,小型计算机接口) 、i d e fi n t e g r a t e dd r i v ee l e c t r o n i c s ,集成电子驱动器) 或f c ( f i b e rc h a n n e l ,光纤通道) , 目前这三种接口主流的数传率分别为:1 6 0 1 0 0 2 0 0m b p s 。 图2 2n a s 设备的基本硬件结构 n a s 设备去掉了传统服务器中不适宜于数据存储和传输的大多数计算功能,仅 仅保留文件系统和网络模块,其系统软件设计要求具有较高的稳定性和i 0 吞吐率, 并能提供数据共享、数据备份、安全配置、设备管理等功能,结构如图2 3 所示。 操作系统是n a s 设备的核心,一般采用3 2 位或以上,多线程、多任务的内核, 这样能更好地支持对存储器的读写,充分利用诸如内存、c p u 、总线周期和网络带 宽等硬件资源,具有较大的数据吞吐量。系统内核都需要经过裁减并针对特定硬件 环境进行优化。在核心操作系统中包含网络设备,存储设备的驱动模块,并保留一 些基本网络协议栈( 如t c p i p 等) ,这些协议是上层网络服务的基础。 华中科技大学硕士学位论文 图2 - 3n a s 设备的软件结构 卷管理器的实质是磁盘管理和空间分区管理,主要包括磁盘监视、异常处理和 软件r a i d ,一般提供磁盘的热插拔和热备份的功能,并至少能支持r a i d 0 、r a i d l 、 r a i d 5 。 本地文件系统能够持久性地存储和管理数据,它一般是3 2 位或以上,能够支持 多用户,并且具备日志系统或者能够提供系统快照( s n a ps h o t ) 功能。 网络文件系统是n a s 设备提供给用户的数据服务接口。一般具有较多的文件共 享协议以适应异构的工作环境。如:广域网范围的f t p 和h t t p 服务、u n i x 客户 的n f s 、w i n d o w s 客户的c i f s 、n o v e l l 客户的n c p ( n o v e l lc o r ep r o t o c 0 1 ) 以及 m a c 客户的a f p ( a p p l e t a l kf i l ep r o t o c 0 1 ) 等。 w e b 管理提供给系统管理员一个友好的界面,使之通过远程浏览器监视、控制 和配置n a s 设备的网络、卷以及文件共享权限等。 从附网存储设备的体系结构中可以看到,附网存储设备连接在网络中,跟网络 中的客户机一起共同组成了一个网络存储系统( 如图2 - 4 ) 。所以附网存储设备的设 计必须是开放的。因而在这个系统中出现了重复数据:众多客户机中缓存的数据, 控制器本地文件系统的缓冲区缓存( b u f f e r c a c h e ) 中的数据以及存储子设备中实际 保存的数据等。它们分布在不同的位置,随着访问操作的进行,它4 1 的变化应该保 持同步。 工作在异构环境下时,网络文件系统众多的共享协议对客户端具有不同的语义 规则和相互独立的锁管理策略,为了实现全局的数据一致性,需要将它们统一起来, 使其协同工作。 华中科技大学硕士学位论文 此外,常将多台n a s 设备组成一个具有数据镜像或数据备份功能的系统,这时 也会产生分布在各个存储节点上重复数据或相关数据的一致性问题。 图2 4n a s 设备的工作模式 2 4 存储区域网络及其开放性 存储区域网络是通过高速网络将磁盘阵列、磁带等存储设备连接起来的专用子 网。s a n 通常被认为是一种光纤通道网络,它使用被称为光纤通道( f i b e

温馨提示

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

评论

0/150

提交评论