版权归原作者所有,如有侵权,请联系我们

[科普中国]-分布式档案系统

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

相对于本机端的文件系统而言,分布式文件系统(英语:Distributed file system, DFS),或是网上文件系统(英语:Network File System),是一种允许文件透过网上在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。

简介在这样的文件系统中,客户端并非直接访问底层的数据存储区块,而是透过网上,以特定的通信协议和服务器沟通。借由通信协议的设计,可以让客户端和服务端都能根据访问控制清单或是授权,来限制对于文件系统的访问。

相对地,在一个分享的磁盘文件系统中,所有节点对数据存储区块都有相同的访问权,在这样的系统中,访问权限就必须由客户端程序来控制。

分布式文件系统可能包含的功能有:透通的数据复制与容错。也就是说,即使系统中有一小部分的节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。

分布式文件系统和分布式数据存储的界线是模糊的,但一般来说,分布式文件系统是被设计用在局域网,比较强调的是传统文件系统概念的延伸,并透过软件方法来达成容错。而分布式数据存储,则是泛指应用分布式运算技术的文件和数据库等提供数据存储服务的系统。1

历史第一个文件服务器在1970年代被发展出来。在1976年迪吉多公司设计出File Access Listener(FAL)做为第二代DECnet的一部分。这个系统实现了Data Access Protocol,是第一个被广为使用的网上文件系统。在1985年太阳微系统创建了网上文件系统(Network File System,NFS),这是第一个基于网际协议(Internet Protocol)而被广泛使用的网上文件系统。在相关技术的演进过程中,其他值得一提的网上文件系统还有安德鲁文件系统(AFS)、Apple Filing Protocol(AFP)、NetWare核心协议(NCP)、和一般被称为网上文件共享系统(CIFS)的服务器消息块(Server Message Block,SMB)等。2

透通性分布式文件系统通常都内置有透通性,让实际上是透过网上来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。服务器与存储设备之间的架构多样性与分离性,因此被隐藏了起来。而定位文件在系统中的位置与数据传输的机制,就有赖网上文件系统的设计了。1

性能一个普遍用来量测网上文件系统性能的方式是:它需要用多少时间来完成服务请求?在传统的系统中,完成请求所需要的时间包括了实际的硬盘访问时间,和一小部分的中央处理器处理时间。但在一个网上文件系统中,由于分布式架构的关系,远程访问动作会产生额外的经常性负担,包括:把请求从客户端送到服务端的时间、把回应从服务端传回客户端的时间、以及这两个传输过程中用来运行网上传输协议的中央处理处时间。一个网上文件系统的性能,可被视为是评估它透通性的一个维度,拿来与本地磁盘进行充分的对比。2

同时更新文件当多个用户或客户端同时访问并更新同一个文件的时候,并发控制即会成为一个议题。一个客户端对于文件的更新,应该不能干涉另一个客户端对该文件的访问与更新。并发控制或锁定机制可以内置在文件系统中,或是透过扩增协议来提供。1

CAP定理著名的CAP定理指出:在一个分布式数据存储架构中,数据的一致性(Consistency)、可用性(Availability)、和网上分隔的容忍程度(Partition tolerance)只能取二来做最优化,无法三者兼具。当代的分布式数据存储服务均是各自针对服务的内容和性质来作取舍,很难说有哪一个是通用的最佳解。2

本词条内容贡献者为:

张磊 - 副教授 - 西南大学