文件系统 – 理论

我有一些我不清楚的理论问题,所以如果有人能解释我会非常感激,这与文件系统有关。

在分布式系统中,我想问的是,如果我们有一个由目录服务和一个平面文件服务构成的文件服务,然后我们有一些客户端模块通过它们导出的接口(通过RPC)访问它们。 因此,客户端模块实现了像UNIX一样的function,但是平面文件和目录服务没有类UNIX的“打开”或“closures”操作? 但是可以通过引用UFID立即获取文件? (我想是这样,要求确认,为什么它是这样的。)

而在谈到分布式文件系统时,是什么使得AFS比NFS更具扩展性呢?

术语“目录服务”可能在这里引起一些问题。 您可能意指的是分布式文件系统通常由元数据组件 ,存储目录和文件元数据信息以及文件访问服务组成 ,这些文件访问服务启用对数据的读取和写入访问。 差不多所有的DFS都存在,但是在CEPH或pNFS这样的系统中却很明显。

答案是:这取决于。 在NFS上,如果你之前获得了一个文件句柄(类似于inode),应该可以直接访问文件。 NFS在服务器协议中没有打开或closures,因为它在devise上尽可能没有状态。 在有状态的DFS系统中,这可能是不同的。 特别是如果安全性由元数据服务器(MDS)处理的话。

而对于AFS vs. NFS的问题呢? NFS非常具有伸缩性。 看看NetApp或Isilon NAS系统,扩展到多个PB。 我还没有听说过任何附近的AFS系统。 虽然AFS的caching方面对个人主目录领域的DFS非常有用,但它们不适合用于多媒体数据或数据库。 无状态的NFSdevise使其更容易扩展。

PS我仍然不明白为什么这个问题被迁移到serverfault.com。 我理解这个问题是一个文件系统devise问题,这是一个stackoverflow的东西。 为什么人们迁移与文件系统有关的所有东西? PPS对不起,在这里可以指向一些有用的网站,因为serverfault.com只允许一个新的用户超链接。

NFS到NFS3的安全性很差。 NFS4提供更好的安全性,但在Sun商店之外没有太多的行业认可。 AFS提供内置的kerberos,这在大学环境中已经很stream行,因此非常适合。

无论您select哪种技术,在实施安全的分布式文件系统时,都会大大增加所需pipe理的复杂性。 由于这个原因,NFS3比Samba或Windows Server要容易得多,安全性也要差得多。