显然,我的一些同行今天正在谈论它,我想知道这个文件系统有何特别之处,使其成为许多分布式文件系统背后的选择,而不是现有的许多其他文件系统。
答案1
原因主要是历史和务实的,可以追溯到 20 世纪 80 年代和 90 年代的现有技术,当时分布式系统架构的大部分工作正在完成:
NFS 是一个开放标准,几乎所有 20 世纪 80 年代后期构建的 UNIX 系统都支持 NFS。
Unix 和 NFS 是 20 世纪 80 年代至 90 年代的现行标准,当时催生这项技术的许多分布式系统研究正在进行中。您还可以从供应商处获得源许可证。 Linux 直到 20 世纪 90 年代中期才拥有强大的网络堆栈,而 BSD unix 当时也陷入了 IP 诉讼问题的泥潭。直到 20 世纪 90 年代后半叶,商用硬件上的类 Unix 系统才真正成为成熟的平台。
NFS 比 CIFS 简单一个数量级,并且该标准有完整的文档记录。这使得它更容易实施。
尽管 SMB 最初是一个标准,但 Windows 使用的 Microsoft 方言充满了专有扩展,并且没有完整的文档记录。
PC 网络主要基于 NetBeui 或 IPX 等专有协议。 DOS 没有内置网络支持。 Windows 根本不支持网络,直到 1993 年 WFW 出现,并且直到 Windows 95 才提供 IP 堆栈。IPX 上的 Netware 或 NetBeui 上的 SMB 是 PC 世界的现行标准,直到 MS 推出 Windows 2000。
Unix 比 Windows 更容易编写系统软件。 Windows 理所当然地被认为是一个不稳定的玩具,直到 Windows 2000,这可以说是第一个真正稳定的版本(您可以从 SP4 开始为 NT4 做这种情况,但直到 1998 年下半年才出现)。
其他任何东西(例如 SNA 或 DecNet)都是专有的,并且通常依赖于比 Sun 工作站更昂贵的硬件。
据我所知,Unix 供应商几乎从未对文件服务器上的客户端访问许可证收费。 PC unix 供应商(例如 SCO 或 ISC)倾向于仅销售 2 个用户(“工作站”)或无限用户许可证。 Sun、DEC 或 SGI 等硬件供应商靠硬件赚钱。
Unix 供应商倾向于向学术用户提供大幅(40-50%)折扣,以鼓励他们继续使用。
许多大学校园已经是现有基于 IP 的网络基础设施的客户。 IP(以及 NFS)可以通过现有的网络基础设施进行路由,而对于 Novell 和 Microsoft 等“廉价”的新近出现的供应商来说,情况不一定如此(例如,IPX 的早期版本不支持路由,并且仅限于一个连续的网络。)在 1990 年,路由器比 NetBeui 或 IPX 更有可能支持 IP 和 LAT(一种 DEC 传输协议)。
在操作上,NFS/NIS 比 AD/CIFS 更容易实施和维护。中等负载的 NFS/NIS 服务器设置几乎是一劳永逸的,除非磁盘空间耗尽或发生同样严重的情况。它也是相当惯用的 unix-y,并且可以很好地与基于 Unix 的网络基础设施配合使用。改进对 UNIX 系统的 AD/SMB 支持也比改进对 Windows 服务器的 NFS/NIS 支持容易得多。
最终结果是,在 1995-2000 年之前,使用 IP 和 NFS 比几乎任何其他可用协议都要容易得多。如果你问一位老 Unix 极客,他们可能会认为这个时代是系统软件的黄金时代。
答案2
原因有多种,包括 NFS 良好的性能和设计,但主要原因可能是大多数(如果不是全部)其他分布式文件系统都是专有的,并且实现它们需要对其协议进行逆向工程。相反,NFS 规范由 Sun Microsystems 免费提供给任何想要支持它们的人(https://www.rfc-editor.org/rfc/rfc1094)导致该文件系统在很大程度上主导了该领域。 NFS 也经历了几次显着的发展以适应新的需求。
答案3
可能是因为 NFS 使用起来非常简单,即使它不是最安全的(无需额外的设置和工作)。安装 NFS,将目录添加到 /etc/exports,exportfs -ra
然后就完成了。
不过,我自己更倾向于使用 samba,而不是 NFS,并且我想在必须与 Windows 打交道的环境中,samba 的使用会更多。