Linux NFS 自动挂载指定目录实现详解(RHCE 实战作业解析)
NFS 是 Linux/Unix 系统提供的一种网络文件系统协议,允许一台机器(客户端)像访问本地文件一样访问另一台机器(服务器)上的目录或文件。功能:分享主机的运算能力服务器类型:有限度开放连接工作站类型:只对内网开放多台服务器共享同一数据目录集中管理用户文件配合自动化脚本提高运维效率NFS 共享目录的配置与权限管理客户端手动挂载和开机自动挂载方法并在客户端通过autofs 实现了按需自动挂载,
目录
一、引言
在 Linux 系统中,NFS(Network File System)是实现跨主机共享文件的常用方案。通过自动挂载 NFS 目录,我们可以在系统启动时自动访问远程共享,极大提升管理效率。本篇博客将结合 RHCE 作业,详细介绍如何实现指定目录的自动挂载,并分享实践中的技巧与注意事项。
NFS简介
NFS 是 Linux/Unix 系统提供的一种网络文件系统协议,允许一台机器(客户端)像访问本地文件一样访问另一台机器(服务器)上的目录或文件。
功能:
-
分享主机的运算能力
-
服务器类型:有限度开放连接
-
工作站类型:只对内网开放
应用场景:
- 多台服务器共享同一数据目录
- 集中管理用户文件
- 配合自动化脚本提高运维效率
NFS工作原理
示例图

流程
-
首先服务器端启动RPC服务,并开启111端口
-
服务器端启动NFS服务,并向RPC注册端口信息
-
客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
-
服务端的RPC(portmap)服务反馈NFS端口信息给客户端。(服务器搭建成功后可以使用下列命令查看,一般都是2049)
NFS的使用
1.先安装NFS服务:
# 安装nfs-utils (包含nfs-server nfs-client rpcbind)
[root@server ~]# dnf install nfs-utils -y
# 启动以及开机自启动 nfs-server
[root@server ~]# systemctl enable --now nfs-server
# 检查服务的状态
[root@server ~]# systemctl status nfs-server
当看到服务状态为enabled,即为设置成功。
二、实验:实现自动挂载目录
1.环境准备
在本次实验中我使用:
| 角色 | 操作系统 | IP 地址 |
|---|---|---|
| NFS 服务端 | RHEL 8 / CentOS 8 | 192.168.238.128 |
| NFS 客户端 | RHEL 8 / CentOS 8 | 192.168.238.129 |
| 共享网段 | — |
192.168.238.0/24 |
注:提前在客户端 服务端安装NFS服务。
2.服务端server配置
[root@server ~]# mkdir /nfs_server1 #创建共享目录
[root@server ~]# chmod 777 /nfs_server1 #设置共享目录权限
[root@server ~]# ll -d /nfs_server1 #查看设置是否成功
[root@server ~]# vim /etc/exports #配置NFS共享文件
#写下以下内容
/nfs_server1 192.168.238.129/24(rw,root_squash)
#共享目录 允许访问客户端IP
# 关于账户映射
# root_squash:将root映射为nobody(默认情况下使用的root_squash,推荐使用!)
# no_root_squah:不对root的身份进行映射(!不推荐!慎用!)
# all_squash:所有账户都做身份映射(all单指普通用户不包括root)
# no_all_squash:所有账户都不做身份映射(all单指普通用户不包括root)
这里大家可自行选择然后做相应配置
root@server ~]# exportfs -r #重新加载NFS配置
[root@server ~]# exportfs -v #验证共享
结果展示:

3.客户端client配置
- 手动挂载验证(验证 NFS 可用)
- 先测试服务端是否正常,避免后面排错困难。
#手动挂载
[root@client ~]# mkdir /nfs_client1
[root@client ~]# mount 192.168.238.128:/nfs_server1 /nfs_client1
# 创建一个nfs_client目录用于挂载服务器提供共享目录
[root@client ~]# showmount -e 192.168.238.128
# 创建一个nfs_client目录用于挂载服务器提供共享目录
Export list for 192.168.238.128:
/nfs_server1 192.168.238.129/24
#验证
[root@server nfs_server1]# touch hh
#此为服务端配置
[root@client ~]# ll /nfs_client1
能正常看到文件,说明 NFS 网络与权限无问题。
结果展示:

注意事项:
- 客户端防火墙要开放 NFS 端口
- 检查服务端
/etc/exports配置
4.自动挂载实现
客户端配置 autofs 按需自动挂载(核心重点)
autofs 的工作逻辑:
- 定义映射文件:指定 “挂载点 → 远程 NFS 路径”
- 编辑主配置文件
/etc/auto.master -
配置文件/etc/autofs.conf
关于服务的一些属性设定比如可以修改 timeout 来决定 共享目录空闲多久后自动卸载 - 访问目录时自动挂载,超时自动卸载
/etc/auto.master
# 该文件是autofs的主配置文件文件,在该文件中可以常见自定义的自动挂载目录,只需进入该目录即可实现自动的挂载
此为主文件配置方法:
# 该文件是autofs的主配置文件文件,在该文件中可以常见自定义的自动挂载目录,只需进入该目录即可实现自动的挂载
vim /etc/auto.master
/hahaha /etc/auto.hahaha
# 在主配置文件中创建 自定义挂载目录/hahaha 关于自动挂载的详细配置 写在 /etc/auto.hahaha
vim /etc/auto.hahaha
fromserver 172.25.254.100:/nfs_server
# 首先autofs重启之后,会自动在跟目录下创建/hahaha,当用户进入fromserver目录时,autofs会自动闯将172.25.254.100:/nfs_server 挂在到 /hahaha/fromserver目录下
学会了怎样配置主文件后接下来进行本实验最后阶段:
# 1.安装autofs
[root@client ~]# dnf install autofs
[root@client ~]# systemctl enable --now autofs
#配置auto.master 指定自动挂载目录/hhh 以及 /hhh的配置文
[root@client ~]# vim /etc/auto.master
在中写入
/hhh /etc/auto.hhh
# 创建配置文件/auto.hhh
[root@client ~]# vim /etc/auto.hhh
写入
fromserver 192.168.238.128:/nfs_server1
[root@client ~]# systemctl restart autofs
root@client ~]# cd /hhh/fromserver
[root@client fromserver]# tree /hhh #验证是否挂载成功
结果展示:

三、常见问题与排错
- 检查服务端防火墙。
- 检查 rpcbind、nfs 服务是否正常运行。
- ping 服务端 IP 测试网络:
- 检查 exports 配置是否写错网段。
- 查看日志: /var/log/messages 。
- 检查配置文件格式、空格、缩进。
八、总结与经验
本文通过完整实战流程,完成了 NFS 网络文件系统服务端配置 与 autofs 自动挂载 的实现,覆盖了 RHCE 考试中的高频考点,也贴合企业生产环境的实际使用场景。
通过本文的步骤,你可以掌握:NFS 服务部署、exports 权限配置、防火墙与 SELinux 处理、autofs 主配置与子配置编写、挂载验证及常见故障排查思路,无论是用于 RHCE 备考,还是在生产环境中搭建目录共享服务,都具备直接落地的实用价值。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)