NFS 常用于 Linux 服务器之间共享目录。客户端把远端服务器导出的目录挂载到本地路径后,就可以像访问本地目录一样读写远端文件。
本文根据一次挂载记录整理 NFS 的基本操作,并补充服务端配置、客户端挂载、验证方法和常见问题。
原文发布时间:2023-07-28 14:46:34原文链接:https://blog.csdn.net/weixin_45833902/article/details/107628709
一、场景说明
原文场景中,需要挂载一台服务器上的 NFS 共享目录,远端服务器示例为:
本地挂载目录示例为:
原文截图中还有一条 CIFS 挂载命令,用于挂载 Windows/SMB 共享目录;另一条是 NFS 挂载命令。实际使用时要先分清共享协议:
- NFS:常见于 Linux/Unix 之间共享目录。
- CIFS/SMB:常见于 Windows 共享目录,Linux 通过
cifs-utils 挂载。
二、原文截图中的挂载示例
截图中包含 CIFS 挂载示例,原图里 IP 和密码已经做了遮挡:
对应命令结构可以理解为:
mount -t cifs //<Windows或SMB服务器IP>/beahome/beahome/attachments /beahome/attachments -o user=<用户名>,password=<密码>
NFS 挂载示例截图如下:
对应命令结构为:
mount <NFS服务器IP>:/beahome/zycheckfile /zycheckfile
例如:
mount 10.xx.xx.154:/beahome/zycheckfile /zycheckfile
三、NFS 服务端配置检查
如果你维护的是 NFS 服务端,需要先确认 NFS 已安装并启动。
CentOS、Red Hat、Oracle Linux 常用命令:
yum install nfs-utils -ysystemctl enable nfs-serversystemctl start nfs-server
查看服务状态:
systemctl status nfs-server
配置导出目录:
示例:
/beahome/zycheckfile 10.xx.xx.0/24(rw,sync,no_root_squash)
让配置生效:
查看当前导出目录:
四、NFS 客户端挂载步骤
客户端先创建本地挂载目录:
安装 NFS 客户端工具:
查看服务端导出的目录:
showmount -e 10.xx.xx.154
执行挂载:
mount 10.xx.xx.154:/beahome/zycheckfile /zycheckfile
五、验证挂载结果
查看挂载信息:
或:
进入目录检查文件:
如果能看到服务端共享目录中的文件,说明挂载成功。
六、配置开机自动挂载
如果需要重启后自动挂载,可以写入 /etc/fstab:
添加示例:
10.xx.xx.154:/beahome/zycheckfile /zycheckfile nfs defaults,_netdev 0 0
保存后先测试:
如果没有报错,再用 df -h 查看是否挂载成功。
七、常见问题
1. showmount 看不到导出目录
检查服务端 /etc/exports 是否配置正确,并执行:
同时确认 NFS 服务是否启动。
2. mount 报权限错误
检查 /etc/exports 中允许访问的客户端网段或 IP 是否包含当前客户端。
例如只允许 10.xx.xx.0/24 网段访问,如果客户端不在这个网段,就会失败。
3. 防火墙导致无法挂载
可以先检查防火墙状态:
systemctl status firewalld
测试环境可临时关闭验证:
生产环境不建议直接关闭防火墙,应按规范放通 NFS 相关端口。
4. CIFS 和 NFS 命令不要混用
CIFS 的命令通常类似:
mount -t cifs //<服务器IP>/<共享名> <本地目录> -o user=<用户名>,password=<密码>
NFS 的命令通常类似:
mount <服务器IP>:<远端目录> <本地目录>
两者协议不同,依赖的软件包和权限配置也不同。
总结
NFS 挂载的核心步骤是:
- 使用
mount NFS服务器IP:远端目录 本地目录 挂载。
如果看到类似 CIFS 的 mount -t cifs 命令,需要确认实际共享来源是不是 Windows/SMB。NFS 和 CIFS 都能实现远程目录挂载,但配置方式完全不同,排查时不要混在一起看。