分散式档案系统
相对于本机端的档案系统而言,分散式档案系统(英语: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)等。
透通性
分散式档案系统通常都内建有透通性,让实际上是透过网路来存取档案的动作,由程式与使用者看来,就像是存取本地的磁碟一般。伺服器与储存装置之间的架构多样性与分离性,因此被隐藏了起来。而定位档案在系统中的位置与资料传输的机制,就有赖网路档案系统的设计了。
效能
一个普遍用来量测网路档案系统效能的方式是:它需要用多少时间来完成服务请求?在传统的系统中,完成请求所需要的时间包括了实际的硬碟存取时间,和一小部份的中央处理器处理时间。但在一个网路档案系统中,由于分散式架构的关系,远端存取动作会产生额外的经常性负担,包括:把请求从客户端送到伺服器端的时间、把回应从伺服器端传回客户端的时间、以及这两个传输过程中用来执行网路传输协定的中央处理处时间。一个网路档案系统的效能,可被视为是评估它透通性的一个维度,拿来与本地磁碟进行充分的对比。
同时更新档案
当多个使用者或客户端同时存取并更新同一个档案的时候,并发控制即会成为一个议题。一个客户端对于档案的更新,应该不能干涉另一个客户端对该档案的存取与更新。并发控制或锁定机制可以内建在档案系统中,或是透过扩增协定来提供。
CAP定理
著名的CAP定理指出:在一个分散式资料储存架构中,资料的一致性(Consistency)、可用性(Availability)、和网路分隔的容忍程度(Partition tolerance)只能取二来做最佳化,无法三者兼具。当代的分散式资料储存服务均是各自针对服务的内容和性质来作取舍,很难说有哪一个是通用的最佳解。
参见
参考文件
- ^ Silberschatz, Galvin (1994). Operating System concepts, chapter 17 Distributed file systems. Addison-Wesley Publishing Company. ISBN 0-201-59292-4.
外部链接
- A distributed file system for distributed conferencing system ("A DFS for the DCS") by Philip S Yeager, Thesis, University of Florida, 2003.(pdf)