当前位置: 首页 > backend >正文

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 的工作依赖 “监控目录” 和 “挂载规则” 的配合,核心流程如下:

  1. 配置规则:通过主配置文件(/etc/auto.master)定义 “监控目录”(即需要监控用户访问的目录),并指定该目录对应的 “子配置文件”(如/etc/auto.nfs);子配置文件中则定义监控目录下的具体挂载点、文件系统类型、挂载源(如 NFS 服务器地址)及参数(如权限、版本)。
  2. 触发挂载:当用户尝试访问 “监控目录” 下的子目录(即子配置文件中定义的挂载点)时,autofs 会立即根据子配置文件的规则,自动执行挂载操作(如挂载 NFS 共享到该子目录)。
  3. 自动卸载:当该挂载点在设定的 “空闲时间”(默认 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自动挂载配置,实现网络文件系统的共享访问。

http://www.xdnf.cn/news/17016.html

相关文章:

  • 嵌入式硬件中运放内部底层分析
  • 区块链:重构信任的价值互联网革命​
  • CNN卷积神经网络之注意力机制CBAM(六)
  • 【android bluetooth 协议分析 01】【HCI 层介绍 30】【hci_event和le_meta_event如何上报到btu层】
  • uniapp Android App集成支付宝的扫码组件mPaaS
  • Linux 内存管理之 Rmap 反向映射(二)
  • Kafka-Eagle 安装
  • 江协科技STM32学习笔记1
  • AlexNet训练和测试FashionMNIST数据集
  • 什么是越权漏洞?如何验证。
  • c++介绍
  • cJSON库应用
  • Python高级编程与实践:Python装饰器深入解析与应用
  • 【数据结构初阶】--排序(三):冒泡排序,快速排序
  • BeeWorks私有化即时通讯,局域网办公安全可控
  • Python基础框架
  • 改进的BP神经网络算法用于预测温度值的变化
  • 剑指offer第2版:字符串
  • jenkins插件Active Choices的使用通过参数动态控制多选参数的选项
  • java web 未完成项目,本来想做个超市管理系统,前端技术还没学。前端是个简单的html。后端接口比较完善。
  • mq_timedsend系统调用及示例
  • 朴素贝叶斯(Naive Bayes)算法详解
  • 使用 ECharts 实现小区住户数量统计柱状图
  • 豆包新模型与 PromptPilot 实操体验测评,AI 辅助创作的新范式探索
  • 涨薪技术|Kubernetes(k8s)之Pod生命周期(上)
  • 山东省天地图API申请并加载到QGIS和ArcGIS Pro中
  • pyspark中的kafka的读和写案例操作
  • 面向对象编程基础:类的实例化与对象内存模型详解
  • Oracle 在线重定义
  • 【unitrix】 7.2 二进制位减法(bit_sub.rs)