Linux系统使用NFS挂载共享目录

news2025/4/26 18:52:10

一、目的

服务器A 共享目录 /data
服务器B 挂载服务器A的目录 /data
服务器C 挂载服务器A的目录 /data

上面的/data 只是举例,也可以是自定义的路径

二、常见的使用场景

①、应用多实例多机器部署的情况下,有一些下载或者上传的模板文件,可以放在共享目录下,方便管理维护。
②、应用多实例多机器部署的情况下,日志文件可以统一保存到共享目录下,方便管理查看。

安装NFS服务

在线安装:

yum install -y  nfs-utils

离线安装:
todo~

三、操作步骤

服务器需要开启NFS服务。

这里以CentOS 服务器A,服务器B举例:
先查看nfs-server的状态

systemctl status nfs-server
systemctl status rpcbind

下面是开启的状态
在这里插入图片描述

如果没开启,可以执行下面启动命令

systemctl start rpcbind
systemctl start nfs-server

服务器A 和 服务器B 都确认开启nfs-server后

服务器A 创建目录 /data , 服务器B 创建目录 /data

服务器A需要在/etc/exports文件中添加可供访问的目录,并给予相应的权限。

vi /etc/exports

添加下面一行

/data    *(insecure,rw,async,no_root_squash)

下面对配置进行简单解释:

  • *号 :
    表示 共享/data目录下全部内容

  • insecure:
    这个选项允许 NFS 使用非加密的连接。默认情况下,NFS 要求使用加密的连接(如通过 Kerberos 认证)。如果服务器未配置为使用加密连接,则可以使用此选项来禁用加密要求。需要注意的是,这可能会降低安全性。并且nfs-server可以使用1024以上的端口

  • rw :
    表示读写模式挂载远程文件系统

  • async (asynchronous):
    当使用 async 选项时,服务器端对数据的修改不会立即同步到磁盘上,而是由操作系统根据其策略决定何时进行同步。这可以提高性能,但也可能意味着在系统崩溃的情况下会丢失更多的数据。与之相对的是 sync 选项,它要求所有的写操作都要立刻同步到磁盘上。

  • no_root_squash :
    使用 no_root_squash 选项时,root 用户在客户端的操作将会保持其 root 权限,这意味着 root 用户可以在远程文件系统中执行具有 root 权限的操作。这增加了方便性,同时也带来了安全风险。

服务器A 的/etc/exports文件配置好后,重启nfs-server:

systemctl restart nfs-server

下面开始在服务器B上执行挂载命令:

注意点: 需要其他机器挂载共享目录的机器,执行挂载命令时候必须在 根目录下执行才能真正挂载成功。

服务器B
先进入根目录:

cd /

执行挂载命令:

mount -t nfs [替换为服务器A的IP]:/data /data

查看是否挂载成功:

df -Th

在这里插入图片描述
如果能看到上图红框内容就表示挂载成功了。
上图表示 服务器B 的 /data 目录 挂载到了 服务器A的 /data目录

此时在服务器A上的/data目录新建一个a.txt文件 ,在服务器B的/data目录下 也能看到并操作该文件。
同理在服务器B上的/data目录新建一个b.txt文件 ,在服务器A的/data目录下 也能看到并操作该文件。

本质上在服务器B上创建的文件实际上是存储在服务器A上的。

备注:
如果想取消挂载 直接在服务器B上执行取消挂载的命令即可: umount 目录
例如 取消挂载 /data目录:

umount /data

四、设置开机重启自动挂载

systemctl enable rpcbind
systemctl enable nfs-server

编写挂载脚本:

vi /opt/nfsmount.sh

脚本内容(下面服务器A的IP需要修改你自己的服务器IP, /data 修改成你需要挂载的目录):

#!/bin/bash

echo "NFS startime:$(date +"%F %T")" >> /opt/nfs.log;
val=`df -h|grep  你的共享目录服务器IP:/你需要挂载的目录   | wc -l`
if [ $val -eq 1 ]
then
          echo  "NFS目录 /data已经挂载,无需重复挂载" >> /opt/nfs.log;
else 
mount -t nfs  你的共享目录服务器IP:/data  /data
echo  "NFS目录/data 挂载成功" >> /opt/nfs.log;
exit
fi
echo "执行完毕" >> /opt/nfs.log

设置脚本执行权限:

chmod +x /opt/nfsmount.sh;
chmod +x /etc/rc.d/rc.local;

添加到开机自启动脚本:

echo "sh /opt/nfsmount.sh"   >>  /etc/rc.d/rc.local;
cat  /etc/rc.d/rc.local;

当然也可以不用另外写个脚本,直接在/etc/rc.d/rc.local 文件内添加命令:

mount -t nfs  你的共享目录服务器IP:/data  /data

还是推荐脚本方式:脚本中能记录日志,这样更友好。

五、注意事项

上述设置均为内网服务器设置,如果您的机器具有外网访问权限,请配置相关的安全选项以保证服务器的安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

taozige/Java语言的Netty框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码

云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码 介绍 云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码 软件架构 1、提供云快充底层桩直连协…

提升职场办公效率的电脑桌面悬浮窗便签有什么?

电脑桌面悬浮窗便签软件能够帮助我们更好地管理日常任务、记录灵感瞬间,提升职场办公效率,并且保持工作区的整洁。这类软件通常具备以下特点:简易实用、快速记录、功能齐全、以及跨平台同步功能等等。今天为大家推荐一款简单好用的电脑桌面悬…

高可用之限流-06-slide window 滑动窗口 sentinel 源码

限流系列 开源组件 rate-limit: 限流 高可用之限流-01-入门介绍 高可用之限流-02-如何设计限流框架 高可用之限流-03-Semaphore 信号量做限流 高可用之限流-04-fixed window 固定窗口 高可用之限流-05-slide window 滑动窗口 高可用之限流-06-slide window 滑动窗口 sen…

二维码:理解二维码 / 生成二维码 / 小程序支持哪种类型的二维码 / 小程序识别GS1码

一、理解二维码 1.1、概念 二维码(2-dimensional bar code),又称二维条码,最早发源于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的&am…

10月15日 -- 11月15日 ,参与《人工智能导论》学习打卡赢B站大会员

一、活动参与地址 点击链接进行活动报名>>>https://momodel.cn/classroom/course/detail?id6173911eab37f12b14daf4a8&activeKeyinfo&srcbef3adb478 二、活动详情 进入链接点击报名,仅需每天参与吴超老师的《人工智能导论》打卡活动&#xff0…

day11-SpringMVC

一、SpringMVC 1.SpringMVC流程分析 2.各种注解 3.接收请求参数 3.1 简单类型 3.2 对象类型 3.3 数组类型 3.4 集合类型 3.5 日期类型 3.6 json参数类型 3.7 路径参数 二、统一异常处理 三、Restful

一个月学会Java 第16天 注解和异常处理

Day16 注解和异常处理 为什么一定要标注是元注解呢,这个原因其实非常的简单,因为注解现在还不能写,想要使用注解达到SpringMVC和SpringBoot的等级需要使用反射,但是反射我们现在还不会,所以就先讲讲最基本的元注解。 第…

MOS管的电路应用

MOS管的电路应用 MOS管的选型参考 1、MOS管类型 一般选择增强型NMOS管,同等工艺条件下,导通电阻Ron更小,发热更低,允许通过的电流更大,型号也更多。 2、Vgs电压 需要考虑开启电压,驱动电压,极…

每日一刷——10.14——括号匹配(手写栈来实现)

栈与队列题目 第一题 题目 问题描述】设计一个算法判别一个算术表达式的圆括号是否正确配对 【输入形式】一个以为结尾的算术表达式 【输出形式】若配对,则输出圆括号的对数;否则输出no 【样例输入】 (ab)/(cd) 【样例输出】 2 【样例说明】共有两对括…

带隙基准Bandgap电路学习(三)

一、导入器件到版图中 从原理图中导入器件: Connectivity——>Generate——>All From Source I/O Pins暂不添加,后面自己画 PR(Primary Region)Boundary: 通常是用来定义芯片设计中某些关键区域的轮廓,比…

揭秘数字时代的安全守护者:深入探索RSA加密算法的奥秘

目录 引言 一、什么是RSA? 二、RSA 的基本原理 三、RSA 加密的基本步骤 1、加密过程 2、解密过程 四、RSA例子 五、RSA 的特点 六、RSA 的安全性 七、RSA 的实际应用 总结 引言 在当今的信息化社会,数据的安全性和隐私保护已…

外包干了两年,女朋友跟别人跑了

在这个瞬息万变的IT行业,不进则退的道理,我算是深刻体会到了。作为一名本科生,21年通过校招,我幸运地踏入了广州某知名软件公司的大门,成为了一名功能测试工程师。那时的我,满怀激情与梦想,以为…

Neuromnia是一家创新的AI平台用Llama为自闭症护理领域带来全新解决方案

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Linux——Harbor(容器镜像 管理项目)

镜像拉取存在一定的问题,出现原因在于: 使用官方公共仓库中的镜像。 拉取的镜像,主要保存在一下仓库中: docker.io //Docker hub 最大的官方维护的公共镜像仓库,一般都会提供所有项目的最新版镜像,镜像…

SIGformer: Sign-aware Graph Transformer for Recommendation

SIGformer: Sign-aware Graph Transformer for Recommendation(Sigir24) 摘要 在推荐系统中,大多数基于图的方法只关注用户的正面反馈,而忽略了有价值的负面反馈。将正反馈和负反馈结合起来形成一个带符号的图,可以更…

【AI论文精读5】知识图谱与LLM结合的路线图-P2

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI大项目】【AI应用】 P1 4 知识图谱增强的LLMs 大语言模型(LLMs)在许多自然语言处理任务中取得了令人期待的结果。然而,LLMs因缺乏实用知识和在推理过程中容易产生事实性错误而受到…

数据类型、变量和运算符

数据类型 数据类型分为基本数据类型和引用数据类型; 基本数据类型 无论是32位系统还是64位系统,数据类型所占的字节数都不会变 ;整形和浮点型都是带有符号的;整型默认int,浮点型默认double; 整型 字节型…

图文深入理解java对象从创建到回收都经历了什么

1. 前言: 每个java对象都是有生命周期的,就像一个人的生命一样,从孕育到出生到成长变老最后由归于自然。笔者认为,Java对象的整个生命周期可以分为两个大的阶段:即创建阶段和运行阶段(包含对象的回收和消亡…

19009 后缀表达式

### 思路 1. **输入处理**:读取输入的后缀表达式,去掉末尾的符号。 2. **使用栈计算后缀表达式**: - 遍历表达式中的每个字符。 - 如果是数字,压入栈中。 - 如果是运算符,从栈中弹出两个数字进行运算&#xf…

若依前后端分离版本el-select下拉框字典如何设置默认值。

在若依前后端分离框架中,如何给下拉框设置默认值,刚入门的小伙伴,可能会不知道如何去做。 本章教程,主要以用户管理模块中的添加用户举例说明如何设置用户性别默认值为男。 解决思路 首先,我们需要找到打开新增页面的方…