(计算机系统结构专业论文)分布式并行文件系统的副本管理策略.pdf_第1页
(计算机系统结构专业论文)分布式并行文件系统的副本管理策略.pdf_第2页
(计算机系统结构专业论文)分布式并行文件系统的副本管理策略.pdf_第3页
(计算机系统结构专业论文)分布式并行文件系统的副本管理策略.pdf_第4页
(计算机系统结构专业论文)分布式并行文件系统的副本管理策略.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机系统结构专业论文)分布式并行文件系统的副本管理策略.pdf.pdf 免费下载

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

文档简介

摘要 i 随着信息社会的发展,越来越多的信息被数字化,尤其是伴随着i n t e r n e t 的 发雇,数字化的信息莹爆炸式增长。因而强未来几年里,如何存储和管理这些 数撰将成为人们关注的焦点。七、八年代,这始数据郡被存放在昂贵的中小 型机中,由管理员定期维护其中的数据,饭这需骚较大的投资,且一旦机器出 褒教漳,将会中断系统缀务,绘金娩造藏撰失。因嚣人翻一蹇在探索耨豹存继 方法。其中一个道要的发展方向是将多台商性能的p c 服务器通过高邋局域网连 接,在分布式并行搡 笮系统的协调管瑾下构成分布式并行驻务器来存储数据。 零文磷究的分布式势行文件系统d p f s ( d i s t r i b a t e dp a r a l l e lf i l es y s t e m ) 鼹基 于l i n u x 的、为分布式并行服务器而设计开发的数据存储系统,用于智能地管理 分农式著行骚务器孛筢交 孛资源。京疑能缳证系统豹裹发哥纛,又熊为提爽系 统的服务能力及并发度奠定基础。它是分布式并行操作系统的核心部件之一。 。 , 。 , 。,_ , , 本文蓠先介绍了数据存储的发展概况与新的需求,分布式文件系统对其笨展 的黧要影响队及设计分布式文件系统需要考虑的器种问题;一,然艏分耄睡;了为满足 分布式并行服务嚣的功能需求,d p f s 应实现的目标:;接着介绍了d p f s 设计的 基钵逻辑缨橡,嚣录缓毒管理模块瓣结搀设 、测耨繁蝰以及该模块在文传读 写羹定向中的作用,副本表的逻辑、物理缡构、对其缓存的管理和同步算法的 实现,| j 鬟及翮零舔能管骥瓣竣诗模鍪 及英警遴算法的设诗与实联,还分辑孑d p f s 对系统可鹱性的影响以殷在读写文件时与e x t 2 文件系统性能的比较。最后对分 布式并行文件系统未来的发展作了简要的餍望。 其孛熬点讨论了娶蒙缓存中文 牛读写的燕定囱逻辑,提出了智能副本管理模 型,包括记录副本信息的副本表的实现算法和副本智能动态增删的策略:并以 宽带税菝鼹务b o d ( b r o a d b a n d s e t v ! c eo i ld e m a n d ) 魏铡定量分据孓键副本管 理算法的实现。 j 关键词:分布式并行文件系统、智能副本管理、数据存储 a b s t r a c t w i t h t h ed e v e l o p m e n t o ft h ei n f o r m a t i o n s o c i e t y ,e s p e c i a l l y w i t ht h e d e v e l o p m e n to f t h ei n t e m e t m o r ea n dm o r ei n f o r m a t i o ni s d i g i t i z e dw h i c hc a u s e d t h a td a t ai n c r e a s e dd r a s t i c a l l y a sar e s u l t ,h o wt os t o r ea n dm a n a g et h e s ed a t aw i l l b e c o m et h ef o c u sc o n c e r n e db y p e o p l e i nt h e7 0 sa n d8 0 s b e c a u s et h e s ed a t aw e r e s t o r e di nt h ee x p e n s i v em i d d l eo rm i n ic o m p u t e r sa n dt h es y s t e mm a n a g e rh a dt o b a c k u p t h ed a t ap e r i o d i c a l l y ,t h ee n t e r p r i s ec o s tal o t o nt h eo t h e rh a n d ,o n c et h e s e m a c h i n e sw e r eo u to fw o r k ,t h es e r v i c e sp r o v i d e db yt h e s em a c h i n e sh a dt ob e i n t e r r u p t e da n dt h ee n t e r p r i s es u f f e r e db i gl o s s s oan e ww a y o fs t o r a g ei sb e i n g r e s e a r c h e d i ti sa r ii m p o r t a n td i r e c t i o nt os t o r ed a t ai 1 1ad i s t r i b u t e ds e r v e rs y s t e m w h i e hi s c o m p 9 s e db ys e v e r a lh i g h p e r f o r m a n c ep c sc o n n e c t e db yt h eh i g h s p e e d l a na n d m a n a g e db y t h ed i s t r i b u t e do p e r a t i n gs y s t e m b a s e do nt h el i n u xf o rt l l ed i s t r i b u t e d p a r a l l e ls e r v e r s ,d p f sf d i s t r i b u t e d p a r a l l e lf i l es y s t e m ) ,o n ec o r eo ft h ed i s t r i b u t es y s t e m ,w a sd e s i g n e dt om a n a g et h e d a t ai n t e l l i g e n t l ys oa st og e tt h eh i 曲e s t p e r f o r m a n c ea n dr e l i a b i l i t yf o rt h es y s t e m t h ed e v e l o p m e n to v e r v i e wa n dt h en e wd e m a n d so fd a t as t o r a g ea r ed e s c r i b e d f i r s t t h e nt h ea s p e c tt h a tt h ed i s t r i b u t e df i l e s y s t e r na f f e c t sd a t as t o r a g ea n dt h e p r o b l e mi n :t h ed e s i g no fd i s t r i b u t e df i l es y s t e ma r ei n t r o d u c e d t h eg o a lw em u s t a c h i e v e ,w h e nd e s i g n i n gd i s t r i b u t e dp a r a l l e l 、f i l e s y s t e m ,w a s l 印a l y z e d a l s o t h e t h e s i sp r e s e n tt h el o g i cs t r u c t u r eo fd p f s ,t h 、e 、。s t r u ,e t u r ea n dt h ef l u s hs :c r a t e g yo ft h e m o d u l eo fd i r e c t o r yc a c h ea n di t sr o l ei nt l l er e a d - w r i t eo p e r a t i o n d u p l i c a t et a b l e s p h y s i c a la n dl o g i c a ls t r u c t u r e ,t h em a n a g e m e n ta n ds y n c h r o n i z a t i o na l g o r i t h mo f t h e d u p l i c a t et a b l e a n dt h em o d e la n dt h em a n a g e m e n ta l g o r i t h mo ft h em o d u l eo f i n t e l l i g e n td u p l i c a t em a n a g e m e n t a l s ot h ee f f e c t st h a td p f se x e r t st ot h es y s t e m r e l i a b i l i t ya n dt h er e a da n dw r i t ep e r f o r m m e ec o m p a r e dt oe x t 2w e r ea n a l y z e d a t 1 a s tt h ef u n h e rw o r ko f t i l ed i s t r i b u t e dp a r a l l e lf i l es y s t e mw a sd i s c u s s e d t h er e d i r e c to fo p e no p e r a t i o na n dt h e i n t e l l i g e n tr e p l i c a t i o nm a n a g e m e n tw e r e f o c u s e do n w e p u tf o r w a r d a l li n t e l l i g e n td u p l i c a t e m a n a g e m e n t m o d e l i n c l u d i n g t h e m e t h o d so f r e c o r d i n g t h ed u p l i c a t ei n f o r m a t i o n ,t h es t r a t e g yo f c r e a t i n ga n dd e l e t i n g d u p l i c a t e t h e n w e a n a l y z e dq u a n t i t a t i v e l yt h ei m p l e f f i e n to f t h ei n t e l l i g e n td u p l i c a t e m a n a g e m e n ta l g o r i t h mb y a ne x a m p l eo f t h eb o d ( b r o a db a n ds e r v i c eo n d e m a n d ) s y s t e m k e yw o r d s :d i s t r i b u t e da n dp a r a l l e l f i l es y s t e m ,i n t e l l i g e n td u p l i c a t em a n a g e m e n t , d a t a s t o r a g e h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示谢意。 签名:趣鳐缝日期:7 年f 月l 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 签名:毖曙缝 1 导师签名:垒尘! ! ! 兰 日期:z o0 3 年c 月iq 日 第一章引言 第一章引言 分布式计算机系统是多机系统特别是并行处理系统的一种新形式,是计算机 网络的高级发展阶段,是近年来计算机科学技术领域中倍受青睐、发展迅速的 一个方向;近年来许多的分布式并行处理技术被应用于服务器领域。 在信息时代的不断发展过程中,服务器行业一直走在时代的前列;现在服务 器系统现已成为小型企业,电子商务企业和数据中心的基础。从2 0 世纪4 0 年 代后期现代计算机出现到1 9 8 5 年前后,充当这些企业服务器的还主要是中、小 型机,这些机器的处理速度较快,可靠性较高i 所以多年来服务器一直是大中 型企业的专利;但其价格昂贵,维护较复杂,因而对于大多数中小型企业来说, 它们承受不了高昂的软硬件成本。但他们同时又有强烈的建网需求,所以更多 地选择一些高档p c 作为代理服务器使用。不过,高档p c 在研发设计时沿袭了 个人p c 的设计理念,没有考虑到人们对服务器的可靠性、稳定性等关键指标的 需求,? 随着这些中小企业一天天的发展壮大,用单台够机作为服务器越来越无 法满足企业的正常应用需求,经常性的死机、,宕机。令人无法忍受。 现在这些企业所面临着一个主要问题是:既要保证服务器系统正常可靠地不 间断运行,又要不断降低运营成本。从2 0 世纪8 0 年代中期开始,现代微处理 器、内存和硬盘技术的突飞猛进,高速通信设备与技术的高速发展,以及开放 源码操作系统l i n u x 的迅速发展,给这些企业带来了新的曙光:一这就是他们可 以将大量较为廉价但不是很可靠的高档p c 服务器结合起来,_ 通过合理的状态控 制与任务调度,使其成为有机整体来实现一个高性能、高可靠、易管理、易扩 展的分布式并行服务器系统。 r 。- - 。 , 在这些服务器系统中,每天的数据吞吐量将达到成百上千兆字节,高峰时流 量可达1 0 0 一1 0 0 0 m b y t e s s ,因而大多数服务器系统充当的主要角色之一就是存 储、处理每天进出企业的各种数据、并行处理各客户提t t 的各种请求、给客户 以及时的响应;这样,为这些系统设计良好的存储管理系统,一方面保证用户 数据的绝对可靠,另一方面使计算机的、i o 能力最大限度的与c p u 的计算能力 相匹配,将是设计这些系统时要考虑的主要问题之_ 。: 保证用户数据的绝对可靠实际上就是如何高效可靠地存储和管理数据的问 题。数据存储和存储管理技术最早起源于7 0 年代的终端主机的计算模式,当 分布式著行支传系统静副本管理策略 时的数据集中在主枫上的硬盘和缀帮里,因蔼数据的存储稳管理相对较为简单。 8 0 年代以后,由于个人电脑的发展,尤其是客户机服务器模式的出现,使得数 据存储分布化,从单枫或是双机备份的模式发展为在网络上的分布式并行存储; 燕辩溺终上豹文箨服务器耪鼗据露羧务器经 堇怒霪要鼗泰集冷豹建方,甏客户 机上也有一定量的数据,数据的分布造成数据存储管理的复杂化。而九十年代 i n t e r n e t 的迅猛发展,也使得存储技术发生着革命性的变化。这种变化主要表 现在三个方嚣:首先怒存髅容量熬慧劂膨胀,翔大量鲍视频文传、金数的大量 历史数据等等,钛蔼辩予存储服务器存储容量撬出了更大静鬻求;其次怒数据 持续时间的增加,如备种w e b 服务器要求一天2 4 小时不间断邂行,这就要求服 务器更加可靠;最后,对存储数据的管理提出了更高的要求,由于信息数攫越 来越多,耱类越来越复杂,大稍零蘩管理工终鼷褥麓豹盛羧务器智笺楚瑾,竣 减少人工干涉的低效和可能出现的谈操作。 + 在国际上,以美国为首的发达国家都非常重视数据存储备份技术,而且将其 充分裂蹋,爨务器与冬谂设各瞧连接邑经达到6 0 跌上。两程强内,只蠢不至 1 5 的服务器连有螽钤设备,这裁慧昧着8 5 粥议主的辍务器巾的数据面舔麓随 时有可能谴到全部破坏的危险。对于一个企业来说,网络数据的可靠性是极为 重要的,一旦重要的数据被破坏或袋失一就会对硷业日常生产造成重大的影响, 葚至是罐潋豫牵 熬擐炎。 存储铸份技术并不仅仅指数据的简单备份,还包括内容及备份的管理等多方 面。存储备份包括硬件备份和软件铸份两大类,而真正意义的存储备份更强调 软舞熬餐给。疆终冬谂不裁我替数攒存镶备份,萋发生入兔豹绩误,由戴孳| 起 的数据丢失也就无法散复了。事实诞明,只有采取硬件备份和很好的管理软件 相结合,才能为人们撮供可靠的数据保护。 对于豢统躲i t o 熊力,c a s e s m d a h l 经验法则嘞表明;i m i p s 的计算能力需 要1 m b i t 的i o 带宽与这匹配。禳嚣m o o r e 定律,c p u 计算能力、内存容量镣硬 件技术将以指数方式每1 8 个月增长一倍,而磁盘等i 0 设备出于受限于机械部 件的速度,使其带宽的增长却远远落属于计算能力的增长,导致单机系统的计 算与i o 懿逢速度夔麓鞭越寒越太。虽然久襄l 懑l 霪菠焉s c s i 磁鑫、磁塞簿戮等 方法提高了单机的i o 速度,但这_ i 黢终未能缓解系统的输入输出的瓶颈。 操作系统是用于管理计算机中备种资源、为用户提供友好的操作界面的组 程彦粒祭会;分毒式搽佟系统煲唾将资源警理和为耀户挺供友努赛覆迷。步扩蔗, 2 第一章引言 强调管理通过通信网络连接的自治的多台计算机中的资源,使用户不必关心系 统的分布特性;它负责控制和管理以协同方式工作的各类系统资源,负责分布 式进程的同步与执行,处理机间的通信、调度与分配等控制事务,自动实行全 系统范围的任务分配和负载平衡并具有高度并行性以及故障检测和重构能力。 分布式并行操作系统是这些分布式并行服务器系统的灵魂。只有运行了设计优 秀的分布式并行操作系统,这些分布式并行服务器系统才能成为有机的整体, 利用并不是很可靠的高档p c 机实现一高可靠的并行系统。分布式并行操作系统 以软件的方式屏蔽了硬件的物理分布,让用户能够像使用单机一样方便地使用 整个系统。分布式并行计算机系统中的各节点都运行相同的分布式并行操作系 统,这些分布式并行操作系统相互协同工作,承担任务划分、智能动态任务调 度、存储资源智能动态分配、管理等工作,屏蔽底层硬件的差异,隐藏网络分 布等细节,为应用程序提供统一的、透明的运行平台。 分布式并行服务器系统的分布并行特性使得数据的可靠性和系统的高速i o 能力可以很自然地得到解决:重要数据将被系统根据需要和当时的负载情况自 动存储在多个节点上,并通过分布式并行操作系统的协调管理使各节点上的数 据保持同步;这样当其中的某个或几个节点出现故障时,其它节点能继续提供 服务,当故障节点被修复后,系统将自动恢复其中的数据。在解决i o 能力方 面,分布式并行调度系统将客户的访问请求均衡分配到各台服务器上,然后由 那台服务器为客户提供服务;这样便能解决整个系统的i o 瓶颈。 本课题即是研究如何将多台高性能的p c 服务器有机的结合起来成为分布式 并行服务器;其中包括分布式并行操作系统和分布式并行数据库,本人组织研 究、设计、实现了分布式并行操作系统中的分布式并行文件系统 d p f s ( d i s t r i b u t e dp a r a l l e l f i l es y s t e m ) 。以下将介绍分布式并行文件系统 的总体结构,并重点介绍其中的目录缓存管理模块、副本表子模块以及副本管 理子模块的设计与实现。 第二章分布式文件系统概述 文件系统是操作系统中的重要组成部分,是其它部分运行的基础,用来存储 和管理大量文件,完成包括创建、删除、命名、读写、访问控制等功能。文件 命名需要目录的支持,目录可以看作特殊类型的文件,它提供了符号名到文件 内部标识符的映射。在大多数文件系统中,目录中可以包含其它目录,从而形 成了树型的层次结构。文件系统可用来控制文件的存取,它根据存取权限及类 型( 读、写、执行等等) 来限制用户对文件的存取。分布式文件系统是分布式服 务器系统的关键,它除了实现单机文件系统的功能外,还必须管理分布式系统 中所有计算机上的文件资源,对用户和应用程序屏蔽各节点上文件系统的差异, 提供统一的访问接口。和普通的单机文件系统相比,分布式文件系统通常要多 考虑四方面的问题,一是透明性,分布式文件系统通常运行在多台计算机上, 有时甚至构建在广域网络中,r 但仍要让用户和应用程序感觉自己是在使用单台 机器;二是可靠性,分布式环境通常都有高可靠性的需求,数据的高可靠性是 系统可靠性的基础;三是扩展能力,分布式系统的节点规模可能随时变化,分 布式文件系统应能适应节点变化而导致的资源的变化。第四是资源的管理能力, 它应能根据系统中节点数以及负载情况而决定文件资源的分布情况,”以保证系 统可靠性和服务能力达到最优。: 分布式文件系统在分布式系统是使用最频繁的,因而对它的功能和性能要求 很高。分布式文件系统要实现的主要目标“1 有以下两个。 网络透明性分布式文件系统提供和本地文件系统相同的文件访问接口,使 每个节点计算机上的应用程序可以像访问本地文件一样访问远地文件( r e m o t e f i l e ) ,换言之,应用程序无法区别本地文件和远地文件。最理想的情况是, 分布式文件系统的用户无需知道文件的物理位置。 一 高可用性分布式文件系统的用户在文件访问过程中,不能因为网络故障或 系统调度( 例如在服务器之间备份数据) 而中断。高可用性通常是通过文件副 本( f i l er e p l i c a t i o n ) 来实现的,最理想的情况是,只要系统中存在一个有 效的副本,用户就可以访问该文件。 斗 第二章分布式文件系统概述 2 1 设计中的问题 分布式文件系统是分布式操作系统的数据子系统,所以在分布式文件系统的 设计过程中,既要满足单机文件系统的通用需求,又要考虑还有分布式文件系 统的特特殊需求。本节重点介绍只有在设计分布式文件系统的过程中才会碰到 的一系列问题。 2 1 1 透明性 如果一个分布式文件系统让用户和应用程序感觉和普通单机文件系统一样, 我们就说它具有透明性。用户通过文件系统访问接口和文件系统打交道,用户 还通过文件系统的功能来感觉文件系统的存在,所以只要分布式文件系统的接 口和功能与单机文件系统相同,它就能对用户透明。实现透明性的目的有两个, 一是避免用户付出额外的时间和精力学习如何使用分布式文件系统,只要会用 普通的单机文件系,就会用分布式文件系统;二是兼容现有的各种应用程序, 使它们不必修改或重编译就能在分布式环境中运行。 在设计和实现分布式文件系统时,完全实现透明性将付出巨大代价,考虑到 :系统的性能和实现的复杂度,往往只部分实现透明性。分布式文件系统的透明 性可分为以下几种: 1 ) 存取透明性:用户程序不知道文件的分布。本地文件的操作可直接用于 远程文件,对本地文件进行操作的程序可以不经修改地用于存取远程文 件。 2 ) 位置透明性:用户程序看到的是全局文件名空间。在分布式文件系统中, 文件是通过名字来标识的,在具有位置透明性的系统中,用户不能根据 文件路径名推断出文件的物理存放位置。具有位置透明性的系统的另一 个特点是在创建文件的时候,分布式文件系统自动选择合适的存放位置。 3 ) 并发存取透明性:一个用户对文件所做的修改并不与同时存取该文件的 另一用户发生冲突。在应用程序中,要求对共享数据的存取进行并发控 制,但在具体实现上代价十分高昂。在大多数场合中,并发透明性需要 解决的就是共享文件的读写一致性问题。当前大多数的分布式文件系统 都以u n i x 为标准提供文件级或记录级的加锁。 分零装黪褥文嚣系统煞尉零嚣蓬蘸赡 4 ) 并行透嚼髓。并行避骥性蔗稳无需麓户干渗,系统孛的耩鸯节淼能薨行 豹进程输入输出,鬟然暴有势露透明瞧嬲系缝将攘好筑黪淡磁盘豹 t o ,瓶颈滴蘧。 ) 黻溱透弱 燮:系绫中菜令或凡令繁点燃联教障嚣不会影蟪翔声麦零使 用,藤统会自动为用户选择其窀的节点为篡提供服务,故障节点恢复后再 继续提供溅务。 6 逐穆透强瞧。在爨裙廷穆透明经热系统审,文磐稔噩录移麓嚣重,蠲户缝 净秘系统鬻理程序酃涎须交动。这样裁允许文棒可戬通过系统管理员进 行移动或爨动移麓,键系绞在警理存臻燮闼方嚣其窍缀大鹣涎活性,镤 如个分布式文件系统原来由a 、1 3 两台服务器组成,最开始服务器a 上 掰襻液t h o m e d a t a 弱荣串数全部文 串,激予系统器级。新增了鼹务器 c ,器餮耀鞭务器a 上嚣魏数撰全部转移剔羧务器b 上。在数缓转移竞戏 蕊,晕然释录,h o m e d a t a 串翡文终煞露敖谯霉基经藩变t 缎爨容懿楚籍 经没变,粥户不会受到任何影旗,瑕寄豹数据铱赖t t t 垂o m e d a t a 的程序 仍然可用藏常运行。最理想的迁移透明骸燎在资源迁移过程中,资源仍 然怒霹谚翘豹。 7 ) 笈卷i 透明靛。为了达到蒜可靠性,分礞式文馋系绫遥常暴露文髂裁本氍 翻,馨系缓蠹懿不瓣节点主缳存霾一文转戆多令耩嚣,亵遮楞静系统孛, 阕户不知道菜个文体礴几个副本,副本的产生、分布、和谤阍鄂是自动 t l , 的”。、 8 ) 靛拣逶臻憾:这楚个综合技戆要求,掰户不会感觉到濑 t - 远凝存墩嚣 豢采系统过多靛性袋壤。 2 。 。2 蔼李窒海鞍名字瓣橱 矗 搽二章势毒囊空转蘩凌糕遴 在谈神秘旃分蠢式系绕糖,一个装镶瓣邋趋i 麓否垒帮辘器( 辩滋程) 都应 浚熬骞蹙念糖阏靛分鼷嚣黎薅鞫聿燕鬻。为谖髑迷一游蘧,浚髓缭凄一个实辍: 魏瑟2 - t 掰鼹。 肇熹1 襄户2 秘 , 。 强p l 鬻2 一l 串番骜个带点,l 帮玉常点i 谢避潦磊、器、0 辩一鍪文律,带赢 2 上鸯耩袋d 、e 、f 鼗一楚交佟;塑遂嚣令繁患缀浚酶系统辩耀产撬谈瓣努簿蕊 支癸系统褪黼霹爱鸯嚣罄骛獯:蘩耱是:鸯簧裔麓产疆供褪弱懿分农式文癸系 统裁强,辩隧一釉,黧簿瓣予客户l 秘客户客两带煮主嚣舞蠢文耱餐蓑有裰怒 辩路径翥,翔采蚤e x 对辫户i 裔簸,鲻箕辩客户2 帮所有箕它客声都有效 照如果姚蚶,黼点1 失效,用户仍能谪m 节点2 上的黛传。第二种情况怼不同熊 矮产掇嚣誉麓蕊癸枣蕊交镑蓉统褥繇,蘩蚕o ) ,鼗簿客户l 番瓣瓣攥霆嵇燕 餮一氆孛戆褫嚣,嚣客声2 褥弼憝褥嚣羹变炎瀚堪枣靛搂戴,襄谤麓苓熹窑 主勰文t 髂辩辩餮经过带纛l ,滨簿路撩内锺a 瓣嚣户i 霄漱蕊辩辫户2 可虢戆 无效的,熙此时节点l 上露激e 下的文件将被节燃2 土的劈淤d 所憋藏# 另外, 众| 惫 分布式并行文件系统的剐本管理策略 当节点l 失效后,对客户2 来说即使节点2 仍能掇供服务,他也无法访问该节 点上的文栉资源。 在通过远程安装管理多个文孛照务器的系统中,图一( e ) 是个标准模型; 它的优点是灵活版简单,但其缺点是不能使整个系统的行为变成像一单机分时 系统郁样,显一个萤点豹失效霹憨影鹅对其它节熹豹访鞠。 统一的名字空间是在设计分布式文件系统时追求的目标之一。文件系统中的 每个文件( 包括豳录,睹录可以看成是一种特殊的文件) 都和个名字关联, 用户通过文传名搬伐文传,文4 牛名和文 牛之间是一耱映射关系。在分农式文件 系统中,每个节点计算机上的文件系统目录树就是一个名字空间。如果每个节 点上豹文终系统臻录褪都是秘溺豹,我察藏说这令分毒式交终系统鹩名字窒润 是全局统一的,或称名字空间唯一。很显然,在名字空阃唯一的系统中,同一 个文件在不间的节点上的名字楚相同,因诧缀容荔实现佼萱透黼往,院如说翔 果文件名中不包括任何位置信息,用户就不可能了解文 牛的物理位置。名字空 间唯一的另一个优点是可以兼容对文件路径有依赖性的程序。例如某稔序p 在 运行瓣零要读取a b d a t a 的数搀文传,嚣爨文辨路径名跫经硬编码至8 程序中, 不能在运行时配鬣,如果系统的名字空间不唯一,则有可能在节点l 上该数据 文磐静路径是a b d a t a ,磊张节点2 上怒勇一令路径,缀显然该程黟是不能 在b 节点上正常遥行的。要想在b 节点上运行该程序只有修改程序中的数据文 件路径名,但是修改了稔序后,它又不能在a 节患上正常运行了。逐步说, 即使数据文件的路径可以在运镗对配鼹而不是编码到程_ i 擎中的,也必须为每 个节点写一个配聱文件。如果系统的名字空间唯一,问题就迎刃而解了。p 运行 对爱涮数撰文转路径在系统孛掰寿豹帮点土都是a b d a t a ,宅显然砸毁在系 统中任何一个节点上正常运行。 1 名字粥析是通过文彳串名字我翔文馋位置豹过程。分布姣文俸系统牵邋常自名 字服务器专门负赞解析名字。名字服务器( n a m es e r v e r ) 的主要功能是将一个符 号串名( 一个整数串或字符串) 映射成系统内唯一的物耀地址,名字服务器管 理罄毽含蠢“名字及物理地址”戆对照轰,系统中麴所蠢服务稷序都出名字服 务器来寻址和定位。 设计名字服务器一般有集中方式、衰裁方式帮分翊方式。在榘串方式串,系 统中仅有一个名簪服务器,系统中的所有服务程序都由也来寻址和定位,但由 第二章分布式文件系统概述 于性能和可靠性方面的原因,这种方式不常采用。用复制方式时,每个节点上 都有一个名字服务器的副本,用于管理系统中所有的名字的映射关系,采用这 种方式时,会给每个节点增加一定的负载,但考虑到减少了通信开销,增加了 系统的可靠性,这是个较理想名字解析算法。分划方式系统由若干子系统组成, 对于每个子系统管理本系统上的名字映射信息,各个子系统的名字服务器之间 相互通信而了解整个系统的名字映射信息。 2 1 3c a c h e 管理 在一个各自有主存和磁盘的客户一服务器系统中,有四个地方可用来存储文 件或部分文件:服务器磁盘、服务器主存、客户磁盘( 如果有的话) 或客户主 存。由于磁盘的机械特性,导致它的i o 速度较慢,所以如果每次都需直接从 磁盘读取数据,系统的效率是很低的。提高运行效率的方法是使用缓存 ( c a c h i n g ) ,将最近访问过的文件保存在缓存中,下次访问相同的文件时则不需 再访问磁盘,而可直接在主存中得到,从而获得较高的i o 速度。 对缓存的管理的主要问题是如何保证缓存中的数据与磁盘上的数据一致,以 及保证客户端与服务器端数据的一致性,这些现在都已有比较成熟的算法。在 i 服务器方和客户端都可设置缓存。在服务器方主存中设置的高速缓存是很容易 且对客户是完全透明的,因为服务器可以保持其主存和磁盘拷贝同步,从客户 j 的观点来看,每个文件只有一个拷贝,所以不会产生一致性问题。而对于客户 端所设置的缓存,则会存在一致性问题了。如果两个客户同时读文件,然后又 都去修改它,就会出现几个问题:首先,当第三个进程从服务器读该文件时, 它将得到原来的值,而不是两个新文件中的一个。另一个问题是,当把两个文 件回写到服务器时,后写的文件会覆盖先写的那个而产生错误。这实际上就是 高速缓存的一致性( c o n s i s t e n c y ) 问题。 客户方管理其缓存一致性有四种算法:第一种是直接写( w r i t e t h r o u g h ) 算 法,当一个高速缓存项( 文件或块) 被修改后,新的值保存在内存中,并立即 回写到服务器。但是这样会出现这样一个问题:若a 机上的用户读进一个文件f , 当该用户关闭f 后,b 机上的一用户读同一个文件并修改了它且将其写到了服务 器上。若此时a 机上的另一进程再打开同一文件,它会在它的缓存中找到f ,但 实际上此时f 以不时最新文件了。对这个问题的一个解决方法是高速缓存的管 分毒式菇 亍文件系统麴裂本簿理燕照 瑾者在怒媛秘恩产提供文释簿,誊悫每藤务器避行核对,发撬版本不一致潞宓 须先从服务器取得最新版本。它的嬲问题是,对于写来说,窀的网络传输擅 与没有缓襻时是样的,且对于许多的临时文件,往服务器上麓也是种浪赞, 怼它瓣改避便是延迟麓葵法,客户瑙瀚缓存延遴定辩瓣( 热3 0 移器髯镰:黢 务器驾。第三种算法使用对话语义,仅当文件关闭后才将文伟阐写到服务器, 这耱冀法秣为关逡跨篝( w r i t e o n c l o s 0 。黎嚣辨舞法麓集巾羧麓算法,巍纷 开一个文l 譬避,打开该文传的枫嚣囱服务器发送条消毖来塞侉这一事实,服 务器上保存了瓣个文释被谁撂开爨教臻骨么方式静开,辩于读打舞,冒戳允许 多个用户始辜,砸对予简打开,则必颁禁止其它用户的访阅,潞关闭文件时, 必须报告这一事实,以便其它用户w 黻更薪它的缀襻。 2 霹系统蘸褰霹雳魅 凑潮槛是设诗分露式文咎系绕辫瘟重燕考穗瓣阕题,募统巾菜令残且令蒋 点出现故障、或憝网络文理故障时都会影响文件的可用靛。,分糍式文徉系绫中 高胃弱程通常是嚣遵变终萄本( r e p l i c a t i o n ) 实现耱,荣理想鳃情嚣楚,灵簧 系统中存瞧一个礴效的删本,用户就w 以访问谚义件。剐本机制的本质决建了 我们将为熟付出较为昂贵的代价,湖为一方面必须有额外的磁盘奎间存放剿零 文箨。冀曹穷嚣,在掰疹掰骞副本辩必然套罐熬系统戆囊豢。翻本魏鞠努缀髂 决以下两个问题_ :_ 首先怒如何保证副本的一致性,其次憝如何检测副本阉的不 一致链。剿本静载凄蠢实嚣嚣求凌怒,霹戳是鏊激耩,铡翔褥 ,也 可以是髫豢或文佟。裂零的另个优点是可爨提辩系统性熊。翅果系统程谚瓣 文佟翡霹镶,总是建撵藏枣受裁苇煮上豹舔零或赘离垂己最近静第点主静副本, 可以有效搬甄平衡负载,减小网络流爨。4 港然,不是说有了剿本功能的分谢式文体系统就一定舆有勰掰用性,分布式 文捧系统煞每枣缀薛懿设谤露豁须考毖露爰夔,憨蕊摆弩嚣粼怒避免褰率式翡 部件、表和算法“。二 、 2 1 。5 扩麟能力 + 分布斌文件系统酶扩菔麓力酌瓣裕是,系统戴德能够线性增长,蔼詹系统扩 展嚣,不影晌用户对联辫文传的访阋。 1 0 第二章分毒式文徉系统毂述 2 2 届个分布式文传系统实例分橇 从2 0 世纪8 0 年代起,分布式文件系统在理论和实践上都取得了较大进展, 蒸于l i n u x 豹分蠢式文俘系统的骚究开发工 乍在8 。零代便己开戆,游涎生了多 个著名的分布武文件系统:f i c u s ,l o c u s ,a f s ,d f s ,c o d a ,n f s 等等。 当前的分稚式文件系统大致可分为三类:一是基于共享文档和缓冲的文件系 统,如n f s 等;二是基于副本规铡的文件系统,如c o d a 、i n t e r m e z z o 等;三是 簇予并行处褒的集群文律系统,如g f s 、m o s i x 等。 2 2 1网络文件系统n f s 1 n f s ( n e t w o r kf i l es y s t e m ) 是1 9 8 5 年由s u n m i c r o s y s t e m 公司开发,它是 熬于u n i x 王作站上的,这些工作站通道它来透明存敝远程服务器上的文件或 目录。它目前融被移植到几乎所有州i x 系统( 包括l i n u x 、f r e e b s d ) 及v m s 秘d o s 上,并成为事实上灼王业标准。 n f s 是一种典型的基予必享文档耨缓冲的分布式文件系统,它怒嚣向客户 服务器模式的,每个节点即可作为服务器也可做为客户,但客户与服务器是非 对称的。为了完成文件的熬享操作,服务器的客户端必须做相应的操作:在服 务器臻,必绥怒歙共享瓣蠢慕写入文 e f e t e e x p o r t s ,势羧霞会令:e x p o n f s 。瑟客 户端则要执行摭接命令m o u n t 把服务器输出的目录挂接到本地的菜阻录下。 n f s 使用远程过程调用r p c ( 础o t ep r o c e d u r ec a l l ) 机制来完成文件的操作, 菇暹过终郝数攥表示x d r ( e x t e m a ld a t ar e p r e s e n t a t i o n ) 捺浚在联嬲童捉之闯笾 亿数据交换过禚,x d r 首先按统一方式编码任何数掇,准备在网络上发送,当 它从网络上取得数据后,可以再将其译粥成原先的数据单元。 为了提高蓉统的性能,在n f s 的实现中分别在裟户桃和服务器上采用了离 逮缓存技术。辩客户臻斡磷遥缓存。除了写凑 乍被惨敬为立馨写雏,其它的与 单机文件系统相同,将写操作修改为藏即写是因为n f s 的服务器是无状态 ( s t a t e l e s s ) 的,也就是说服务器不会记录过尝客户端的馕求( 如文件是否被打开, 文箨獒当兹姣燮据铮等) ,嚣是由客户纛囊霰务器谚袋藏务嚣重绘l 瑟务器提供是 够的信息。这样,当服务嚣崩溃恢复后,客户只需简单的再发送次请求,傻 分布式并行文件系统的副本管理策略 这也要求驻务器静高速缓存必须支鬻霹到磁盘,以免鞭务器熬麓溃导数数攒丢 失。 n f s 在客户端的高速缓存相对露复杂些。它在客户端维护两个高速缓存,一 个用于文件属性( i n o d e ) ,一个用于文件数据。使用客户高速缓存可避免网络传 输而提高性能,但它也会带来贱问题。假设两个客户对同一个文件块进行了 高速缓存,并且其中一个对它进行了修改,当另一个客户读该块时,得到的是 原有的值,导致高速缓存的不一致。n f s 采取了几个措施来缓解这种不致性: 其一,设置一个与每个高速缓存块棚联系的计时器,当计时器到期,该顶藏拨 搬赛,一般,诗时器对数摆块燕3 秒,怼鏊录块是3 0 秒。第二,当豁开嵩遥缓 存在本建拷哭舞,诗露器发送一条溃惑绘鞭务器褥弱文磐豹最后掺毅辩麓,装 该时瓣在本遣拷哭毫速缓存之嚣,粼及羧务器重颓取瑟鑫冬缓存。第三,藏3 0 秒的计时器到期,高速缓存串掰霄修改过的块都发送到服务器。 -, 、 f 1 n f s 只是将文件系统从单机上扩展到网络中,为用户提供了存储两络文件的 透明性,但它不支持副本,一台服务器失效后系统无法再正常服务,因丽它不 是具有高可用性的系统。 2 2 2c o d a c o d a 在1 9 8 7 年由卡内基一梅隧大学开发:它的前身是a f s 。c o d a 和a f s 润比,主要的改送在予系统可髑毽,獒窀方面则基本相同或相似。零警黧患介 缓c o d a 是麴 露透过骚务器复裁霸蠢涟滚撩接寒这爨裹虿蔫往熬。 2 2 2 骚务器复制( s e r v b rr e p l i c a t i o n ) 一1 , , , - _ ; , a 服务器复制其实就是建立文律副本。c o d a 中复制的单位是卷( v o l u m e ) 。 卷是存放在服务器上的共享文件的煞合,它构成了名字空间中的一棵予树。存 放有某个卷的副本的全部服务器构成了一个集合,称为该卷的v s g ( v o l u m e s t o r eg r o u p ) 。不需要高可用性的文件存放在没有副本的卷中。c o d a 仅支持只 读副本,这是从a f s 继承下来的特性。 c o d a 的客户端进程称为v e n u s ,富负责使用文件副本。当客户机缓存了菜个 卷的数据之后,v e n u s 就维护了该卷的霹访闯服务器集合,它是该卷v s g 的予 集,称爻a v s g ( a c c e s s i b l ev o l u m es t o r a g eg r o u p ) ,如果没有鼓障发生,它鞠 v s g 是程等戆。翔暴搽溺戮菜令黻务器敬薄,裁宠该羧务器钛a v s g 中鞠狳。 第二肇静簿蔑文耱系统橱疆 v e n u s 在游褥c o d a 中懿文件辩,蓄龙在本趣缓襻中誊我,魏袋率施缓存串豁该 文件的数据,v e n u s 就崽接访问本地蠛存。如果本地缓存中没有所霈数据,v e n u s 捩a v s g 中洼耩一个黢务器寒谤霹,选择浆标准懑豢爨骚务器鹃怪哉捂耩,攒 舞簸务爨帮客户爨之阕物理透矮懿遗懑、激务器炱袋、黢务器c p u 筵理藐力镰。 、 c o d a 保证副本一致性的策略称为r e a d ,o n e ,w r i t e a l l 。一个修改过的文 牛凝 阙盛就立帮蕊输爨a v s g 的疆有残爨上。运秘穷法实瑗筠蕈,箍虽尽可裁绦诞 了冬一令翮本苇煮在甓髑融捩努畜愚耩黪羧蕹;意麓薅鼹藏枣了鞭务器c p u 受 载,因为数掭传播负豫内服务器转移掰客户机上了,这反过来叉提高了扩袋健, 因为服务器c p u 常常魁分瘫式文件黎燧的瞧能瓶焱。这秘方法的主要缺点怒数 掇黼步延逖较大,c o d a 逶过并行远道糕潺瓣糗妻求释凌这令婚曝。 1 2 2 2 2 蠢连接臻 睾( d i s c o n n e c t e do p e r a t i o n ) 在无遗横操俸状态下,a f s 客户枫不谚瓣鼹务器,纛续读墩溅髂改零地缀襻 中鲢文 串数攥。整v s g 骚煮戏爨帮不可霜黠;a f s 自穗嶷灸焉逐镶攥箨模式。 无逢接攥露鼹完全袋羧予辍务器霸竞套交客户捉鑫漶嚣黪方豢黪赫串。 无连接操作和服务器复制不同,戡狸获得容错能力的同时没谢付出空间代价 熟懿我徐。藉辍务器燮锻霰簧额外翡空淹寒存教副本,弱瓣凝本落议蹲稳了 爨务器注魏。藿建无连接爨露只毙淤懑已经缓存戮零穗磁盘土豹数蘩。当嚣连 接操作结策时,如果客户机修改了属于无琏接的港的文件和目淤,相应的数据 就受颓裂v s o 戆嚣有戏掇土。 。“+ c o d a 罄户羲楚无逡接搡掺罄戏一黪漆簿装态,宅葸蹩尽霹缝晕蟪转变劐菠 常搡作状淼。正常操律辩无连接操伴之间的转换对爝户怒透翁嬲。在正常搽佟 中,查找缓梅失败仅仅对性能有所影蛹。缎在无遗撩操作中,如暴在缓存审找 不鬟酝霰数懿,蹙户稷侉会被疆起,豢霹浚复薨疆常凑捧或髑户取港耀盛黪文 馋系统调鞠搀丘。哥冤,在无连接操佟孛避莞缓露黉我失陵是 # 露重瑟嚣。 c o d a 允许用户指定一个文件和目淤列表,v e n u s 将尽可能地将列表中的文件 秘筵录豫黎在缓存孛。这个魏表孛熬文嵇竣霹录谢敷设攫我兔缀,最嵩傀巍缓 是s t i c k y

温馨提示

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

评论

0/150

提交评论