




已阅读5页,还剩53页未读, 继续免费阅读
(计算机系统结构专业论文)基于日志的机群文件系统高可用关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
, 、 摘要 摘要 近年来机群系统以其低成本、高性能而逐渐成为高性能计算的主流平台。作为解决机群 系统外存储瓶颈上的有效手段的机群文件系统因此得到了很大的发展。一个机群文件系统必 须要满足机群计算环境的需要,为应用提供高性能、可扩展、高可用的文件服务。由于机群 文件系统本身结构复杂,实现复杂而且整个系统规模很大,这些因素就决定了对高可用技术 的依赖。本文将研究基于日志的机群文件系统商可用的关键问题以及解决策略,同时给出了 一些评价方法以及具体的评测结果。具体内容以及研究成果如下: ( 1 ) 研究了基于同志的机群文件系统高可用技术的关键问题。本文分析了不同类型的机 群文件系统的高可用需求以及高可用技术,对机群文件系统高可用相关的概念进行了介绍, 描述了机群文件系统高可用领域的研究内容,并在分析的基础上提出了基于同志的机群文件 系统高可用技术,分析了其中的关键问题,给出了相应的解决策略,并对其正确性和完备性 给予了证明。 ( 2 ) 实现了d c f s 2 机群文件系统高可用模块。作为文中策略的一个实际应用,本文给 出了d c f s 2 机群文件系统高可用的设计与实现技术,给出了系统中利用日志来保证机群文件 系统一致性的方法。主要内容包括:以d c f s 2 机群文件系统为原型系统,研究了单一以及多 个元数据服务器下如何使用日志来保证文件系统的一致性;研究了机群文件系统日志对元数 据操作的性能影响;研究了客户端的高可用问题。 ( 3 ) 提出了机群文件系统高可用性的分级的定义。机群文件系统的高可用性的高低一直 缺乏有效的定性或定量的分析方法,由于软件系统不能象硬件系统那样进行定量分析,我们 根据机群文件系统的应用模式,将影响机群文件系统高可用性的因素进行分析,以机群文件 系统的故障因素和恢复目标因素为线索,采用分级的方法对机群文件系统高可用性进行了定 义,提出了机群文件系统高可用性的分级的定义。 ( 4 ) 对基于日志的高可用技术进行了评价。目前在高可用技术的评价上尚没有完善的评 价体系。本文从功能性,正确性,性能,恢复时间等多个方面对基于只志的高可用技术进行 了评价,并给出了各种情况下的具体的测试结果。 文中还讨论了下一步的研究方向,包括多节点故障恢复等方面。 关键词:机群文件系统高可用日志技术一致性 a b s t r t r e s e a r c ho nj o u r n a lb a s e dh i g h - a v a i l a b i l i t ym e c h a n i s mo fc l u s t e rf i l es y s t e m s l ih u i ( c o m p u t e r a r c h i t e c t u r e ) d i r e c t e db ym aj i e n o w ,t h ec l u s t e rs y s t e mh a sm a t u r e da sam a i n s t r e a mm e t h o df o rb u i l d i n gh i g hp e r f o r m a n c e c o m p u t e r s al o to fc l u s t e rf i l es y s t e m ss p r i n go u ti nr e c e n ty e a r s c l u s t e rf i l es y s t e mp r o v i d e s h i g h - p e r f o r m a n c e ,s c a l a b l e a n dh i 曲一a v a i l a b i l i t yf i l es e r v i c ef o r a p p l i c a t i o n s b e c a u s e t h e c o m p l i c a t i o no f t h ec l u s t e rf i l es y s t e m t 1 1 eh i g h a v a i l a b i l i t yt e c h n o l o g yw o u l db eak e yf e a t u r ef o ra s u c c e s s f u lf i l es y s t e m i nt h i sp a p e rw ew i l li n t r o d u c et h e j o u m a l i n gm e c h a n i s mw h i c hc a nb eu s e d b yt h ec l u s t e rf i l es y s t e mt op r o v i d eh i g h - a v a i l a b i l i t yf i l es e r v i c ew i t hl i t t l ep e r f o r m a n c el o s e t h ec m c i a lc o n t r i b u t i o n sa r ea sf o l l o w s : 1 i nt h i sp a p e rw el i s tt h er e q u i r e m e n t sa n dt e c h n i q u e so uh i g h - a v a i l a b i l i t yo f d i f f e r e n tc l u s t e r f i l es y s t e m s ,t h e nt h ej o u m a l i n gm e c h a n i s mi n t r o d u c e di nt h i sp a p e r i n c l u d i n gt h ek e yi s s u e sa n d t h es t r a t e g i e s ,a l s op r o v et h ec o r r e c t n e s so f t h i sm e c h a n i s m 2 w eu s e dt h i sm e c h a n i s mi nt h ed e s i g no ft h es e c o n dv e r s i o no fd a w n i n gc l u s t e rf i l e s y s t e m ( d c f s 2 ) w h i c hd e v e l o p e db yn c i cf o ra6 4 - b i tl i n u xc l u s t e rc a l l e dd a w n i n g 4 0 0 0 ac a n p r o v i d eh i g hp e r f o r m a n c e ,l a r g ef i l es y s t e ms u p p o r ta n de a s yt om a n a g e m e n la n da l s ot h eh i g h 。 a v a i l a b i l i t y i nt h i sp a p e r w ei n t r o d u c et h ed e s i g na n di m p l e m e n t a t i o no ft h eh i g h a v a i l a b i l i t yo f d c f s 2 ,i n c l u d i n gt h eh i g h - a v a i l a b i l i t yo ft h em e t a d a t as e r v e r sa n dt h eh i g h a v a i l a b i l i t yo ft h e d c f s 2c l i e n t - s i d ef i l es y s t e m 3 w eu s el e v e l st od e f i n et h eh i g h a v a i l a b i l i t yo fas y s t e m b e c a u s ew ec a n n o td ot h e q u a n t i t a t i v ea n a l y s i sf o rt h ed e g r e eo fa v a i l a b i l i t yi ns o f t w a r es y s t e ml i k eh a r d w a r es y s t e m , t h i s d i s s e r t a t i o nd o e ss o m er e s e a r c h e sa n da n a l y s i so nt h ec l u s t e rf i l es y s t e m sh i g ha v a i l a b i l i t yi s s u e f r o map o i n to fq u a l i t a t i v ev i e w b a s e do nt h ea p p l ym o d eo fd i s t r i b u t e df i l es y s t e m ,w ed i ds o m e c l u s t e r i n ga n a l y s i sf o rt h ef a c t o r sw h i c hw i l li n f l u e n c et h eh i g ha v a i l a b i l i t yi s s u e b a s e do nt h e f a i l u r ea n d r e s t o r i n gf a c t o r s ,w ed e f i n e dt h eh i g ha v a i l a b i l i t yi nd i f f e r e n tl e v e l s 4 p e r f o r m a n c ee x p e r i m e n t so nd c f s 2s h o wt h a td c f s 2c a l lp r o v i d ec o m p e t i t i v eb a n d w i d t h a n dm e t a d a t ap e r f o r m a n c ea n dh i 曲一a v a i l a b i l i t y t h et i m es p e n td u r i n gt h er e c o v e r yi sa l s ot e s t e d t h et h e s i sa l s od i s c u s s e ss o m ef u t u r ew o r kl i k et h es u p p o r to ff a i l u r er e c o v e r yw h e nm u l t i p l e p a r t si nt h ef i l es y s t e mc r a s ha n d s o0 1 1 k e y w o r d s :c l u s t e rf i l es y s t e m d c f s 2f i l es y s t e m ,h i g h a v a i l a b i l i t y , j o u m a l i n g , f i l e s y s t e mc o n s i s t e n c y n i 独创性声明 本人声明我所呈交的论文是我个人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本文所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 作者签名: 摩晖 日期:加、9 2 - 关于论文使用授权的说明 中国科学院计算技术研究所有权保留送交论文的复印件,允许论文被查阅和 借阅;并可以公布论文的全部或部分内容,可以采用影印、缩印或其它复制手 段保存该论文。 作者签名舞瞬 导师签名: 乓靶 日期:扫哕弦g 第一章引言 第一章引言 近年来机群文件系统和分布式数据存储在机群系统中得到了广泛应用。过去机群应用大 多是科学计算,而近年来信息服务应用逐步增加,使得f o 成为t n 务的主体。由于整个系 统规模迅速扩大以及i o 成为服务的主体,提供的高可用的文件服务变得越柬越重要。机群 文件系统就是在机群的环境下通过网络完成文件的保存、获取、组织、共享以及保护等功能, 为用户提供文件服务。一个服务是可用的仅当每个服务请求都最终能完成【5 2 】,所谓高可用 的机群文件系统就是当分布式环境或机群文件系统中的某个环节发生故障时,系统通过各种 机制保证服务是可用的,仍能继续为客户端上的应用程序提供文件服务。 1 1 研究动机 在过去的二十年中,半导体芯片技术以及网络技术得到了飞速的发展,但是外存储系统 的发展却不尽如人意,造成了c p u 、内存与网络部件或存储设备之间出现的巨大性能差距, 它严重制约了现代计算机的整体性能。 机群文件系统是目前机群系统解决f o 瓶颈问题的一种重要方式,其主要策略是采用商 效的数据分布策略以及高速网络系统。一个机群文件系统必须要满足机群计算环境的需要, 为应用提供高性能、可扩展、高可用的文件服务。机群文件系统可以提供高并行i o ,商吞吐 率来解决f o 瓶颈的问题,同时机群文件系统还具有较好的可扩展性,包括网络用户的扩展 和存储容量的扩展。 美国b e r l d e y 大学的r o c 项目研究认为: 软件错误是不可避免的。 硬件错误是不可避免的。 人为错误是不可避免的 所以一个计算机系统的错误的发生是不可避免的此外对于一个系统而言,系统规模越 大,发生故障的概率也越大而机群文件系统由于本身结构复杂,实现复杂而且系统的规模 较大就决定了其对高可用技术的依赖。高可用技术是容错技术的一个分支。对于机群文件系 统而言,高可用性技术能够自动检测机群文件系统中的各种错误和失效,并且当系统发生错 误和失效时能够自动进行修复,从而使系统继续向客户节点提供分布式的文件服务。 日志技术在本地文件系统的高可用上得到了广泛的使用,其基本思想是事务的概念,保 证事务内的多个子操作要么全部完成,要么都没有完成。日志技术能够在可用性和性能上取 得较好的折衷本地文件系统的日志技术已经比较成熟,本文的工作主要是在机群环境下研 究日志技术的各个关键问题,研究如何使用日志技术来保证机群文件系统的高可用性。 1 2 机群文件系统高可用领域的研究内容 一个机群文件系统需要为用户提供可靠可用的数据服务。提供可靠的数掘服务意味着文 件系统不能失去也不能破坏数据,其基本技术是复制存储的数据,对数据的内容保存多个镜 像提供可用的数据服务意味着文件系统可以让应用程序能够获得其所需的数掘,也就是通 单于i i 厶的机群文件系统l 岛町用关键技术的研究 过冗余配置来保证文件系统一直能够为用户提供可用的服务或是能够在故障后快速的恢复从 而继续为用户提供服务。 机群文件系统在运行中会面临着各种系统失效的情况,如部件失效、磁盘失效、网络失 效等问题,这些问题都会对文件系统的服务造成危害,因此。作为一个高可用的机群文件系 统,应该在系统允许的条件下,为用户的应用程序提供可靠可用的文件数据服务,尽可能地 减少数据损失的概率并尽可能继续为用户提供服务。例如,支持磁盘失效的文件系统能够在 服务器磁盘失效的情况下,继续为用户的应用程序提供文件数掘服务;支持服务器失效的文 件系统能够在服务器崩溃的情况下,通过相应的高可用性技术实现继续为用户的应用程序提 供文件数据服务的目的。 就机群文件系统而言,高可用技术就是能够自动检测机群文件系统中的各种错误和失效, 并且当系统发生错误和失效时能够自动进行修复,从而使系统能够继续向客户节点提供文件 数据服务。 因此,机群文件系统高可用领域研究的问题,就是研究使用何种相应的关键技术使机群 文件系统在分布式环境和机群文件系统中的某个环节发生故障时,仍能继续为客户端上的应 用程序提供可用的文件服务和可靠的数据服务。主要包括: 机群文件系统部件的失效侦测问题。 机群文件系统的故障处理及恢复策略。 机群文件系统高可用的评价问题。 1 1 3 相关的研究 1 3 1x f s 文件系统 x f s 【2 ,5 8 】是由美国加州伯克利大学提出的无服务器网络文件系统( s e r v e r l e s sn e t w o r k f i l e s y s t e m ) 的一个原型系统。它将控制处理和数据存储分布到多个用户服务器上,每个用户服 务器在从其他用户服务器得到服务的同时也可以为其他用户服务器提供服务x f s 使用并行 协调式的元数据管理,协作式缓存 x f s 的所有数据,元数据,以及控制均可以放在系统的任何地方并且可以动态迁移,从 而将文件负载的分散在整个机群中,消除了集中服务器内在的瓶颈问题,提高系统的可扩展 性,可以提供高性能、高可用的服务。x f s 通过冗余存储的方法消除了系统的单一失效点, 从而可以提供高可用的服务。同时x f s 还采用了日志式的存储管理,文件数据以及文件数据 的校验信息记录在日志文件中,并且日志文件在存储服务器上按s t r i p e 存储。此外每个用户 服务器需要使用日志来记录数掘和元数据被哪些节点缓存。 2 第一章哼i 言 昌垦昌 八 凰盛函 图i 1 两个简单的x f s 文件系统 1 3 2g f s 文件系统 g f s 3 9 1 是美国明尼苏达大学研制的基于l i n u x 的共享磁盘模型的机群文件系统,采 用无集中服务器结构,允许多台机器同时m o u n t 并访问共享设备上的文件,节点通过s a n 直 接连到存储设备上。在g f s 中,客户与机群中的共享磁盘都连接在光通道上,每个客户都将 共享磁盘作为一个设备,可以直接访问。g f s 通过客户端启动的设备锁机制实现u n i x 文件共 享语义。 图1 2 g f s 的结构 g f s 采用了无集中服务器结构来消除主机的单一故障点这样,如果一台甚至多台主机 失效,由于磁盘是共享的所以磁盘仍可被剩余的主机访问,因而提高了数据的可用性同 3 毕,- f 1 占的机群丈件系统岛町用天赶技术的研究 时g f s 使用了与e x t 3 完全类似的日志技术来保证文件系统的一致性,g f s 用事务( 事务对 应于文件系统的c r e a t e ,w r i t e ,u n l i n k 等操作) 表示改变文件系统状态的操作,同志模块从 事务模块接受元数据,把它写回磁盘。每个日志项有一个或多个相关的锁,对应于被锁保护 的元数掘。每个c l i e n t 有自己的臼志空间,每个日志对所有的c l i e n t 都是可见的。当检测到 一台c l i e n t 故障或加锁模块报告说拥有某个g l o c k 锁的c l i e n t 超时的时候,系统用超时的c l i e n t 的i d 调用恢复内核线程( r e c o v e r y k e r n e lt h r e a d ) ,然后利用同志进行恢复。 1 3 3g p f s 文件系统 g p f s 【3 5 ,4 7 】1 9 9 3 年由m m 推出的高可用机群文件系统,是一个并行的共享磁盘文 件系统,由t i g e rs h a r k 演化而来,主要针对可扩展性、对分布式锁管理和恢复技术进行了改 进,使之可以用于大规模的机群。g p f s 采用无元数据服务器结构,文件数掘在多个虚拟共享 磁盘( v s d ) 上s t r i p i n g ,支持u n i x 语义。 图1 3 g p f s 的结构 g p f s 通过一个监测节点和通讯连接的组服务层、h e a r t b e a t 信息和进程组成员协议来侦 测节点的失效。g p f s 可以处理包括节点失效、通讯失效、磁盘失效等多种故障。g p f s 在共 享磁盘上存储元数据日志,来解决节点失效引起的元数掘不一致的问题。 g p f s 具体处理各种故障的策略如下: 节点失效时,g p f s 必须将正在更新的元数掘恢复到某个一致的状态,释放失效节点 占用的资源,并指派替换失效的节点。g p f s 在共享磁盘上存储了恢复f t 志。因此, 由于节点的失效引起的元数据不一致会很快被修复之后,令牌管理器释放失效节点 占用的资源如果令牌管理器失效,备份节点会接替它的工作,其它幸存的节点会将 它们的令牌信息发送给接替者以便使接替者重构令牌信息。 通讯失效会导致节点隔离或网络分区如果允许不同分区里的客户继续操作而没有统 一管理的话,处在网络分区里的客户可能仍会访问共享磁盘从而破坏文件系统。因此, 4 第一录引苦 g p f s 仅允许处于多数的分区里的用户继续访问文件系统。当网络分区发生时,不再 是多数成员分区里的节点将被通知并停止访问共享磁盘。在启动日志恢复之前,g p f s 将不再是组成员的节点隔离出来,禁止它访问共享的磁盘。 g p f s 的数据和元数据采用s t r i p e 方式存储。为了防止单个磁盘数据的损失给整个文 件造成的影响,典型的g p f s 使用双端口r a i d 控制器的配置方式,它可以屏蔽物理 磁盘的失效或对一个磁盘存取路径的丢失。g p f s 文件系统支持复制,复制可以分别 用于数据和元数据。 1 3 4l u s t r e 文件系统 l u s t r e 【l o ,6 】文件系统是由美国c l u s t e r f i l e s y s t e m 公司研制的,是一个基于o b d ( o b j e c t b a s e dd e v i c e ) 设备的,使用面向对象访问技术的机群文件系统。l u s t r e 采用f a i l o v e r 的元数据 服务器结构( 其多服务器版本仍在开发之中) ,采用这种结构来保证服务的连续性。 图1 4l u s t r e 文件系统的结构 l u s t r e 使用主从服务器结构或是多服务器结构来保证服务的连续性。l u s t r e 的文件数据保 存在o b d 设备上,o b d 设备本身建立在e x t 3 等日志文件系统之上,保证了o b d 设备本身 的一致性。l u s t r e 可以使用l o v ( 1 0 9 i c a lo b j e c tv o l u m e ) 来提供对关键数据的实时备份和动态切 换。l u s t r e 提供的存储管理机制可以很方便的实现数据迁移,快照等功能。此外在元数据服 务器与o b d 设备之间的不一致问题则采用日志技术来解决。元数掘的不一致性由以下两个操 作造成:创建和删除。o b d 存储设备记录所有的创建操作的日志服务器使用日志来记录所 有的删除操作。每个存储设备都有不同的日志空间 1 3 5 小结 综上所述i 目前机群文件系统大都采用类似于单机文件系统的目志技术来保证文件系统 的一致性,解决故障恢复问题虽然可能有个别操作的结果丢失,但整个文件系统是可用的。 这对于很多应用环境是可以接受的 f s c k 是传统u n i x 文件系统采用的故障恢复手段传统的u n i x 文件系统为保证元数据 基于f 】志的机群文件系统岛町用关赶技术的研究 的一致性,元数据缓存只能采用同步写回( w r i t e t h r o u g h ) 方式,导致性能损失太大而且用 f s c k 恢复时,恢复时间与文件系统的大小成正比,对于一个几百g b 的文件系统来说,恢复 需要很长时问。而相比之下使用同志技术则具有恢复时f b j 短,对性能丌销影响较小等优点。 因此,本文将研究如何在机群文件系统中使用日志技术来保证文件系统的一致性。 1 4 本文工作 机群文件系统高可用问题是机群文件系统的重要研究课题。本文在分析了不同类型机群 文件系统的高可用需求和高可用技术的基础上,研究了基于同志的机群文件系统高可用技术 的关键问题及解决策略。并将该技术应用于d c f s 2 机群文件系统,实现了相应的高可用模块, 从而可以保证在元数据服务器和客户节点失效的情况都能将文件系统恢复至一个一致的状 态。同时为了更好的评价机群文件系统的高可用性,本文提出了机群文件系统高可用性分级 的定义。此外本文还从功能性,正确性,性能,恢复时间等多个方面对基于日志的机群文件 系统高可用技术进行了评价,给出了具体的测试结果。 具体内容组织如下: 第一章介绍分布式文件系统高可用领域的研究内容与相关的研究。 第二章介绍机群文件系统高可用的关键技术,其中会首先介绍一下与高可用相关的一些 机群文件系统的关键技术,然后会对高可用涉及的一些概念给出明确的定义,最后介绍一下 目前机群文件系统高可用的一些策略与关键技术,简单的对各种高可用策略进行一些比较。 第三章对基于日志的高可用的关键问题进行介绍,详细的分析了日志的记录的策略,恢 复的策略以及这种策略的正确性 第四章结合基于日志的高可用策略,给出d c f s 2 机群文件系统的设计与实现,介绍 d c f s 2 的结构以及高可用的关键技术 第五章给出基于日志的高可用的评测指标以及具体的评测数据。目前文件系统的性能评 测主要集中在带宽与吞吐率的指标上,而对于各种高可用策略如何进行评测尚没有公认的方 法,本章将在评价指标方面进行一些探讨,同时给出基于日志的高可用的评测数据。 第六章给出本文的结论的同时对下一步的工作进行一些探讨。 6 第二索机群文件系统高町用关键技术 第二章机群文件系统高可用关键技术 机群文件系统是在机群的环境下通过网络来完成文件的保存、获取、组织、共享以及保 护等功能,通过一个公共的文件系统来为分布的计算机用户提供数据和存储资源的服务本 章将对机群文件系统高可用面临的问题和相应的解决策略进行综述。首先给出一些背景知识, 包括机群文件系统的高可用的相关概念,以及与机群文件系统高可用相关的一些技术如文件 系统的结构、缓存技术、共享语义、服务协议等方面的内容。 2 1 机群文件系统概述 由于机群文件系统的高可用与机群文件系统所采用的技术息息相关,本节将对这些相关 技术进行介绍,主要包括机群文件系统的结构、缓存技术、共享语义等方面的内容。 2 1 1 结构 最初的分布式文件系统如a f s 【4 6 】大都采用客户服务器结构,单一的文件服务器需要 提供数据以及元数据的存取操作。这种结构在用户较多或是文件操作频繁时单一的服务器将 会成为系统的瓶颈。为了取得更好的性能,出现了以下的一些解决方案: 独立的元数据服务器。 将数据的存储和数据的管理分开来实现,可以进一步克服单一服务器瓶颈问题。元数 据的处理性能对i 椰应用程序特别重要,因为很多l i n u x 应用程序( 如i s 1 、 m a k e 和f m d ) 中大量使用s t a r 系统调用,会产生许多读写元数据的请求,对服务器 造成很大的负担,所以独立的元数据服务器能够大幅提高文件系统的性能。相对于集 中式服务器的方法,当存取数据时,这种存储和管理分开的方法会增加一次额外的网 络开销:从数据的管理服务器到存储服务器。然而低时延、可扩展的网络的出现可以 缓解这种代价。 存储服务器分组。 用户可以同时存取挂在网络上的多个磁盘,充分利用网络带宽来完成读写操作。多 个用户发出的多个i o 请求可以由多个存储服务器同时执行,能够较好地克服单一存 储服务器的瓶颈问题。数据可以在存储服务器上分条存储。基于文件的分条有以下两 个缺点:( 1 ) 小文件不易高效地处理。如果小文件被分布存储在多个服务器上,由于 网络和磁盘延迟的原因,性能并未提高多少。相反,如果需要处理的都是这样的小文 件,则系统的性能反会下降。( 2 ) 部分s t r i p e 写的代价高且复杂。因为写的同时,文件 的校验信息也要更新,而且操作要具有原子性。 多个元数据服务器模式。 为了进一步提高元数据的处理性能,出现了多元数据服务器的结构,文件或是根据一 定的规则来决定归属于某个元数掘服务器,或是按照子树来分布。这种结构解决了单 一元数据服务器在元数据处理上可能出现的瓶颈问题,能够在很大程度上提高机群文 件系统的可扩展性,如果不同用户对元数据的多个请求分属于不同的文件子集,则可 7 毕十i i 忐的机群文件系统商口r 用关赴技术的研究 以由不同的元数掘服务器来提供服务。这样可以提高i 0 并行度,缩短i 0 响应时间, 但是多个元数据服务器之间需要解决冲突。 无集中服务器模式。无集中服务器结构使得系统无单一失效点,具有较好的高可用性, 但是由于无集中服务器模式构建在共享存储上,在处理共享冲突和实现上比较困难 文件系统的高可用在很大程度上依赖于文件系统的结构,比如n f s 和c a l y p s o 都是单文 件服务器的分布式文件系统,并且都实现在服务器的本地文件系统之上,只要服务器上的文 件系统能够恢复,这些文件系统也就能够恢复因此,它们都依赖单机文件系统的故障恢复, 例如,服务器可采用本地的r 志文件系统。故而文件系统的商可用必须考虑文件系统的结构 特点 2 1 2 缓存技术 与直接去远端存取数据相比,使用缓存可以获得更好的性能和可扩展性,可以减少对资 源的争用,降低服务器的开销和网络通讯量,提供i ,0 操作的并行度,改善i o 响应时间。 通常缓存的粒度有文件级和块级两种粒度文件级的缓存粒度具有传输的高效性,服务 器负载较低的优点,但是会占有大量的缓存空间。块级的缓存粒度则可以更有效的使用缓存 空间。 缓存的位置可以是在客户端的内存、服务器端内存和客户端磁盘中缓存在客户端内存 中时可以在很大程度上提高性能,在服务器端内存中则易于实现缓存的一致性和严格的l 肘 语义。缓存在客户端的磁盘中时,缓存的数据量可以较大,可靠性高,适合于在弱连接的环 境中使用。 缓存技术对高可用有较大的影响,因为在缓存下操作的结果暂存在内存中,当发生故障 后,之前的缓存的操作结果就会丢失,文件系统就可能处于不一致的状态。高可用技术需要 能够解决在缓存情况下的文件系统一致性问题。 2 1 3 语义研究 缓存的使用带来了缓存一致性问题,而严格的缓存一致性是实现单一系统映象功能所必 不可少的。 文献1 2 7 和【5 5 】定义了四类常用的文件共享语义:u n i x 语义;对话期间( s e s s i o n ) 语义:不可改变的共享文件语义( i m m u t a b l es h a r e ds c m m a n t i c s ) ;事务处理型语义 ( t r a n s a c t i o n - l i k es e m a n t i c s ) 。其中u n i x 语义及其变种和对话期间语义是实际文件系统所常用 的语义。 i n 语义 u n i x 语义保证了:( 1 ) 每次读文件操作都能看到所有发生在该读操作之前的、对相同 文件的写操作的修改结果,特别地,某个用户的写文件操作应当立即被所有其它已打 开该文件的用户所可见;( 2 ) 一个客户的读写操作所引起的文件偏移量的变化对其它 共享该文件的客户所可见u i n x 语义实现了能够以一定顺序服务所有文件存取操作 的单一物理存储映象,能够保证与u n i x 文件系统的兼容性,因而它是最适于编程的 语义然而严格的u n i x 语义实现起来并非易事,而且为了保证对一个文件的修改能 第二章机群文件系统扇町用关键技术 够反映到该文件的所有拷贝及这些修改是以相同的顶序到达所有服务器。往往妨碍了 分布式文件系统的效率。 对话期f 日j ( s e s s i o n ) 语义 这里的对话期f 团( s e s s i o n ) 指的是一个客户自打丌某个文件丌始到其关闭该文件为止 的、有关该文件的一系列文件存取操作对话期间语义是对u n i x 语义的一种放松, 它对读写操作的顺序施加了下列限制:( 1 ) 对一个已打开文件的写操作仅对本地客户 是可见的,其它远程客户即使此时正处于打开该文件的状态,也看不到该写操作的结 果;( 2 ) 当一个文件被关闭时,本地客户在该对话期间所做的修改只对发生在该关闭 文件操作之后的对话期间可见,而在此之前已经开始的对话期间看不到这些修改。可 以看出在对话期间语义下,多个客户可以同时对同一个文件执行读写操作,每个客 户维持着各自的文件映象,最终的文件映象取决于谁最后关闭该文件。 不可改变的共享文件语义( i m m u t a b l es h a r e df i l es e m a n t i c s ) 一个不可改变的文件( a ni m m u t a b l ef i l e ) 在其被创建后就不再被修改。在不可改变的共 享文件语义下,一旦一个文件的创建者声明了该文件是可被共享的,这个文件就作为 不可改变的文件来对待,该文件只能以只读方式共享,而不能被修改。若有对该文件 的修改操作发生,则为该文件重新创建一个版本,修改操作在此新版本上进行,该文 件的每个版本都作为一个完整的文件来看待。该方法简单易操作,但浪费了磁盘空间。 事务处理型语义( t r a n s a c t i o n 1 i k es e m a n t i c s ) 事务处理型语义是对话期间语义的推广。类似于弱一致性模型是对顺序一致性模型的 放松,该语义也是对u n i x 语义的一种放松。事务处理型语义基于事务处理机制来控 制对共享的、可改变文件的并发存取。这里的一次事务处理是指处于开始事务处理 ( b e g i n _ t r a n s a c t i o n ) 和结束事务处理( e n d _ t r a n s a c t i o n ) 两个操作之间的一系列操作。事务 处理机制确保了在某次事务处理结束之前,该事务处理执行过程中对共享数掘所做的 修改对其它并发执行的事务处理来讲是不可见的同时事务处理的原子性保证了要么 一次事务处理的所有操作都得以正确执行,要么都得不到执行。因而当有多个事务处 理并发地对同一个文件操作时,该文件的最终结果是与这些事务处理以某一次序的顺 序执行相同的。 2 1 4 服务协议 文件服务器的服务协议分为有状态( s t a t e f u l ) 和无状态( s t a t e l e s s ) 两种。二者的区别在于已执 行的请求是否会影响到以后的服务请求。有状态的方法依赖于已执行完请求的历史,而在无 状态方法中每一条请求完全可以独立完成。 有状态文件服务器( s t a t e f u lt i l es e w e r ) 在两次文件存取期间维护了客户的状态信息。在服 务完成客户的请求后,有状态服务器记录了此次服务的状态信息,包括文件标识符、打开模 式和当自 文件偏移量等这些状态信息可以被用于处理下一条服务请求通常自一个对话期 间丌始( 打开文件) 直到对话期间结束( 关闭文件) ,服务器都维护着这些状态信息 无状态文件服务器( s t a t e l e s sf i l es e r v e r ) 不维护任何客户状态信息,因而为了能够成功地 9 犟于日占的机群文件系统高可用关键技术的研究 执行操作请求,客户发给服务器的请求中需要附带着所有必须的参数,如被存取的文件路径 名和存取的起始位置等。值得注意的是,客户发向服务器的请求都是自包含的,即没有对话 期间的概念。n f s 就是使用无状态服务流程的文件系统。 相对于有状态服务流程,无状态的方法能够使故障恢复变得容易例如当文件系统采用 有状态服务流程时。若服务器出现了问题并重新启动,则服务器记录的状态信息就被丢掉了, 客户随后的请求将得不到正确处理;若客户崩溃后又重新启动,那么服务器所维护的状态信 息可能是无效的而对于无状态服务流程的文件系统而言,不管是服务器还是客户出现问题, 都无须进行错误恢复工作,客户只需重发未得到服务的请求即可,故而具有较好的可用性。 但无状态服务流程也有缺点由于无状态流程的每次请求都必须用文件名来指定要读写 的文件,服务器都需要进行名字翻译( n a m et r a n s l a t i o n ) ,因而请求处理开销增大了;客户请 求的重发功能要求无状态服务器所支持的操作是幂等的。即该请求无论重发多少次都返回相 同的结果;由于无状态服务流程中的消息通常是自包含的,需要随带更多的参数,请求消息 变得更长,请求处理也更慢。 2 1 5 机群文件系统的实现方法 机群文件系统通常有两种构造途径:共享磁盘( s h a r e dd i s ka p p r o a c h ) 和共享文件系统 ( s h a r e df i l es y s t e ma p p r o a c h ) 。使用共享磁盘方法的现有文件系统有v a x c l u s t e r 、i b mg p f s 、 g f s 等,而共享文件系统的方法已被许多分布式文件系统所采用,如n f s 、a f s 和s p r i t e 文 件系统等。另外,f r a n g l p a n i1 5 4 1 混合使用了共享磁盘和共享文件系统的方法,是一个通过 双层结构实现的可扩展机群文件系统,其底层提供了虚拟共享磁盘的存储服务,其上层实现 了文件系统的功能。 在共享磁盘模型中,系统中没有文件服务器,而代之以共享磁盘。共享磁盘往往是一种 专用的高端存储设备,如m ms s a 磁盘。共享磁盘和客户主机都联接在系统内部的高速网络 上,通常采用光通道( f i b e rc h a n n e l ) 。在共享磁盘的方法下,每个客户都将共享磁盘作为其一 个存储设备,文件系统的多个被序列化的实例可以直接以磁盘块的方式存取文件数据。由于 这些独立的文件系统实例可以从不同的结点上直接存取磁盘块,并且为了提高性能通常要对 被存取的磁盘块进行缓存,因而必须采用相应的措施使多个实例对磁盘的存取序列化,并保 证数据一致性,这类似于s m p ( s y m m e t r i cs h a r e d m e m o r ym u l t i p m c e s s o r ) 的并行化工作,可 以采用加锁或令牌机制来实现。 共享磁盘模型是构造n a s ( n e t w o r k a t t a c h e ds t o r a g e ) 3 4 1 和s a n ( s t o r a g ea r e an e t w o r k ) 【2 2 】等存储设备的主要方法。与共享文件系统方法相比,它对设备的要求高( 高速网络和共 享磁盘) ,实现的难度也大,往往被用来构造高端或专用的存储设备。共享文件系统模型实现 起来比较简单,对于设备的要求不高。而且通用性好 共享文件系统是实现分布式文件系统单一映象功能的传统方法。它把文件系统的功能分 布到客户和服务器上挂着磁盘的结点可以作为服务器,其它结点作为客户,在结点操作系 统是l i n u x 系统时,客户端可以利用v f s 接口实现一个新的虚拟文件系统,并使用网络通 讯来从服务器端获得远程服务 1 0 第二索机群文件系统岛町用关键技术 与磁盘设备不同,文件系统包含了相关的数掘结构。要保证文件系统的正常使用则必须 使用首先保证文件系统的结构一致性这给机群文件系统并发访问控制和故障恢复的实现带 来很多困难。其关键是需要加入分布式资源锁以及事务只志等机制。 目前,共享文件系统有两种实现方式:v f s 接口方式和截取系统调用方式。 ( 1 ) v f s 接口方式 现代的l i n u x 系统提供了一套标准的、扩充新文件系统的接口:虚拟文件系统( v f s ) 。 网络文件系统n f s 4 3 ,2 4 以及本地文件系统e x t 2 【5 6 1 都是通过该接口加入到l i n u x 系 统中的l i n u x 文件系统通常由三层组成,即逻辑文件系统、虚拟文件系统和物理文件系统, 其中逻辑文件系统向上( 系统命令、库函数及应用程序) 提供系统调用的接口,物理文件系 统管理存储介质上的数据,而它们之间的接口就是虚拟文件系统。虚拟文件系统屏蔽了底层 物理文件系统的具体实现,可以同时支持多个物理文件系统实例,对逻辑文件系统提供了一 个一致的接口。 ( 2 ) 截取系统调用方式 u f o 【l 】文件系统是通过截取系统调用,完全在用户级实现的。其具体方法如图2 1 所 示。捕获器s e i z e r 基于p r o e 虚拟文件系统机制来截取文件系统调用。应用程序发出文件系统 调用( 1 ) 后,由捕获器截获该系统调用( 2 ) ,被扩充的文件系统完成具体的文件操作( 可以是本 地的也可以是远程的) ( 3 ) ,然后该系统调用继续完成剩余的核心操作( 4 ) ,最后把结果返回给 应用程序( 5 ) 。 图2 1 截取文件系统调用的方法 相对于截取系统调用的方法而言,虚拟文件系统是一套更为成熟、更为标准的扩充新文 件系统的方法,其性能也更优越,因而几乎所有基于l i n u x 系统的机群文件系统都采用v f s 层接口来扩充实现 2 2 高可用相关概念 在文件系统的高可用领域经常会遇到一些元数掘一致性、数据一致性等概念,本节将对 这些与机群文件系统相关的概念进行介绍。 2 2 1 元数据一致性 文件系统的元数据就是描述用户文件信息的数据,比如文件的创建时问、届主、访问权 限、文件的块映射信息等内容,对于访问文件起到至关重要的作用。 壮i 去的机群史件系统如口i 用关键技术的研究 用户对文件系统的访问主要通过一定语义的操作的集合来完成,这些操作包括文件的打 开、文件关闭,从某个位置到另一位置的文件读写、文件属性的设氍等操作这些操作对于 用户而言只有操作成功与否这两种状态,但是这些操作可能在文件系统的实现上需要多个子 操作爿。能完成。元数据一致性的概念就是涉及元数掘的每一个单独的操作在执行时不管其中 涉及多少子操作,一个一致性的状态就是这些子操作全部完成或是这些操作均没有完成,这 种状态称为一个一致的状态。在缓存引入的情况下,一个一致性的状念就是这些子操作全部 完成且缓存写回,或是这些子操作全部完成且缓存均未写回或是这些操作均没有完成,这种 状态称为一个一致的状态。比如新创建的文件对应的目录项已经写回磁盘,而相应的i n o d e 内容没有写回磁盘,此时如果发生故障,那么文件系统将处于一个不一致的状念,会造成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册测绘师测绘综合能力的真题卷(附答案)
- 2025年化工分析工技能试题及答案
- 2025年测绘入职笔试题及答案
- 装备制造产业示范基地建设项目建议书(范文)
- 融资居间服务委托合同
- 超市转让合同
- 2025年山东高密大昌纺织有限公司校园招聘模拟试题附带答案详解及答案详解(考点梳理)
- 2025年山东阜丰发酵有限公司校园招聘模拟试题附带答案详解及答案详解参考
- 作业成本计算
- 《论语》导读(同济大学)
- 电工技能与实训仿真教学系
- 阿米巴经营模式在企业中的应用
- 2020新译林版高中英语全七册单词表(必修一~选择性必修四)
- 离婚协议书电子版下载
- 数据治理咨询项目投标文件技术方案
- 家长课堂作业及答案
- 中国石油天然气集团公司钻井液技术规范样本
- 2021年江苏省燃气行业职业技能竞赛燃气管道调压工理论知识题库
- 电气专业求职个人简历模板5篇
- 金融服务营销(第二版)
- 创新基础(创新思维)PPT完整全套教学课件
评论
0/150
提交评论