分布式文件系统是分布式系统的基石,本文从较上层的高度对常见的三个分布式文件系统:NFS、AFS和HDFS进行介绍。
分布式文件系统有两大模式:
1) Remote Access Model.
在这种模式下,非本地文件不会复制到本地,所以对非本地文件的读取和修改,利用RPC进行。利用这种模式,可以减少对consistency的考虑(适用于对consistency要求高的场合),从而实现POSIX的要求:Strict one copy semantics. 这个标准又称为UNIX semantic:每次每个client读到的必须是最新的值。
NFS (Network File System)和HDFS用的都是这种模式。
2) Upload/ Download Model.
AFS(Andrew File System)用的是这种模式。所有非本地文件无论在读取还是修改,都首先会复制到本地。如果在本地进行了修改,则会在关闭了本地的文件后,更新服务器的文件。同时,通知其它的client,它们的文件不再是最新的。这种模式下,用的是session semantics: 不保证client读到的最新值。因为在修改文件内容的client关闭文件前,服务器是不会收到更新的内容的,也不会通知其它的client他们本地的文件已经过时了。
N