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

NFS配置方法

目录

1. 引言

2. 实验内容

3. NFS介绍

4. 环境准备

5. NFS 下载

6. 启动 NFS

7. RPCBIND(rpcbind)

8. NFS 服务的配置文件

9. 实验一:搭建 NFS 服务器,实现客户端间有序共享数据

第一步:创建 /share 文件夹,在文件夹内创建 1314520.txt 文本文件。

第二步(重点):修改 /etc/exports 主配置文件

第三步:打开一个新的虚拟机(客户端)

第四步:扫描服务器,确认共享目录是否已经配置

第五步:创建一个目录用于挂载服务器提供共享目录,并查看共享文件

10. 实验二:测试客户端文件写入操作,排查写入失败的核心原因

11. 实验三:实现 NFS 指定共享目录的开机自动挂载

(1)autofs 服务下载

(2)autofs 服务配置

(3)检验结果

12. 结语


1. 引言


本文将围绕NFS共享的核心实操需求,展开从服务搭建到自动挂载的完整流程,清晰拆解每一步的操作逻辑与关键要点,帮助你快速掌握NFS的配置方法。

2. 实验内容


  • 实验一:搭建 NFS 服务器,实现客户端间有序共享数据;

  • 实验二:测试客户端文件写入操作,排查写入失败的核心原因;

  • 实验三:实现 NFS 指定共享目录的开机自动挂载。

3. NFS介绍


从名称入手,NFS全称为:Network file system ,可以理解为网络文件系统(也称呼为网盘)。目的就是为了将程序和资源进行隔离,让资源与程序各自占用一台服务器,防止因为资源问题,或者程序的问题导致整个服务的崩溃。

4. 环境准备


在开始下载NFS命令前,我们需要临时关闭SELiunx和防火墙。

临时关闭命令如下:

# 立刻关闭防火墙 systemctl stop firewalld # 禁止防火墙开机自启 systemctl disabled firewalld # 关闭SELinux setenforce 0

5. NFS 下载


下载NFS命令:

dnf install nfs-utils -y 补充:-y 跳过所有确认,全部都为确认,实现不交互。

主要结果如下:

6. 启动 NFS


我们下载好NFS之后,NFS是默认不启动的。

(1)查看NFS服务启动命令:

systemctl status nfs-server

结果如下:

图片主要信息解析:

1.Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; preset: disabled) 2.Active: inactive (dead) 1. 已加载:已加载(/usr/lib/systemd/system/nfs-server.service; 禁用 ;预设:禁用) 2. 活动状态:未激活(已停止)

因此我们要使用NFS命令要先启动NFS服务。

(2)启动NFS命令(两种):

①仅本次启动 NFS 服务命令(不常用):

systemctl start nfs-server

结果如下:

这个方法不太推荐,因为重启虚拟机后,又要重新开启NFS服务才能使用NFS命令。

下面推荐一个更方便的方法:

② 开机自启动 NFS 服务命令(推荐):

systemctl enable --now nfs-server

结果如下:

7. RPCBIND(rpcbind)


这里我们有必要提一下rpcbind服务,在 Linux NFS 服务中,rpcbind 和 nfs-server 是搭配使用的核心服务。(我们刚刚上述的两种开启NFS服务的方法也会同时开启rpcbind服务。

拓展小知识:

问:那这两各自是做什么的呢?

答:

rpcbind

  • NFS 是基于 RPC 远程过程调用 工作的

  • rpcbind 作用:把 NFS 等 RPC 服务映射到具体端口,让客户端能找到服务

  • 监听端口:111(TCP/UDP)

  • 没有它,NFSv3 基本无法使用

nfs-server

  • 真正的 NFS 服务端

  • 读取/etc/exports配置,对外提供文件共享

  • 监听端口:2049

rpcbind 启动情况如下:

8. NFS 服务的配置文件


NFS的主配置文件在:/etc/exports。这个文件默认为空负责管理要共享的目录,以及授权访问的范围。

vim /etc/exports

(该文件初始默认为空,就不展示结果了)

9. 实验一:搭建 NFS 服务器,实现客户端间有序共享数据


第一步:创建/share文件夹,在文件夹内创建1314520.txt文本文件。

(命令过于简单就不额外编辑代码了)

第二步(重点):修改/etc/exports主配置文件

/etc/exports文件的配置格式:

共享文件夹路径 客户端 (权限,写入模式,账户映射 ,用户的映射,用户组映射) # 单个IP: 192.168.1.100 /24 (例) # 网段: 192.168.1.0/24 (例) # 所有主机: * # 主机名: test.com (例) # 权限 # rw:可读写 # ro:只读 # 写入模式 # sync:同步写入,数据安全,推荐使用 # async:异步写入,速度快但断电可能丢数据 # 关于账户映射 # root_squash:将root映射为nobody(默认情况下使用的root_squash),写了这个就不写用户身份映射 # no_root_squah:不对root的身份进行映射(慎用!) # all_squash:所有账户都做身份映射(all单指普通用户不包括root) # no_all_squash:所有账户都不做身份映射(all单指普通用户不包括root) # 关于用户身份的映射的设定 # anonuid:将客户端的用户映射为指定的uid的用户 # anongid:将客户端的用户组映射为指定的gid的用户组

参考示例如下:

刷新配置(必须)命令:

exportfs -r

第三步:打开一个新的虚拟机(客户端)

客户段的前期准备操作参照第4、5、6章节,这里就省略了。

第四步:扫描服务器,确认共享目录是否已经配置

查询服务端共享目录的命令:

showmount -e 服务器ip地址

结果如下:

第五步:创建一个目录用于挂载服务器提供共享目录,并查看共享文件

挂载命令格式如下:

mount 服务器ip地址:共享文件夹路径 客户端接收的文件夹路径

结果如下:

(1)挂载

(2)挂载结果

(3)共享文件

至此,实验一结束。

10. 实验二:测试客户端文件写入操作,排查写入失败的核心原因


当我们尝试在客户端的共享文件夹内创建文件的时候,就会发现权限不足,因此我们只要在服务器修改权限即可。

①在服务器修改文件权限。

chmod -R 747 /share

②测试客户端能否成功创建文件

成功创建,至此实验二结束。

11.实验三:实现 NFS 指定共享目录的开机自动挂载

细心的你一定发现了,如果客户端要使用服务端所提供的文件系统,就要进行挂载,这样操作过于繁琐,因此就需要用到开机自动挂载服务。

(1)autofs 服务下载

要想实现自动挂载,我们需要下载autofs服务 。

下载autofs

dnf install autofs -y

设置开机自启动autofs:

systemctl enable --now autofs

(2)autofs 服务配置

autofs下有两个重要文件: /etc/autofs.conf(主服务配置)+ /etc/auto.master(挂载映射表)

/etc/autofs.conf:用来设置autofs服务的一些相关属性,例如:timeout决定 共享目录空闲多久后自动卸载

/etc/auto.master:告诉autofs要监听哪些目录、去哪里读具体挂载规则

文件格式:

挂载目录 子配置文件 # 挂载目录:不需要事先存在,因为autofs会主动建立该目录 # 子配置文件:文件名可自定义

创建配置文件: /etc/auto.guazai

格式:

接收共享文件目录 服务端ip:/共享文件夹

示例:

重启autofs服务

systemctl restart autofs

(3)检验结果

cd /guazai/airaury

结果如下:

成功挂载,至此实验三结束。

12.结语

通过这次实验,我们对 NFS 的安装、启动、配置和使用过程有了比较清楚的认识,也实际完成了共享目录搭建、客户端挂载、文件写入测试以及开机自动挂载等操作。整个实验让我们更直观地理解了 NFS 在 Linux 系统中的作用,也提高了我们对文件共享服务配置与故障排查的能力。

总的来说,这次实验内容比较实用,操作步骤也比较清晰。通过亲手实践,我们不仅掌握了相关命令的使用方法,也为以后学习和搭建类似的网络服务打下了一定基础。

http://www.jsqmd.com/news/687406/

相关文章:

  • 深度剖析雪花算法:原理拆解\+分布式ID与分布式锁彻底分清
  • 快狐KIHU|43寸壁挂触摸一体机Windows系统多串口接口培训机构查询屏
  • 用CH341玩转I2C:从读写EEPROM到自定义设备通信的完整项目流程
  • OpenCV C++编译踩坑记:手把手教你搞定‘undefined reference to cv::imread’这个磨人的小妖精
  • 保姆级教程:在RK3588开发板上配置USB-C PD充电(基于HUSB311芯片与DTS详解)
  • Kubernetes 集群服务发现机制详解
  • 分析全国好用的注塑托盘厂家,江苏凯儒物流靠谱吗? - mypinpai
  • Anthropic 测试移除 Claude Code,AI 编程代理或转向新收费模式
  • 程序员的第一份专利:我是如何把Linux进程调度算法‘抄’进交通信号灯的
  • 3个关键技巧:快速掌握Windows网络性能测试工具
  • Tools for Humanity 宣布与布鲁诺·马尔斯巡演合作遭否认,Concert Kit 将改在杰瑞德·莱托乐队巡演推出
  • 从激光笔到工业切割:一文看懂不同激光器(CO2、YAG、半导体)怎么选
  • 从KEA到S32K:NXP汽车MCU的升级之路,手把手教你选型S32K14x与S32K11x
  • 5分钟快速上手:Unlock-Music浏览器音乐解密终极指南
  • Cisco交换机802.1x配置避坑指南:认证前ACL、多主机模式与违规处理
  • 2026年Context Engineering完全指南:上下文即代码
  • GetQzonehistory:3步轻松备份你的QQ空间历史说说,永久保存青春记忆
  • 永辉超市卡回收不踩坑!闲置卡高效变现,两大正规平台实测指南 - 京回收小程序
  • 用这个免费网站,5分钟搞定城市路网SVG地图,做PPT和设计素材超方便
  • 如何在5分钟内为网站添加智能Live2D动画角色:完整实现聊天与图片识别功能指南
  • 终极小说下载指南:如何快速免费保存200+网站的小说内容?
  • 告别系统休眠困扰:MouseJiggler鼠标模拟工具的完整使用指南
  • 终极指南:如何将闲置电视盒子改造为高性能Armbian服务器
  • 戴尔笔记本风扇控制终极指南:3种模式解决散热与噪音平衡难题
  • 开源 10 天就飙到 4 万星,这个项目收集了 58 个知名网站样式。
  • 告别配置地狱:在Windows上为乐视Astra Pro配置C++开发环境(VS2019 + PCL 1.12 + OpenCV 4.5)
  • 从匿名飞控到实战:手把手拆解多旋翼无人机PID控制与视觉追踪的代码级实现
  • 如何快速上手开源游戏资源编辑器:Harepacker-resurrected完整实战指南
  • 免配置环境 OpenClaw Win11 部署详细步骤
  • 2026年论文AI率高怎么办?10款降AI工具亲测横评,必备收藏指南 - 降AI实验室