导读:摘要摘要:随着信息数据的爆炸式增长,为了解决存储共享和数据管理问题,出现了分布式文件系统。介绍当前流行的分布式文件系统,从设计思路、关键技术等方面分析各自特点,并比较其异同。关键词关键词:存储共享;数据管理;分布式文件系统DOIDOI:10.11907/rjdk.151876中图分类号:TP301文献标识码:A文章编号文章编号:16727800(2015)011002703基金项目基金项目:作者简...

摘要摘要:随着信息数据的爆炸式增长,为了解决存储共享和数据管理问题,出现了分布式文件系统。介绍当前流行的分布式文件系统,从设计思路、关键技术等方面分析各自特点,并比较其异同。
关键词关键词:存储共享;数据管理;分布式文件系统
DOIDOI:10.11907/rjdk.151876
中图分类号:TP301
文献标识码:A文章编号文章
编号:16727800(2015)011002703
基金项目基金项目:
作者简介作者简介:文莎(1986-),男,湖南长沙人,硕士,南京政治学院上海校区军事信息管理系助教,研究方向为信息存储。
0引言
在信息爆炸时代,数据呈指数增长,单纯通过增加硬盘个数和依托本地文件系统已无法满足数据信息存储和管理需求。为解决信息存储容量、数据备份、数据安全等问题,人们提出了分布式文件系统的概念。分布式文件系统将固定于某个地点的某个本地文件系统扩展到任意多个地点/多类型文件系统。众多的节点组成一个文件系统网络,每个节点可以分布在不同地点,通过网络进行节点间的通信和数据传输。使用分布式文件系统时,无需关心数据存储在哪个节点上、或者是从哪个节点获取的,像使用本地文件系统一样管理和存储文件系统中的数据。本文将探讨分布式文件系统,并对其关键技术进行分析。
1NFS
NFS不是一个具体的文件系统,它是为实现文件共享提出的一种访问远程文件系统的网络协议。通过NFS,可以发布共享信息,而远程客户像使用本地文件一样访问该共享信息。其基本思想是让客户集和服务器的任何一个集合共享一个公用目录, NFS允许一台计算机既是客户机,又是服务器,当一个服务器输出某个目录时,该目录为根的子目录树同时被输出。另外,当多个客户机同时安装同一个目录时,它们可以通过共享公用目录的文件进行通信。其数据访问流程如图1所示。
NFS将VFS传递的特定NFS文件系统操作翻译成NFS请求。RPC提供了在系统间执行程序调用的方法。它将封送 NFS 请求,并伴有参数,将它们发送到合适的远程对等级,然后管理并追踪响应,提供给合适的请求者。XDR 将数据转换为公共表示,需求通过网络传输给传输层协议。
NFS v4通过基于租赁的同步锁提高了客户端访问的并发性,通过会话语义提高了数据的一致性,通过Kerberos V5和 LIPKEY实现了数据安全访问。但是,NFS 本质上只是在本地文件系统构建一个虚拟远程文件访问层,虽易管理,但难以满足多客户端读写密集型应用环境下的需求。
2AFS
AFS是专门为在大型分布式环境中提供可靠的文件服务而设计的,它将高扩展性和数据安全访问作为设计首要考虑因素。要增强系统可扩展性,首要任务是减轻服务端的负担,AFS的设计思路正是基于此,通过一系列关键技术提供保证。其一,全文件缓存策略。每次操作文件,直接将整个文件从服务器端读取,然后缓存在本地磁盘中,后续操作就在本地执行,从而减少了服务器的很多工作量;其二,使用回调机制来保证客户端缓存到一致性。所谓回调机制就是服务器端主动通知客户端某个文件是否过时,而非客户端轮询地询问服务器端。这样就减少了客户端与服务器端之间的交互,从而减轻了服务器端的负载。同时,由于是全文件缓存,即使在网络状况不理想或者服务器中途重启也不影响AFS文件服务的提供,提高了系统可用性;其三,AFS创建便于管理的带有基于网孔结构的分布式环境。网孔是由特定机构管理的自治区域内文件服务器和客户系统的集合,代表某一组织的计算资源。用户可以很容易地与网孔内其它用户共享信息。根据其它网孔管理机构授予的访问权,用户还可以与这些单元格中的用户共享信息。AFS提供给用户的只是一个完全透明的、永远唯一的逻辑路径,通过这个逻辑路径,用户就像面对一个文件目录一样。
AFS是一种高安全性的文件系统。它通过Kerberos鉴权与访问控制列表的配合为用户提供安全保障。用户使用AFS,首先需要验证身份,只有合法的AFS用户才能访问相应的网孔;其次,用户还需要在保护数据库中读取相应的访问控制列表,以确定它是否有权限读写某个文件。
3Sprite
Sprite分布式文件系统[5]是Sprite网络操作系统的组成部分之一。Sprite分布式文件系统是首个引入日志结构的文件系统,提高了写操作的速度和数据的高可用性,并通过缓存技术降低了日志特性给读操作带来的负面影响。它通过简单的读写锁来保证整个系统缓存的一致性,并且通过和虚拟存储部分交互,并尽量多地缓存数据来提高性能。在打开一个文件和初始化读取后,网络仅仅用于点播,大多数用户服务将针对缓存进行。依托Sprite网络操作系统,Sprite分布式文件系统允许应用程序通过文件系统接口访问远程主机上的I/O设备。
4Farsite
Farsite[6]是一个安全、可扩展的文件系统,其功能逻辑上是集中的文件服务器,而物理上分布于一系列不可信的计算机之间。该系统所面向的机器是校园或者公司的桌面工作站。这些工作站散布在高带宽、低延迟以及网络拓扑结构可以忽略的网络环境中。这些负载具有很高的访问局部性,很低的持续更新率以及经常串行,但同时的文件读写模式较少。预期的机器特性包括很高的故障停止率以及恶意或是碰巧的系统破坏情况。另外,该系统基于的背景是校园以及公司的桌面工作站磁盘空间利用率低,允许存放更多的冗余信息,而且计算速度越来越快。
Farsite通过副本技术、拜占庭容错技术、持续重定位文件副本、缓存保存期限等技术来提高文件的可靠性和可用性;通过加密技术保证文件内容的安全性;目录元数据保存于拜占庭副本状态机器中,而且允许元数据语法增强的专门的加密技术,通过拜占庭容错协议保持文件和目录数据的整体性;通过利用签名和过期的证书来缓存拜占庭操作的授权,达到既要提供拜占庭容错机制又要减小在完全拜占庭协议中的开销的目的;通过使用对路径名事务的分布式的提示机制和代理认证来提供可扩展性;通过本地缓存文件数据、懒散策略传播文件更新以及变换内容租约的持续时间和粒度来保证系统的高性能。
5Shark
Shark分布式文件系统[7]的设计目标是针对实时多媒体应用提供一个可大规模广域部署的环境。通过协作式缓存机制使得互不信任的客户端之间可以利用对方的文件缓存来减少文件原始服务器的负载,提升系统扩展性;通过分布式索引技术使得客户端能够找到邻近节点的数据副本,即使该副本来自于不同的服务器;采用资源预留和优化的调度手段,保证数据实时访问性能;通过加大文件系统数据块的大小,最大限度地发挥磁盘的传输效率;通过将大文件分片存储在多个存储设备中,取得尽量大的并行吞吐率;采用基于租约的缓存机制保持文件一致性,缓存更新只获取更改过的文件数据块,避免了文件部分修改情况下的不必要的数据传输;依托数据块令牌技术,使得不同版本的文件,或者是不同服务器上的文件,客户端也能发现并下载相同的数据块;通过复制文件系统元数据和文件数据克服单点故障,提高系统可用性。当一个客户端从代理下载文件块时,其将与代理协商其它文件块的下载,以重用与代理建立的网络链接,这样就节省了重新连接的开销。Shark使用不透明令牌保证文件共享的安全性:使用文件令牌作为密钥对传输的数据进行对称加密;客户端可通过令牌校验保障数据的完整性;客户端通过提供正确的令牌证明其拥有读授权。
6GPFS
GPFS(通用并行文件系统)[8]是一种高性能、高可扩展、共享磁盘的并行文件系统。它被普遍应用于大规模Linux或 AIX集群系统中,能够为并行应用程序提供高性能的存取访问,同时具有良好的可扩展性,支持PB级数据的存储管理。GPFS采用分片存储将节点内读写操作分布到多个磁盘上,并结合负载均衡、较大的文件系统块、数据预读等方法获得较高的数据吞吐率;采用扩展哈希技术来支持含有大量文件和子目录的大目录,提高文件查找和检索效率;自动在各个节点间同步配置文件和文件系统信息,可以在任一个节点上对整个GPFS进行管理,提高了系统的可管理性;采用节点级独立日志技术,单节点失效时其它节点可以代替失效节点检查文件系统日志进行元数据恢复操作,提高系统数据的可用性;存储设备的热插拔及数据的动态平衡技术可以满足某些高端应用的连续作业需求,有效克服了系统中诸如单个节点失效、网络通信故障、磁盘失效等异常事件,提高了系统的可靠性;通过一套复杂的信令管理机制提供数据一致性;采用不同粒度的分布式锁:用于用户数据的同步及动态选择元数据节点进行元数据集中管理中的字节范围锁以及用于管理整个系统中空间分配具有的集中式线索的分布式锁,解决系统中的并发访问和数据同步问题。
以上就是小编为大家介绍的分布式文件系统综述 的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!
标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。上海建站网对此不承担任何相关连带责任。上海建站网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!