
互联网发展至今,「云存储」已经成为人们存储和分享文件的主流方式之一。但在局域网中,「本地文件共享」的核心地位依然不可撼动——毕竟谁也不会疯狂到把数据搞到公有云中去流转一大圈。
无论你是折腾 Homelab,还是手搓一台 NAS,都绕不开 2 大主流的本地文件共享协议——NFS 与 SMB。它们的功能殊途同归,但实现方式却大相径庭。
简单来说:NFS 的速度要远超于 SMB。在某些密集读写场景下,两者的性能差距甚至可以用「天壤之别」来形容。 但 NFS 的速度优势并非没有代价——它的初始配置,复杂得让人望而却步。可一旦配成功,在合适场景下,所带来的体验提升也是颠覆性的。
01. NFS 与 SMB 协议解析
1.1 NFS:网络文件系统
网络文件系统(Network File System,NFS)是一种经典的分布式文件系统协议,它基于 C/S(客户端/服务器)架构,最初是为 Unix 系统间的共享文件而生。其核心理念也很简单:让你能像操作本地文件一样,访问远程主机上的内容。
- 比如,你可以直接用
cp
、rm
、ls
这些熟悉的命令,对远程目录进行读写、重命名、修改权限等操作——就像在你硬盘里一样。 - NFS 软件包通常会包含所需的守护进程、客户端工具和网络信息服务(Network Information Service,NIS)。但需要注意:NFS 和 NIS 是独立的服务,即使一起安装,也必须分别配置和管理。
1.2 NFS 的工作原理
- 服务端导出:服务器运行 NFS 服务,将指定目录「导出」到网络中,暴露成可访问的资源。
- 权限管控:由管理员决定哪些客户端可访问哪些路径,并设置访问规则,比如只读、写入、IP 白名单等。
- 客户端挂载:客户端通过
mount
命令,将远程目录「挂载」到本地文件系统的某个路径下,然后像访本地硬盘一样操作。

整个过程,不依靠图形界面,而是命令行和配置文件——这是它的专业,也是它的门槛。
1.3 SMB:服务器消息块
服务器消息块(Server Message Block,SMB)是一种「请求-响应」模式的应用层协议,通过底层 TCP/IP 协议栈来传输数据。它不只用于文件共享,还支持打印机共享、命名管道、进程间通信(IPC)等。
- 你可以用 SMB 在远程服务器上读取、写入或修改文件,应用程序无需感知数据来源是本地还是远程。
- 它也是微软分布式文件系统(DFS)的基石,广泛内置于 Windows 系统中,也深度支持 macOS 和 Linux(通过 Samba 实现)。
1.4 SMB 的工作原理
- 建立连接:客户端向服务器发送连接请求,如 NetBIOS 或直接
TCP 445
端口。 - 身份认证:服务器验证凭据,比如用户名/密码或域凭据,决定是否允许接入。
- 会话建立:认证成功后,双方建立会话通道,开始文件操作请求与响应。

整个过程对用户高度抽象。你只需要输入账号和密码,剩下的,系统会自动处理。
02. 为什么 NFS 比 SMB 速度快?
2.1 NFS 的快,源于「少即是多」
- NFS 协议:更轻量,抽象层级更少,数据路径更直接。最关键的是:NFS 深度集成在 Linux 内核中,数据无需在内核空间与用户空间之间来回切换——就像汽车直接开在高速公路上。
- SMB 协议:即使在 Linux 上通过 Samba 实现,仍然运行在用户态。每一次读写,都要经过多次上下文切换,消耗额外的 CPU 和内存资源。就像汽车需要不断进出收费站,哪怕 ETC 只消耗几秒,但积少成多,效率自然也就更拉胯。
2.2 NFS 是「特权阶层」的专利
- NFS 的权限系统依赖 UID 和 GID:如果客户端和服务器之间的 ID 映射不一致,比如一台机器的用户
zhangsan
是 UID 1001,另一台却是 UID 1005——权限就会彻底错乱,文件要么看不了,要么改不了。你需要手动维护一份映射表,还得确保在所有设备同步。这对普通用户而言,堪称一大挑战。 - SMB 采用「用户名+密码」验证:底层 ID 由系统自动处理。你无需关心谁是 UID 1001,只需输入
user:password
就行。往图形界面中一填,就能轻松搞定,使用门槛极低。
03. NFS 与 SMB:该如何选择?
在统一的局域网环境里,NFS 和 SMB 都能让你把远程存储当作本地硬盘来使用。甚至借助网关或代理,它们也能延伸到广域网、混合云架构——但那属于进阶玩法。
3.1 什么时候选 SMB?
当你的环境「混合复杂」,你又只追求便利时,SMB 是首选:
- 你的网络里有 Windows 电脑,尤其是 Homelab 和家庭办公场景;
- 你需要文件锁定、加密传输、访问审计等高级功能;
- 需要在 Mac 和 Linux 之间无缝共享,又不想折腾配置;
- 你在用群晖、威联通这类消费级 NAS,或者手搓飞牛 OS,它们默认开的就是 SMB 共享。
SMB 是「拿来就能用」的解决方案,尤其对非技术型用户,它是非常可靠的选择。
相关阅读:Windows 11 文件夹共享指南
3.2 什么时候选 NFS?
当你追求极致性能,而且环境「纯净可控」时,NFS 更值得投入:
- 本地网络中的所有设备都是 Linux(或 Unix 系统),如服务器、工作站、树莓派集群;
- 需要处理大型文件:4K 视频剪辑、科学计算、虚拟机镜像存储等;
- 你在搭建 Homelab,愿意花时间调优,追求每一 MB/s 的提升。
- 你在使用 Unraid、TrueNAS Core 等专业级系统,还熟悉命令行 👍。
NFS 没有 GUI,但它给你的是「性能自由」。在特定环境下,它能快到让你忘记「网络」这一层的存在。
04. NFS 与 SMB 的核心差异对比
特性 | 网络文件系统(NFS) | 服务器消息块(SMB) |
---|---|---|
定义 | 分布式文件系统,让远程文件像本地一样访问 | 网络文件共享协议,支持文件、打印、IPC 访问 |
文件锁定 | 建议性锁定(Advisory locking),不强制执行 | 强制性锁定(Mandatory locking),系统强制阻断冲突 |
性能 | 在高带宽、低延迟局域网中,明显要更快 | 表现稳定,但因协议开销略慢于 NFS |
许可证 | 开源,免费使用 | 专有协议,Samba 实现免费,但 Windows 要收费 😅 |
安全性 | 默认无加密,依赖主机认证和防火墙 | 支持 SMB3 加密、Kerberos 认证、NTLM 等现代化安全机制 |
最佳应用环境 | 所有设备是 Linux/Unix 的统一环境 | 混合操作系统环境,尤其是有 Windows 系统的网络 |
最新评论
这里最后一个其实是需要你允许一个上传个人信息的权限的,这里没有说。不装了,有隐患。
博通收购的vmware是这样的😂
什么意思呀,如何选择散热方式呢?
我的ltsc用遍了办法,这个终于成功了