(计算机应用技术专业论文)分布式网络文件系统(dnfs)研究与实现.pdf_第1页
(计算机应用技术专业论文)分布式网络文件系统(dnfs)研究与实现.pdf_第2页
(计算机应用技术专业论文)分布式网络文件系统(dnfs)研究与实现.pdf_第3页
(计算机应用技术专业论文)分布式网络文件系统(dnfs)研究与实现.pdf_第4页
(计算机应用技术专业论文)分布式网络文件系统(dnfs)研究与实现.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

摘要 分布式网络文件系统鄄d n f s 文件系统设计的翳的在于提高网络文件系统 的传输性能和可靠性,同时实现“零管理”郎在尽赞减少人工干预的同时,实 现与本地文件系统接近的读写性能。本文在分析现有的网络文件系统的基础t , 提出种基于t c p i p 的分布式网络文件系统结构,即以客户端、索学f 服务器和 逻辑块服务器为蒸础的三层结构。在客户端通过实现内核级文件的调用和缓冲机 制,实现了文传妁无缝网络夺取,势减少出予网络传输带来的性能下降的影响; 剥瑁逻辑块黢务器实现逻辑坟熬冗余存取,实现数据块款安全存放;列用索引服 务器进行负载均衡计算,实瑶瓷料存取酶较低网络和凝务器歼销;剥羯索引腿务 器实王觅腋务器组的零管理,使该系统矮有高效性、稳定穆和可 率缩性。萋子, = 述 思想,本文实现了一个基本的d n f s 文件系统,并对其主要的往能送行了测试。 测试结果表明,该系统具有较好的性能。 关镶词:文件系统,网络存储,分布式,l i n u x ,集群 岔壶盛嗵缝塞性垂魉l q 8 匿蛆戡! i 盐趣一 一一 a b s t r a c t t h ep u r p o s eo fd i s t r i b u t e dn e t w o r kf i l es y s t e m ,t h ed n f s ,i st oi m p r o v et h e t r a n s m i s s i o np e r f o r m a n c ea n dr e l i a b i l i t yo fn e t w o r kf i l es y s t e m i ta l s oi m p l e m e n t s ”z e r o m a n a g e m e n t ”w h i c h m e a n st h ef i l e s y s t e m s h o u l dr e a c ht h er e a d w r i t e p e r f o r m a n c ec o m p a r a b l e t ot h el o c a lf i l e s y s t e m w i t ht h em i n i m u mm a n u a l p a r t i c i p a t i o n b a s eo nt h ea n a l y s i so fc o m p a r i s o nt oc u r r e n tf i l es y s t e m s ,t h i st h e s i s p r o p o s e sn e wd i s t r i b u t e dn e t w o r kf i l es y s t e ma r c h i t e c t u r eo nt h et c p i pp r o t o c 0 1 t h en e w l yp r o p o s e df i l es ”t e mi sat h r e e l a y e ra r c h i t e c t u r ei n c l u d i n gc l i e n t s ,i n d e x s e i n e r sa n dl o g i cb l o c ks e i n e r s t h r o u g ht h ei m p l e m e n t i n go fk e r n e ll e v e lf i l ea n d c a c h em e c h a n i s ma tt h ec l i e n ts i d e ,t h i s n e w l yp r o p o s e dd i s t r i b u t e dn e t w o r kf i l e s y s t e mp r o v i d e ss e a m l e s sn e t w o r kf i l ea c c e s sa n dr e d u c e st h ep e r f o r m a n c ed e c l i n e c a u s e db yn e t w o r k t r a n s m i s s i o n u t i l i z i n g t h ec o n c e p to fl o g i cb l o c ks e r v e r , i t p r o v i d e st h er e l i a b l ed a t ab l o c ks t o r a g ea n di m p l e m e n t sr e d u n d a n ts t o r a g ec a p a c i t y u t i l i z i n gt h ec o n c e p to f t h e i n d e xs e r v e r ,i tp r o v i d e st h ec o s to f t h e g r e a t l yf o r s e r v e r a n dn e t w o r kd u r i n gd a t aa c c e s sp r o c e s sa n dr e a l i z e st h ec o m p u t i n gw i t hb a l a n c i n g c a p a c i t y + t h en e wf i l es y s t e mi sd e s i g n e dt ob ee f f i c i e n t ,s t 曲l ea n ds c a l a b l ed u et o r e a l i z a t i o no f z e r om a n a g e m e n t ”o f s e r v e r g r o u p s 、 b a s e do nt h ea f o r e m e n t i o n e d n o t i o n s ,t h i st h e s i s p r o p o s e s ,d e s i g n s a n d i m p l e m e n t sas i m p l ep r o t o t y p eo f d n f s 。t h e p e r f o r m a n c ee v a l u a t i o ni sc a r r i e do u t o nt h ep r o t o t y p es y s t e m t h ee x p e r i m e n tr e s u l t ss h o wt h a tt h i sn e wd n f s p e r f o r m s w e l lu n d e rd i f f e r e n te n v i r o n m e n t k e y w o r d s :f i l e s y s t e m , n e t w o r ks t o r a g e ,d i s t r i b u t e d ,l i n u x ,c l u s t e r 2 坌查丛瞍垒塞世丕筮f 型匿2 鲤塞生塞理 1 1 网络文件系统概况 第一章绪论 i n t e r n e t 的飞速发展对人们的生活产生了广泛而深远的影响,越来越多的个 人在互联网上购物、娱乐、休闲、与人沟通、获取信息;越来越多的企业把他们 与顾客和业务伙伴之间的联络搬到互联网上,通过网络来完成交易,建立与客户 之间的联系。互联网的用户数和网络流量正以几何级数增长,这对网络服务的可 靠性提出了很高的要求。热门的w e b 站点会因为被访问次数急剧增长而不能及 时处理用户的请求,导致用户长时间的等待【1 】。另外,电子商务等关键性应用在 网上运行任何例外的服务中断都将造成不可估量的损失。服务的高可靠性变得 越来越重要。在传统的服务器体系牛,服务程序和f 0 子系统通常位于同一个硬 件系统之内。当同时出现大量的服务请求时,服务程序和文件系统都要占有大量 的系统资源。一方面,像多媒体服务例如视频点播服务等服务周期较长的系统 中,服务程序始终占有系统资源和处理器处理时间,同时l ,0 子系统也需要大量 的系统资源:另一方面,像w e b ,f t p 等传统服务器中,如果出现系统崩溃, 服务将停止,同时资料将丢失,这样将带来重大的损失1 1 j 。 文件系统作为计算机磁盘资料的管理者,对于系统输入输出能力有重要的影 响。c a s e a m d a h l 经验法则【2 】表明,1 m i p s 的计算能力需要1 m b i t 的i 0 带宽与 之匹配。目前计算机系统的i ,o 能力就显得过于薄弱,并且这种情况还在不断恶 化。根据m o o r e 定律,c p u 计算能力、内存容量等硬件技术指针以指数方式每 1 8 个月增长一倍,而磁盘带宽的增长却远远落后于计算能力的增长,使单机系 统的计算与i ,o 处理速度的差距越来越大。造成i ,o 瓶颈的主要原因是c p u 和 i ,o 设备速度增长的不匹配。集成电路技术的快速发展使得c p u 速度有了显著 的提高,而磁盘等f ,o 设备由于受限于其机械部件的速度,相对而言其性能的改 进要慢得多。最近几年,越来越多的并行,分布式系统由于同时采用多个c p u , 使计算能力与i ,o 速度的不匹配问题变得更加严重。计算能力的提高又产生了一 批新型的计算机应用领域,如多媒体、可视化、具有重大挑战性的科学和工程计 算问题、w e b 服务器、i ,o 密集型的数掘库、弱连接环境下的计算和网络教学等 等,这些应用对i ,o 性能提出了更高的要求,同时也表明应用呈现出对i o 需求 永远增长的趋势。 这就对用硬件和软件方法实现高可伸缩、高可用网络服务提出了更高的要求 l n l 。单服务器升级显然不能处理不断增长的负载。这种服务器升级方法有以下不 足:一是升级过程烦琐,机器切换会使服务暂时中断,并造成原有计算机源的浪 费:二是越往高端的服务器,所花费的代价越大;三是一旦该服务器或应用软件 失效会导致服务的中断。 1 2 利用网络实现文件分布存放 依靠存储分布提高i o 性能的一个重要技术是硬件冗余磁盘阵列( r a i d ) 。 r a i d 使用许多小磁盘集合在一起提高磁盘性能和资料的可靠性1 4 l 。对高层软件 来说,r a i d 系统表现为单个大磁盘,磁盘阵列被划分成许多数据块,称作条块 单元,连续的条块单元位于不同的磁盘上,磁盘阵列上一组连续的条块单元称作 一个条块,大的数据传输能使磁盘同时动作,聚合多个磁盘的带宽,多个小数据 传输同时使磁盘并行工作。为了解决资料可靠性问题,r a i d 可以保留一个条块 单元作为整个条块数据的“异或”检验数据块,当其中某个磁盘失效时可以通 过计算恢复原始资料。 硬件r a i d 系统可以部分解决计算速度和i o 速度的不匹配问题,但始终存 在着主机资源争夺的矛盾。通过高性能网络或局域网互联的服务器集群j 下成为实 现高可伸缩的、高可用网络服务的有效结构。这种松耦合结构比单处理器系统和 紧耦合多处理器系统具有更好的伸缩性和性能价格比,但是,这里有很多挑战性 的工作,如何在集群系统实现并行网络文件服务,对外透明服务,实现具有良好 可伸缩性和可用性网络存取成为为一个有待解决的问题。分布式,并行文件系统 提供了一种i o 瓶颈的解决途径。它的设计目的在于将本由本地操作系统完成文 件系统独立出来以减轻本地i o 的负担。它将多个结点上的磁盘组织成为全局的 存储系统并可通过网络实现共享。分布式,并行文件系统能提供更大的存储容量 和聚集的i o 带宽,并可以随系统规模扩大而扩展。分布式,并行文件系统大致可 以分为以下三类: 1 ) 文件共享文档和缓冲的分布式文件系统; 2 ) c o d a ,i n t e r m e z z o 文件系统: 3 ) 集群文件系统 上述三类文件系统中,第一类文件系统最早出现,其中最著名的是s u n 的 n f s 。其设计目的是将早期网络中单机文件系统实现共享。这类文件系统采用的 是基于u n i x 系统的设计思想,将远程文件系统作为本地文件系统子树挂接的形 式。某一服务器提供的文件共享只能作为客户端单独的子目录,无法实现多服务 器交叉存取。n f s 使用u n i x 的认证体制,底层使用r p c 过程实现,因此无法 利用客户端内核提供的缓冲机制,速度极慢,无法满足高性能系统的要求。 后来出现了c o d a 和i n t e r m e z z o 文件。这两种文件系统实现了内核级的文 件调用,可以利用本地文件系统缓存实现了与本地文件系统接近的文件访问性 能。c o d a 和i n t e r m e z z o 文件系统迄今尚未实现资料的高可用性存放,一旦某服 务器出现停机或离线,保存在此服务器上的资料将不能被访问而导致资料丢失。 集群文件系统利用位置无关性,并结合快速局域网,比传统的网络文件系统 能提供更好的性能和扩展性。另外,由于这种无集中式服务器的任一台工作站可 以承担出现故障部件的责任,因此可以通过采用冗余数据存储提供高可用性。在 目前为止,主要的集群文件系统大都集中在专有系统中,像v a x c l u s t e r s ,v e s t a 和s o l a r i sm c ,有些还只是雏形,未发展到实用阶段,例如x f s 。应用比较广 泛的是g f s ,不过由于它需要专用的硬件支持,其实用性大打折扣。 1 3 本文所作的主要工作 如何利用通用设备,构筑一种性能优良、可靠性高并且价格低廉的文件系统 已经成为当前i n t e m e t 迫切需要解决的问题。 本文提出一种分布式网络文件系统,主要工作归结以下: 1 ) 本文件系统利用网络存储的优势,提出以客户端、索引服务器和逻辑块 服务器为中心的三层结构。系统以索引服务器为中心,逻辑块服务器构 成底层资料存储单元,围绕着索引服务器提供服务; 2 ) 利用逻辑块服务器冗余存取,既实现了资料存取的高速度,又可以降低 因为资料存储介质失效而导致的资料丢失的风险: 3 ) 利用索引服务器在资料读出时动态地选择逻辑块服务器,平均分配每个 逻辑块服务器的逻辑块读取负担,从而实现逻辑块服务器的负载均衡: 4 ) 利用客户端本地文件系统的缓冲机制,实现与本地文件系统接近的资料 读写性能; 5 ) 在网络底层协议,拓扑结构和各节点之间的通信协议上进行优化设计, 以实现高效、稳定、安全地资料存取和系统的高度可伸缩性。 6 ) 构造了一个基本的系统,并进行了性能测试,同时对评价测试结果作了 评价。 全文包括以下六个章节: 第一章序论包括网络文件系统的发展需求,现有的三类网络文件 系统的简要介绍,本文所做的工作; 第二章分布式文件系统三类网络文件系统的列举和优、缺点评价; 第三章一种新的d n f s 文件系统体系d n f s 文件系统的客户端、 索引服务器、逻辑块服务器三层结构的层次结构和主要协议; 第四章实现机制和算法d n f s 文件系统的四个主要设计思想:内 核级文件系统回调,利用内核实现回写缓冲,利用多个逻辑块 服务器实现数据块冗余存储,利用索引服务器实现负载均衡; 第五章实验和性能评价对d n f s 文件系统进行四个方面性能测 试,测试结果及原因分析:逻辑块服务器的数目的影响,写入 性能,读取性能; 第六章结束语总结全文,并对后续的工作提出了设想。 坌查丛塑垒塞! 生垂缝! ! 丛e 2 堑8 皇塞毽 2 1 引言 第二章分布式文件系统分析 随着超级计算机的发展,尤其是大规模并行处理系统的出现,为了与可扩展 的计算能力相匹配,并行文件系统的发展近年来逐渐成熟。利用硬件实现文件的 并行存储,可靠性高,管理简便,但因为要使用特殊的硬件,受制于硬件的单价, 投资巨大。而利用网络传输,也可以达到相同目的,费用却相对低廉。特别是近 年来,网络的带宽不断扩大,而价格却不断下降,因而出现了许多利用网络拓展 储存带宽的解决方案。它们是以提高文件存取的带宽、i o 系统能力和容量以及 可扩展性为目的设计的。在历史上曾出现过许多网络共享文档系统,根据它们的 实现机制,可分为,共享文档和缓冲的文件系统、c o d a 和i n t e r m e z z o 类文件系 统技及集群文件系统三类。 2 2 共享文档和缓冲文件系统 首先出现的是利用r p c 协议( r e m o t ep r o d u c i n gc o n t r 0 1 ) 实现文件远程 存储的n f s 系统及其后续利用r p 应协议实现的a f s 系统。它_ ;f 的特点是利用 通用网络协议,将本应由本地文件系统处理的文件调用传送到远程,由远程服务 程序完成操作后,将数据传回客户端,以实现文件的远程存储。在此,我们通过 对其协议简单描述来说明。 2 2 。1n f s s u n 公司于1 9 8 5 年开发了n f s l 5 j ( 见图2 - 1 ) ,以此作为对远程文件系统进 行透明存取的一种方法。它目前已被移植到几乎所有u n i x 系统及v m s 和d o s 上,并成为事实上的工业标准。n f s 体系结构基于客户,服务器模型,是最简单 的一种共享文档协议,每个节点可以同时作为客户和服务器。客户和服务器之间 通过r p c 进行通讯。 它通过客户机上的系统a p i 来文件共享。这种a p i 是通过远程程序呼叫 ( r p c ) 实现的,并且当获取存储块和请求目录服务时与本地文件系统的上层 a p i 非常相似,但n f s 不负责服务器的状态。也不负责c a c h i n g 。 n f s 服务器响应如下请求: 1 ) 只读操作: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 t f s 。m o u n t 2 ) 目录修改:m k d i r ,l i n k s y m l i n k ,r e n a m e ,u n l i n k ,r m d j r 3 ) 文件修改:s e t a t t r w r i t e n f s 的修改操作必须在服务器返回消息给客户机之前作用于物理存储设备: 其安全保证是建立在对客户机的信任和交流调用服务器上的过程的用户i d 来实 坌壹盛蟹缝塞性丕缝1 2 m 堕2 丛红生邃塑 现的。 n f s 的性能、可扩展性和单一系统映像等功能都不是很好,因而从某种意 义上讲,n f s 不能算作一个并行文件系统。而只是一种透明存取远程文件的协 议。n f s 具有许多特色,较为典型的是采用无状态( s t a t e l e s s ) 的服务流程和基于 时自j 的一致性。大大简化了协议和实现。n f s 的主要问题是:性能差( 尤其是写 性能) 、可扩展性差,且不支持严格语义定义。 2 2 2a f s 图2 - 1n f s 结构 a f s i5 】是1 9 8 4 年美国卡内基- 梅隆大学( c m u ) 研制开发的分布式文件系统。 它的设计目标是支持大学校园网内数千台工作站间的文件共享。a f s 提供一致 的、不依赖位置的名字空间和基于对话( s e s s i o n ) 期间的文件共享语义。它的 设计特点包括:可扩展的体系结构,以多个服务器的资料复制来支持大量的用户, 以c a l l b a c k 机制维护多个副本间的一致性。9 0 年代末,c m u 又在a f s 的基础 上开发了支持弱连接环境( 如移动办公) 的分向式文件系统c o d a 。 a f s 是第一个在客户端采用永久缓冲策略的文件系统,缓冲包括文件和目 录资料。在正常操作中,客户端假设其请求的资料在缓冲中是有效的,知道服务 器使用c a l l b a c k 或i n i t c a l l b a c k s t a t e 远程调用通知它放弃部分或全部缓冲,二 者一般发生在其它的客户需要对其作修改之时。不同于u n i x 采用的“l a s tw r i t e w i n s ”语义策略,a f s 采用“l a s tc l o s ew i n s ”语义。 a f s 在客户端缓冲目录信息,所以一旦资料被缓冲,客户端的只读操作将 无需服务器的参与。而且客户端的缓冲是永久性的,即保存在本地文件系统中。 所以就算当客户机或服务器重启以后,系统依然能够通过与每一个文件相连的 d a t e v e r s i o n 属性名重新使用缓冲。 一个名叫“,a f s ”的目录保存在所有从a f s 服务器可以获得的资料的名字空 间。很明显,服务器端必须通知客户端所有可以使用的a f s 服务器节点,而每 一个节点又是一个唯一域控制下的组,这些节点在,a f s 目录下表示他们拥有的文 件集合。当一个客户机访问a f s 下的节点时,它就可以找到相应的服务器和文件 集合。 与n f s 不同,a f s 在客户端和服务器端都必须响应r p c ,通过这一点,客 户端就可以保持当前文件的信息。 a f s 有强有力的安全支持,客户机不被信任,它们必须通过授权从服务器 得到k e d o e r o st o k e n s 形式的信用才能与服务器相连。 2 2 3d c e ,d f s 进一步对a f s 的研究导致了d c e d f s 文件系统f 6 j 的产生。d c e d f s 文件系 统是o s f ( o p e ns o f t w a r ef o u n d a t i o n ) 的一部分,具体文档见文献【6 】。 a f s 服务器端被完全重新设计过,并在文件系统层对v f s + 提供支持,能通 过内核级文件输出接口输出本地文件系统。几个关键的扩展被添加到了服务器接 口上: 1 令牌管理:客户端能通过获得令牌对对象操作。对象包括文件和其它资 料。通过d f s 可以提供一个统一的u n i x l x l , 格的文件接口: 2 传输器:通过在服务器端添加r e a d d 孵刚o o k u p 调用接口,d f s 文件输出 能支持n f s 和n o v e l l 客户端; 3 文件卷一级的回调:像c o d a 卷样当修改未完成时能通过相同接口提供 警告: 4 文件级的存取控制列表( a c l ) :可以通过定义a c l 文件来定义a f s 目录级 的安全。 a f s 并不象n f s 此类简单系统那样直接使用服务器端的文件。a f s 使用内部 格式来管理文件和目录的缓冲资料。f i c u s 【7 】和d c e d f s 只通过s t a c k a b l e 层和 v f s + 来使用这些服务器空间【7 j 。 在客户端,d f s 对a f s 进行了改造,主要差别在于使用权杖管理和优秀的文 件颗粒共享。 d f s l 2 2 可提供源代码,它是一个极端庞大的系统,现在还没有被移植到 l i n u x 系统上。 2 3c o d a ,i n t e r m e z z o 文件系统 此后出现的c o d a 和i n t e r m e z z o 文件系统改变了客户端的处理方法。c o d a 文件系统扩展了有关服务器可替代性,断线操作等细节,i n t e r m e z z o 文件系统通 过客户端内置的修改日志和回写缓冲来提高性能。这些文件系统的实现机制都有 别于传统的u n i x 风格。 坌查式嗵塑塞往丕缠! 旦! 堕2 壁塞皇塞毽 2 3 1c o d a c o d a s l 结构如图2 2 所示。c o d a 文件系统是从a f s 版本2 演变而来的 它加入了如下特性: 图2 2 c o d a 结构 1 重组模式的断连操作: 2 采用分离副本策略的服务器端复制; 3 带宽适应。 为支持重组模式的断连操作,c o d a 在服务器不能进行同步更新或带宽不够 时进行服务器注册操作,即在客户端的日志文件( c m l ) 中记录资料,当与服务 器之间可以连接时重组恢复。在这个过程中,服务器经重新执行它在c m l 中找 到的操作。如果服务器在c m l 执行了目录修改操作,它将从客户端取回资料。 对带宽适应的支持,c o d a 服务器将在获取网络性能的基础上利用c m l 适应网 络吞吐率和延迟。为了处理重组过程中的客户机、服务器与网络之间的故障的问 题,c o d a 设置了一个扩展的版本戳,其中包含执行更新操作的客户机的标志。 在重新连接过程中,c o d a 利用文件和容量戳可以快速验证缓冲的状态。并且与 客户机缓冲中的文件保持连接,以便为断连做准备。 至于c o d a 服务器的复制工作,它是通过为每个新建的卷赋予一个卷存储 组来实现的,这个组包含了拥有卷资料的服务器。为了保证一致性,文件和目录 的副本的版本出之间的一致性将对此负责。在一个客户即发现所有副本的版本戳 都一样之前,它是不会使用这些资料的。 在使用比v s g ( v o l u m es t o r a g eg r o u p ) 小的a v s g ( a v a i l a n ev o l u m e s t o r a g eg r o u p ) 进行修改操作时,服务器会将对文件系统的修改记录在r 志文 件中,且与客户记载断连操作中记录在c m l 中是样的。为了保持同步副本, c o d a 采用两步更新协议。即在第一步中,每一个拥有副本的服务器执行更新操 作并且向客户机报告成功或失败。第二步为了完成更新操作,客户即将利用名叫 c o p 2 的多路远程程序呼叫在每一个a v s g 的成员中记录最终的版本戳。如果 a v s g 中的服务器返回不同的版本戳,客户即将启动决议过程。这个决议过程是 一种服务器与服务器之间的协议,它将版本向量与版本戳和服务器修改只志连接 起来。 每一个对象的版本向量保存各自服务器的更新操作计数,并且当出现服务器 丢失物件这种严重情况允许进行简单的差别调整。 2 3 2i n t e r m e z z o i n t e r m e z z o 8 1 是一种客户,服务器文件系统,基于版本和活页夹集合的更新, 与网络连接状况无关。有别于其它的网络文件系统,i n t e r m e z z o 用名为p r e s t o 的 核心模块来封装现有的日志文件系统。 p r e s t o 截获对活页夹或文件的更新,并对已进行的操作和被更新的活页央 和文件版本作详细的r 志记录。必要时,为获取当前资料,i n t e r m e z z o 截获对 资料的访问。 无论在服务器或客户端,i n t e r m e z z o 将文件资料存储在当前磁盘文件系统 中。在客户端,这个文件系统在缓存中包含当前或最近使用的文件的副本。在服 务器端,这个磁盘文件系统在活页夹集合中包含所有文件的有效副本。 i n t e r m e z z o 文件系统的特点包括: 复制:i n t e r m e z z o 使服务器上的活页夹集合镜像。 无连接下操作:在服务器或网络连接失败期间,仍保持活页夹的有效更新。 无缝重整:一旦i n t e r m e z z o 检测到可恢复的网络或服务器,自动同步恢复 系统。使用i n t e r m e z z o ,服务器能保持同步化,即便是在一台分布式服务器失 效的情况下。 在正常操作中,i n t e r m e z z o 是一个基于客户,服务器的文件系统,可在多个 服务器上保留文件系统的副本。当服务器或网络连接失败,i n t e r m e z z o 会在同 j 基文件中记录下文件系统的更新:当服务器或网络恢复正常,这些同志指引所有 服务器更新。 i n t e r m e z z o 文件系统采用的大块数据传输机制非常灵活:它可以利用高性 能服务器和网络,也可以检验安全连接或使用复杂的压缩技术( 例如:r s y n c 协 议所提供) 。 2 4 集群文件系统 集群计算的发展需要发展并升级文件系统,要求文件系统不仅能够对多个文 件提供并行的访问,而且能在对同一文件进行访问的进程间提供缓冲一致性。大 多数传统的网络文件系统如n f s 、a f s 、c o d a 对于并行处理而言是远远不够的, 因为它们都依赖中心文件服务器。但是,随着越来越多的客户的加入服务器的 c p u 很快就成为了性能的瓶颈。为了解决这个问题,处理能力更强的服务器已 经被制造了出来,而且文件系统的设计者们也试图将更多的工作交给客户来完 成,但是即使是这样,服务器的速度仍然是文件系统可升级性的瓶颈。新一代的 文件系统如g i o b a lf i l es y s t e m ( g f s ) 、x f s 和f r a n g i p a n ! 1 9 j 比较适合于集群系 统。因为这些系统都在集群系统中的机器上分配内存、c a c h e 和控制权,并且 提供了并行文件访问和缓冲一致性的解决方法。 2 4 1v e s t a - - p 1 0 f s v e s t a 并行文件系统1 4 1 l 是i b mt j w a t s o n 研究中心为i b ms p 2 研制的基于 1 0 坌查丛哩垡塞鲑丕续l 望8 堕l 塑嚣篁塞丑 a i x 操作系统的并行文件系统原型产品名称是p i o f s 。v e s t a 面向的是具有并 行i 0 的多计算机体系结构,其i 0 服务端基于u n i x 文件系统环境和单机i o 设 备。它在磁盘资料布局( 1 a y o u t ) 、用户接口、文件划分方法( p a r t i t i o n ) 和目录 组织上有自己的特点。 2 4 2v a x c l u s t e r s ( a n dl u s t r e ) 具有庞大体系结构的v a x c l u s t e r s 4 3 j 是d e c 公司1 9 8 5 研制而成的。 v a x c l u s t e r 在定额的基础上维持c l u s t e r 之间的关系,从而防止c l u s t e r 出现碎 片c l u s t e r 成员能够共享所需的存储设备,包括本地系统和网络连接的并且 它们之间还使用一种i n t e r c o n n e c t 变种技术进行连接。1 1 “”1 通过将对资料的操作转换成与分布式锁管理者的交互,本地文件系统就演变 成了v a x c l u s t e r s 文件系统其中控制系统特性和语义的就是这种锁管理协议 系统中的资源通过树的形式命名和组织,而锁就从这些资源中产生为了得 到一个锁,树的上级必须先被锁住这样每一个锁的层次结构,比如在根节点下 的树状资源,都有一个主节点,这个主节点通常是这棵树中的一个获取锁的系 统为了找到这个控制资源的主节点,可以通过资源名的h a s h 值来请求一个分 布资源目录如果这个资源不存在,这个寻找资源的系统奖惩为主节点。 将锁保持在c l u s t e r 成员上,是通过执行操作系统的一系列模式,包括独占 的,保护的读与写,同步的读与写以及解锁这六种模式之间的兼容性由一个简 单的为标志定义i 当一个成员在一个新的模式下请求锁,所有其它持有这个锁的 处于与这个模式不兼容的节点将被通知,而且一个回调函数被执行、 每一个系统都能够拥有大量的自治区,并且通过锁来实现回写缓冲( w r i t e b a c kc a c h i n g ) ,使用配额以及不联系锁管理者而进行读操作:这种组织结构非 常类似于a f s 的设计这个设计中必须注意几个重点,即当2 个成员离开一个 c l u s t e r 时,比如由于失败,必须执行个复杂的恢复过程不象c o d a 和a f s 这样的系统,c l u s t e r 成员之问不存在客户服务器的关系,于是从失败的成员中 恢复需要做更多的工作另外一个不同之处在于成员之间互相信任,并且内部 c l u s t e r 之间的通信拥有一个安全网络:。 所有处理锁的系统都必须注意死锁问题有一种方法可以解决死锁问题,那 就是通过预约请求锁,如果预约不到锁,死锁就有可能产生,所以必须能够监测 出来,v a x c l u s t e r s 系统中的锁管理机制就可以监测死锐f 、 2 4 3s o l a r i sm c s o l a r i sm c l 4 1 】是s u n 公司设计的个分布式机群操作系统。它的主要目的 是为机群提供单一系统映像功能,提供了全局的进程、设备、文件管理等功能。 s o l a r i sm c 的文件系统有以下特点:支持严格的u n i x 语义;面向对象的核心 接口,扩充了v f s v n o d e 接口的功能;零拷贝的i ,o 接口和通过网络的直接数据 传输,可以由客户结点以d m a 方式直接访问服务器硬盘;高可用的文件服务器, 支持崩溃恢复( c r a s hr e c o v e r y ) 。s o l a r i sm c 文件系统的缺点主要是单一文件 服务器的结构限制了可扩展性。 2 4 4 伯克利家族:s p r i t e ,z e b r a 和x f s s p r i t e 12 】是一种十分特殊的分布式操作系统。s p n t e 支持u n x 的a p i ,使用处 理迁移( p r o c e s sm i g r a t i o n ) 和完全透明的文件系统。s 叫n t 系统通常运行于由许 f 心 l n c | t t i t 一0 u c l 图2 - 3x f s 结构 c i i 坫t o r1 u c s b 多系统构成的集群系统中。s p r i t e 文件系统的特点是允许对文件缓冲足够长的时 间直到文件被改动。客户端将o p e n 调用传递到服务器,如果此时某个写入者对 正在对此文件写入,缓冲将被禁止。s p r i t e 通过利用n f s 或a f s 来管理传统文件 系统,但其精确计时机制和警告机制不同于后二者。 有趣的是,w i n d o w s 的s m b 文件系统【13 j 也使用与s p r i t e 类似的警告机制。不 同的是,s m b 协议并没有继承s p r i t e 清晰的设计思路,而是非常烦琐并且使用了 许多w i n d o w s 的方言。 z e b 怕m 是sd r t e 计划的最后阶段,它提供对磁盘阵列的支持。z e b r a 并不提 供文件分块存取,但使用分块记录。z e b r a 使用单个的文件管理器来定位服务保 存资料和管理缓冲结构。 传统n f s ( 网络文件系统) 依赖于一台集中式服务器,而无集中式服务器 ( s e r v e d e s s ) 的系统中所有工作站在提供文件服务方面地位是均等的。系统中 的任何一台机器都能够存取、缓存及控制任意的数据块。该方法利用位置独立性 ( 1 0 c a t i o ni n d e p e n d e n c e ) ,并结合快速局域网,比传统的网络文件系统能提供 更好的性能和可扩展性1 1 4 , 4 0 。另外,由于这种无集中式服务器的任一台工作站可 、 j 重雩 、壶一 募嗵 | 鐾坠、备 鑫一 坌壹式睡垒塞鲑丕筮l q 盟堕2 鲤容量塞丑 以承担出现故障部件的责任,因此可以通过采用冗余数据存储提供高可用性。为 了验证这种方法,加州大学伯克利分校实现了一种没有集中式服务器的文件系统 原型x f s 3 ( 图2 3 ) ,它主要完成了下列功能:并行协调式的元数据管理:合作 式缓存;并行l ,o 支持。即类似于软件r a i d 的实现;日志式存储管理。解决在 实现r a i d 的校验功能产生的小数据块大量写问题。 x f s l l 5 1 试图通过将服务器的功能如保持c a c h e 的一致性、定位资料和处理磁 盘请求分布在各个客户上来提供对文件系统资料的低延迟、高带宽的访问。 为了保持c a c h e 一致性,x f s 采用了如下的方法。它将客户方的所有的内 存空间看为一个大的c a c h e ,这样就减少了客户方的资料缓存,利用了闲置机器 的内存。这种合作型的缓存可以通过减少到达磁盘的请求量来降低读延迟。 为了将定位资料的功能分布到每个客户端,x f s 让每个客户都必须对文件的 一个子集对应的请求进行处理。文件资料在多个客户端加以分类从而提供更高的 带宽,这些分类资料包括一些奇偶信息,通过这些信息可以在机器失效时恢复分 类的资料报。这种方法可以保证没有任何节点会产生单点失效的情况。 但x f s 还没有实现其它的一些重要功能,如:系统崩溃后的恢复和垃圾清 扫,没有实现管理器状态的检查点和回滚功能,也没有实现管理器映像图和 磁盘分组映像图。目前x f s 虽然只是一个研究原型,但实验结果表明它的可扩 展性和性能均优于n f s 和a f s 。 2 4 5g f s 全局文件系统( g l o b a lf i l es y s t e m ,g f s 【15 】) ( 图2 4 ) 是由美国明尼苏达 大学发展的一种s a n 文件系统。 g f s 使用s a n 提供底层资料存储支持。通常情况下,对于硬件的要求导致成 本非常高。g f s 要求存储设备支持一套基于s c s i 一3 协议的扩展命令。g f s 就是 这些扩展命令的集合。使用这些命令,g f s 通过让分散的磁盘支持分布式锁定框 架,将磁盘控制器和文件系统整合在一起。 g f s 在磁盘( d i s k s ) - - 级实现共享锁,称之为d l o c k s 【2 5 j 。g f s 能够利用本地 卷,从而不需要中心管理,并且不是基于同志基础的g f s 管理它自己的磁盘布 局,并且提供对文件集合和树状目录的支持 2 4 6m o s l x 文件系统 图2 - 4g f s 结构 m o s i x 集群【13 】使用了自己的文件系统m f s 文件系统。m f s 将集群中的所 有文件系统和目录都看作是一个文件系统,而且它提供了对所有节点上的所有文 件系统的统一访问,它还通过只提供一个c a c h e 保证了c a c h e 的一致性。 m f s 包含了许多位于不同节点上的文件子树,因此它就允许对多个文件进 行并行操作和c a c h e 一致性。 在m o s i x 集群中进行进程迁移时,如果此进程主要占用的是c p u 资源, 则迁移此进程对于提供系统性能是非常有效的,但是如果此进程需要进行大量的 i o 操作,则迁移进程非常不利。这是因为每个j ,o 操作都需要与该进程原来所 处的节点进行通讯。 因此m f s 增加了对d f s a ( d i r e c tf i l es y s t e ma c e s s ) 的支持。d f s a 的目 的就是让那些需要进行大量i o 操作的进程迁移到远程节点上,该远程节点拥有 大多数i o 操作将会涉及到的文件,因此大多数的i o 操作都能在远程节点上完 成,而且在远程节点上可以通过本地访问来访问资料。如果一个系统调用是节点 无关的,此系统调用就会在远程节点上执行,否则就在本地执行。m f s 比其它 网络文件系统优越的地方就是它允许使用本地文件系统,这样就减少了进程和文 件服务器之间的通讯开销。 坌查丛螋终塞灶丕堑! q m 堕2 鲤塞生塞堡 2 5 小结 在以上的网络共享文档系统中,n f s 是最早的实现网络文件共享的文件系 统。n f s 由于简单而成为事实上的工业标准。由于n f s 的采取u n i x 系统特有的 认证系统,服务器端要求有类似u n i x 风格的安全体系而使得服务端的应用范围 不大,并且在n f s 中采用的基于用户认证的安全体系使得文件系统的安全性存在 争议f 1 6 1 。 在以后发展出的几种分布式文件系统中,有些是专属系统的文件系统,例如 v a x c i u s t e r s ,v e s t a 和s o l a r i sm c ,还有些只是试验系统,无法正式应用,例如 a f s 和x f s 。c o d a ,i n t e r m e z z o 和g f s 这三种文件系统作为晟有希望成为当前服 务器上广泛使用的分布式文件系统,被正式纳入l i n u x 核心代码树。 g f s 的中心设计思想是能让近可能多的设备连接到s a n 上。这种特征是基于 硬件和磁盘设备对于d l o c k 协议的支持,因此,构筑一套g f s 的价格通常是非常 昂贵的,这使g f s 得不到广泛使用。 c o d a 和i n t e r m e z z o 文件系统使用的两层的体系结构。这两种文件系统在使 用上都比较简单。由于在内核调用中使用了一些技术,使得性能和安全性都比广 泛使用的n f s 要高。本文所设计的d n f s 文件系统就是以这两种文件系统为基础 而设计的。 3 1 引言 第三章一种新的d n f s 文件系统体系 在分析了现存的各种网络文件系统后,不难发现,在上述几种分布式文件系 统各有其优、缺点。比较而占,c o d a 文件系统是一种高效、低价、容易实现的 网络文件系统。 因为c o d a 文件系统本身是源代码开放的文件系统,它的设计和实施有自己 独特的优点。c o d a 文件系统使用内核级文件系统回调机制,使得在文件存取时, 内核的缓冲能为之所用,相对于不提供缓冲机制的n f s 系统大大提高了存耿速 度,在某些情况下,其性能已经接近于本地文件系统( 1 0 c a lf i l e s y s t e m ) 的水平。 具体情况在4 1 节中将详细介绍。 c o d a 文件系统使用客户端一服务端两层结构。这种结构设计简单,但还不 能达到“零管理”的水平。当有服务器加入或退出时,客户端需要手工修改文件 系统的配置文件才能使客户端对服务器正常存取。这是c o d a 文件系统没有提供 一个独立的管理层所造成的【z ”。本文在c o d a 文件系统的基础上,通过对c o d a 的管理机制加以改进,提出了一个以三层结构为特征的文件系统。 3 2 层次分布 在一般的文件系统中,文件系统通常采用客户端和服务端两层结构。这种 结

温馨提示

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

评论

0/150

提交评论