一、快速上手 NFS 之前先明确环境

原始笔记给出的实验环境很典型:

环境 主机 说明
NFS 服务端 nfs01 提供共享目录
NFS 客户端 gitlab-01 通过挂载使用共享目录

这类一主一从的结构非常适合用来理解 NFS 的基本工作方式。

二、NFS 服务端怎么部署

2.1 安装 rpcbindnfs-utils

在服务端上安装:

yum -y install rpcbind nfs-utils

原始笔记中也同时在客户端安装了这两个包,便于后续挂载测试。

2.2 启动服务

在服务端上执行:

systemctl enable rpcbind && systemctl start rpcbind
systemctl enable nfs-server && systemctl start nfs-server

其中:

  • rpcbind 负责端口注册与查询
  • nfs-server 负责真正提供共享目录

2.3 用 rpcinfo -p 验证服务状态

rpcinfo -p

这条命令可以显示当前系统中正在运行的 RPC 程序信息,是检查 NFS 环境是否起来的重要命令之一。

三、如何创建共享目录并导出

3.1 创建共享目录

原始笔记的示例是:

mkdir -p /data/
chmod 666 /data/

这里的 /data/ 就是后续客户端要挂载的远端目录入口。

3.2 配置 /etc/exports

服务端配置示例如下:

/data/ 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

这行配置包含两部分:

  • 共享目录:/data/
  • 允许访问的网段和选项:192.168.1.0/24(...)

3.3 让配置生效

原始笔记给出的做法是:

exportfs -r
systemctl reload nfs-server

这两步分别用于:

  • 重新导出配置
  • 让 NFS 服务重新加载

四、客户端如何挂载 NFS

4.1 客户端同样安装依赖

yum -y install rpcbind nfs-utils

4.2 先用 showmount 验证共享目录

showmount -e 192.168.1.66

如果输出中看到了:

/data  192.168.1.0/24

就说明服务端共享目录已经被正确导出。

4.3 创建挂载目录并执行挂载

mkdir /upload/
mount -t nfs 192.168.1.66:/data/ /upload/

挂载完成后,客户端就可以像访问本地目录一样使用 /upload/

4.4 用 df -h 验证挂载结果

df -h /upload/

如果输出里看到远端 192.168.1.66:/data 已经挂载到 /upload,说明客户端挂载成功。

五、NFS 相关文件要记住哪些

原始笔记把 NFS 服务端和客户端常见文件整理得很清楚。

5.1 服务端相关文件

  • 配置文件:/etc/exports
  • 当前生效配置:/var/lib/nfs/etab

这意味着:

  • 你写配置主要看 /etc/exports
  • 你看当前实际导出状态时,可以结合 etab

5.2 客户端相关信息

客户端挂载相关的持久化方式和当前状态分别包括:

  • /etc/rc.local
  • /etc/fstab
  • /proc/mounts

其中:

  • rc.localfstab 适合写永久挂载
  • /proc/mounts 可以看当前系统实际挂载情况

六、如何做 NFS 客户端永久挂载

原始笔记给出了两种常见方式。

6.1 写入 /etc/rc.local

echo "mount -t nfs 192.168.1.66:/data/ /upload/" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

6.2 写入 /etc/fstab

vim /etc/fstab
192.168.1.66:/data/ /upload/ nfs defaults 0 0

这两种方式都可以实现开机自动挂载。

6.3 永久挂载时要注意什么

原始笔记特别提醒了一点:

  • 如果配置了客户端永久挂载,将来一定要优先启动 NFS 服务端

否则客户端开机时可能会因为远端服务未就绪而出现挂载失败甚至卡顿问题。

七、NFS 挂载失败时先查哪里

原始笔记给了一个非常实用的小结:

  • 服务端核心配置看 /etc/exports
  • 客户端永久挂载方式要会
  • 如果客户端挂载与使用失败,df -h 卡住时,要去看 /proc/mounts

这也是 NFS 排障时一个非常典型的方向:

  • 先看服务端是否导出
  • 再看客户端是否挂上
  • 再看当前挂载状态是否异常

八、小结

第一次学 NFS,不需要一开始就把所有配置选项都背下来,先把最基本的链路跑通即可:

1、安装 rpcbindnfs-utils 2、启动服务端 NFS 3、配置 /etc/exports 4、重新导出配置 5、客户端用 showmount 验证 6、用 mount -t nfs 完成挂载 7、根据需要配置永久挂载

把这条最小链路打通之后,再去看高级配置和优化,会更容易理解。