跳至主要内容

NFS 和 SMB 之间有什么区别?

NFS 和 SMB 之间有什么区别?

网络文件系统(NFS)和服务器消息块(SMB)是用于通过网络上客户端与服务器之间进行高效文件共享的文件访问存储协议或规则。有效沟通、协作和共享文件的能力对于任何组织的日常运营都至关重要。使用 NFS,用户(或客户端设备)可以连接到网络服务器并访问服务器上的文件。该系统具有允许多个用户共享同一个文件而不会发生数据冲突的规则。同样,SMB 还允许用户读取服务器上的文件。NFS 原生用于 Linux,而 SMB 原生用于 Windows。Windows 现在也默认支持 NFS,Linux 通过 Samba 支持 SMB。使用 NFS 和 SMB 时,客户端都可以像访问本地文件一样访问远程网络设备文件。

什么是 NFS,它如何运作?

网络文件系统(NFS)协议由 Sun Microsystems 于 1984 年创建,是基于 Unix 的系统的无状态文件共享协议。此后,NFS 经历了多次更新,包括在 NFS 第 4 版中转变为有状态协议。最新版本的 NFS 是 NFSv4.2,它是由互联网工程任务组的一个工作小组开发的。它增加了服务器端复制、稀疏文件支持和应用数据块等功能。NFS 在 Linux 用户中仍然很受欢迎。

以下是启用 NFS 的客户端与 NFS 服务器之间的通信方式。

  1. 首先,客户端使用远程过程调用(RPC)向服务器请求文件或目录。
  2. 然后,服务器会检查以下内容:
    • 文件或目录可用
    • 客户端具有所需的访问权限
  3. 然后,服务器将文件或目录远程安装在客户端上,并通过虚拟连接共享访问权限。

对于客户端,NFS 像在操作期间访问本地文件一样使用远程服务器文件。

除其他功能外,NFS 客户端还可以缓存文件以提高访问速度,锁定多台计算机尝试同时写入的同一个文件,并提供同步的文件属性更新。

什么是 SMB,它如何运作?

自首次开发服务器消息块(SMB)协议以来,已经经历了几次不同的迭代。它由 IBM 的 Barry Feigenbaum 于 1983 年发布,适用于 DOS 操作系统,即 Windows 的前身。通过与 Windows 产品套件深度集成,SMB 仍然作为 Windows 操作系统的默认文件共享协议。

SMB 的当前版本是 SMB 3.1.1,过去的版本包括 SMB 1.0、SMB 2.0、SMB 2.1、SMB 3.0 和 SMB 3.0.2。SMB 1.0 的更名版本称为 CIFS(通用互联网文件系统),文献中有时会提到,但它已被弃用,且未安装在现代基础设施中。在开发中应使用最新版本的 SMB,或在可能的情况下升级传统架构中的版本。

客户端-服务器通信过程在高层面上与 NFS 类似。SMB 和 NFS 之间的差异在于更细的细节和操作机制。例如,在 SMB 中,文件系统不安装在本地 SMB 客户端,而是通过网络路径访问托管在 SMB 服务器上的网络共享。

SMB 和 NFS 之间的相似之处

服务器消息块(SMB)和网络文件系统(NFS)协议都采用客户端-服务器模式运行,在这种模式下,文件在远程服务器上共享并由本地客户端使用。一旦协议设置正确,访问服务器上的远程网络文件和目录就会像访问客户端计算机文件系统上的本地文件和目录一样。

以下是 SMB 和 NFS 之间的其他相似之处:

  • 两者都允许客户端对服务器上的文件和目录执行创建、读取、更新和删除(CRUD)操作。
  • 您可以在多个操作系统上使用它们。这包括每个主流操作系统:Windows 环境和 Linux 环境。
  • SMB 和 NFS 通常用于传统网络环境,尤其是在本地基础设施中。

主要区别:NFS 与SMB

网络文件系统(NFS)和服务器消息块(SMB)在操作细节上有一些差异。

原创设计

尽管 NFS 和 SMB 都可以跨操作系统使用,但 SMB 协议是 Windows 原生文件共享的默认协议。Windows 功能是围绕 SMB 构建的。您需要 Samba 等工具才能在 Linux 计算机上使用 SMB 来访问远程 Windows 服务器文件。

相比之下,NFS 协议是专门为 Unix 系统设计的。它是大多数 Linux 发行版中的原生文件共享协议,也是默认的文件传输协议。NFS 现在也内置于 Windows 中。

共享资源

SMB 的构建使您可以共享一系列网络资源,包括原生文件共享、打印共享和命名管道。SMB 还支持虚拟机存储。

这与 NFS 形成对比,NFS 原生支持共享文件和目录,但不支持打印机。NFS 还通过其他方法在各种环境中支持 VM 存储。

性能开销

SMB 包含可选功能,如加密和签名,启用时可能引入开销。

NFS 协议开销较低,根据版本、配置和工作负载,在大文件传输中可能更高效。

何时使用:NFS 与SMB

通常,网络文件系统(NFS)和服务器消息块(SMB)用于创建和管理具有同构操作系统环境的局域网(LAN)。在这些环境中,需要像访问本地文件一样访问共享存储。NFS 和 SMB 还用于传统的远距离联网环境,以及通过网关在混合云环境中使用。

SMB 文件共享

如果要在 LAN 中设置网络附属存储(NAS),那么 SMB 是在搭载 Windows、Mac 和 Linux 操作系统的网络中共享和访问文件最简单的选择。

以下是其他常见使用案例:

  • 基于 Windows 的局域网,适用于多台客户端计算机需要共享存储的组织
  • 需要对打印机原生支持的高级共享操作

了解 NAS »

NFS 文件共享

可以将 NFS 用于以下场景:

  • 您有一个本地网络连接,主要基于 Unix 的计算机(包括基于 Linux 的环境)都在该网络中
  • 需要大型顺序文件访问的工作流

关于云存储架构的说明

值得注意的是,在基于云的文件存储和共享架构中,SMB 和 NFS 可能不是主要的面向用户的文件共享协议。

云存储提供商使用专有系统来管理其内部配置,尽管它们在底层通常基于 SMB 或 NFS。提供商提供兼容性服务,允许现有或新的 NFS 和 SMB 系统与其云存储产品和服务互操作。

实施挑战:NFS 与SMB

服务器消息块(SMB)和网络文件系统(NFS)都需要在服务器和客户端计算机上进行配置才能正常运行。它们不是开箱即用的。必须在客户端计算机和服务器上正确配置访问权限和基于用户的身份验证系统。当客户端和服务器之间的操作系统类型不匹配时,可能需要额外的配置或软件。

配置 NFS 和 SMB 通常是系统管理员或网络管理员的工作。该任务需要了解协议的安全考虑因素,以确保安全操作和最佳效率。如果发布了新版本的 SMB 或 NFS,管理员必须根据需要升级系统和配置。

在基于云的文件存储架构中,许多组织使用现代的、完全托管的解决方案来共享文件,而不是 SMB 或 NFS 所需的自助式方法。这些解决方案在某种程度上使用 NFS 或 SMB,但管理员不再需要考虑管理中的复杂性。

这些解决方案通常提供了其他功能,可通过用户友好界面访问这些功能。例如,它们可能提供了自动身份验证系统、弹性存储管理、与其他云服务的自动集成以及高级安全控制。

AWS Storage Gateway 文件网关架构,通过 HTTPS 将本地 NFS 和 SMB 存储连接到 AWS Storage Gateway 服务和 Amazon S3

差异摘要:NFS 与SMB

 

NFS

SMB

是什么?

网络文件系统

服务器消息块

最适合

基于 Linux 的网络架构

基于 Windows 的架构

共享资源

广泛的网络资源,包括文件和存储设备,以及虚拟机存储。

广泛的网络资源,包括文件和存储设备,以及虚拟机存储。打印机服务经过明确定义

性能开销

较低,取决于版本、配置和工作负载

启用附加功能时较高

AWS 如何支持您的远程文件共享需求?

Amazon Web Services(AWS)针对服务器消息块(SMB)支持、网络文件系统(NFS)支持和其他远程访问需求提供一系列服务。

如果您已有自定义本地文件存储系统,则可以使用 AWS Storage Gateway 将其连接到基于云的存储,从而在混合云解决方案中实现无限存储和效率。与 Amazon S3 相结合,可以共享基于 SMB 或 NFS 的本地存储,同时以低延迟高效访问您的云服务和存储。有关更多信息,请阅读如何使用自定义配置创建 SMB 文件共享。

如果您想将 SMB 或 NFS 服务器迁移到云端以降低运营开销、利用弹性扩展或提高可用性,可以使用 Amazon FSx 来实现。Amazon FSx 与 NetApp 的 ONTAP、Windows 文件服务器、Lustre 和 OpenZFS 兼容。

对于现代文件共享服务,Amazon Elastic File System(EFS)是一种无服务器、完全弹性、完全托管的 NFS 文件存储解决方案。使用 Amazon EFS,您可以将网络文件系统挂载到 Amazon EC2 实例、Amazon Elastic Container Service (ECS) 或 Amazon Elastic Kubernetes Service (EKS) 容器、AWS Lambda 函数或本地服务器上。Amazon EFS 专为在现代 AWS 云和混合架构之间轻松实现弹性文件存储和共享而设计。

立即创建免费账户,开始在 AWS 上进行文件共享。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages