Linux NFS 服务部署、客户端配置及 autofs 自动挂载操作指南
Linux: NFS 服务部署、客户端配置及 autofs 自动挂载操作指南
NFS介绍
NFS(Network File System)是一种基于TCP/IP传输的网络文件系统协议。通过NFS协议,客户端可以像访问本地目录一样访问远程服务器中的共享资源。它允许客户端计算机通过网络访问远程服务器上的文件和目录,从而实现跨设备的文件集中管理、共享和协作。
NFS的优点与缺点
NFS在负载均衡群集和NAS存储设备中广泛使用,因为它可以方便地共享数据存储。然而,NFS没有用户认证机制,数据在网络上明文传输,安全性较差,因此通常只能在局域网中使用。
NFS服务的实现条件
NFS服务依赖于RPC(Remote Process Call,远端过程调用)机制来完成远程到本地的映射过程。因此,需要安装nfs-utils和rpcbind软件包来提供NFS共享服务。
一、NFS服务端部署
1. 安装必要软件
yum -y install nfs-utils rpcbind
2. 创建共享目录及测试文件
mkdir /common # 新建共享目录
touch /common/aaa # 在共享目录下创建测试文件
3. 配置共享目录权限
-
编辑共享配置文件:
vim /etc/exports
添加如下内容(允许192.168.100.0/24网段读写访问):
/common 192.168.100.0/24(rw)
-
调整共享目录权限(与配置的共享权限保持一致):
chmod o=rwx /common # 或 chmod o+w /common
4. 启动并设置服务自启
# 重启服务(先启动rpcbind ,在启动nfs)
systemctl restart rpcbind
systemctl restart nfs-server# 设置开机自启
systemctl enable nfs-server
systemctl enable rpcbind
5. 配置防火墙(二选一)
-
方式1:开放NFS相关服务端口
firewall-cmd --add-service=nfs --permanent firewall-cmd --add-service=rpc-bind --permanent firewall-cmd --add-service=mountd --permanent firewall-cmd --reload # 重载防火墙配置
-
方式2:直接关闭防火墙(简化测试环境,生产环境不推荐)
systemctl stop firewalld systemctl disable firewalld
二、NFS客户端配置
1. 安装客户端软件
yum -y install nfs-utils
2. 临时挂载(重启后失效)
mkdir /cy # 新建本地挂载点
mount -t nfs 192.168.100.10:/common /cy # 挂载服务端共享目录
3. 永久挂载(重启后生效)
-
编辑fstab配置文件:
vim /etc/fstab
添加如下内容(格式:服务端共享路径 本地挂载点 文件系统 选项 0 0):
192.168.100.10:/common /cy nfs defaults,rw 0 0
(可选:指定NFS版本,如
vers=4,rw
替代defaults,rw
) -
生效配置:
mount -a # 加载fstab中的所有配置
4. 配置NFS版本(可选)
-
方式1:通过nfsconf命令设置(以启用v4为例):
nfsconf --set nfsd udp no nfsconf --set nfsd vers2 no nfsconf --set nfsd vers3 no nfsconf --set nfsd tcp yes nfsconf --set nfsd vers4 yes nfsconf --set nfsd vers4.0 yes nfsconf --set nfsd vers4.1 yes nfsconf --set nfsd vers4.2 yes
-
方式2:直接编辑配置文件:
vim /etc/nfs.conf # 手动修改版本相关配置
三、autofs自动挂载(客户端)
Autofs 是一种系统守护进程,用于在用户访问存储介质时自动挂载文件系统。与传统的 mount 命令不同,Autofs 只有在检测到用户试图访问尚未挂载的文件系统时,才会自动进行挂载操作并在资源空闲一段时间后自动卸载,从而实现资源的高效利用和灵活管理。
工作原理
autofs 的工作依赖 “监控目录” 和 “挂载规则” 的配合,核心流程如下:
- 配置规则:通过主配置文件(
/etc/auto.master
)定义 “监控目录”(即需要监控用户访问的目录),并指定该目录对应的 “子配置文件”(如/etc/auto.nfs
);子配置文件中则定义监控目录下的具体挂载点、文件系统类型、挂载源(如 NFS 服务器地址)及参数(如权限、版本)。 - 触发挂载:当用户尝试访问 “监控目录” 下的子目录(即子配置文件中定义的挂载点)时,autofs 会立即根据子配置文件的规则,自动执行挂载操作(如挂载 NFS 共享到该子目录)。
- 自动卸载:当该挂载点在设定的 “空闲时间”(默认 300 秒,可配置)内无任何访问时,autofs 自动卸载该文件系统,释放资源。
1. 安装autofs软件
yum -y install autofs
2. 启动服务并设置自启
systemctl restart autofs
systemctl enable autofs
3. 创建挂载点主目录
mkdir /cy/abc # 主目录(后续子目录将在此目录下自动挂载)
4. 配置auto.master(主配置文件)
vim /etc/auto.master
添加如下内容(格式:主目录 挂载配置文件路径):
/cy/abc /etc/auto.nfs # 主目录为/cy/abc,对应的挂载配置文件为/etc/auto.nfs
5. 复制模板文件作为挂载配置文件
cp /etc/auto.misc /etc/auto.nfs # 以auto.misc为模板创建auto.nfs
6. 配置auto.nfs(挂载内容)
vim /etc/auto.nfs
注释原有内容,添加如下配置(格式:子目录 选项 服务端共享路径):
huang -fstype=nfs,vers=4,rw 192.168.100.10:/common
# 说明:访问/cy/abc/huang时,自动挂载192.168.100.10:/common
7. 重启autofs使配置生效
systemctl restart autofs
systemctl enable autofs
通过以上步骤,可完成NFS服务的部署、客户端挂载及autofs自动挂载配置,实现网络文件系统的共享访问。