我有一些不太清楚的理论问题,所以如果有人能解释我将不胜感激,这与文件系统有关。
我想问的是,在分布式系统中,如果我们有由目录服务和平面文件服务构成的文件服务,然后我们有一些客户端模块通过它们导出的接口(通过 RPC)访问它们。那么客户端模块实现的功能就像在 UNIX 中一样,但平面文件和目录服务没有类似 UNIX 的“打开”或“关闭”操作?但可以通过引用 UFID 立即访问文件吗?(我认为是这样的,要求确认并说明为什么这样。)
当谈论分布式文件系统时,是什么使得 AFS 比 NFS 更具可扩展性?
答案1
“目录服务”这个术语可能在这里引起了一些问题。你可能的意思是分布式文件系统通常由元数据组件,存储目录和文件元数据信息,以及文件访问服务,启用对数据的读写访问。几乎所有 DFS 都存在差异,但在以下系统中非常明显:头孢他啶或 pNFS。
答案是:视情况而定。 在 NFS 上,如果您之前已获得文件句柄(类似于 inode),则应该可以直接访问文件。NFS 在服务器协议中没有打开或关闭,因为它在设计上尽可能无状态。在有状态的 DFS 系统中,情况可能会有所不同。特别是如果安全性由元数据服务器 (MDS) 处理。
关于 AFS 与 NFS 的问题? NFS 具有很好的可扩展性。看看 NetApp 或 Isilon NAS 系统,它们可以扩展到多个 PB。我还没有听说过 AFS 系统能达到这个水平。虽然 AFS 的缓存功能对于个人主目录领域的 DFS 来说非常好,但它们并不适合多媒体数据或数据库。无状态 NFS 设计使其更容易扩展。
PS 我仍然不明白为什么这个问题被迁移到 serverfault.com。我理解这个问题是一个文件系统设计问题,这是 stackoverflow 的事情。为什么人们要迁移与文件系统相关的所有内容?PPS 抱歉,可以在这里指出一些有用的网站,因为 serverfault.com 只允许新用户使用单个超链接。
答案2
NFS 3 之前的版本安全性很差。NFS4 提供了更好的安全性,但在 Sun 商店之外,业界接受度并不高。AFS 提供了内置的 kerberos,这在大学环境中已经很流行,因此非常适合。
无论选择哪种技术,当您实施安全的分布式文件系统时,都会大大增加所需管理的复杂性。因此,NFS3 比 Samba 或 Windows Server 容易得多,但安全性也差得多。