Linux 安装 NFS 实现文件目录共享

news2024/9/23 1:40:50

一、背景介绍

项目中,之前是单节点部署服务,关于文件的上传和下载,只要配置好路径即可。

而当集群化部署后,就会有问题。比如:文件上传的时候,访问的是主机1,而想要现在文件的时候,却访问的主机2,这样就会导致文件下载失败。

关于文件共享,可以通过Nginx、Samba、NFS、FastDFS等实现。

本篇博文根据个人项目中的实际使用场景,在不该任何服务代码的情况下,使用NFS最为合适。


二、NFS安装和配置

1、何为NFS?

NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源。

将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端看起来,就像访问本地文件一样。


2、 NFS 服务端_安装配置

1)检查是否安装NFS
rpm -qa | grep nfs
rpm -qa | grep rpcbind
2)安装NFS服务端
yum -y install nfs-utils rpcbind
3)设置开机启动NFS相关服务
systemctl enable rpcbind && systemctl enable nfs-server && systemctl enable nfs-lock && systemctl enable nfs-idmap

或者

systemctl enable rpcbind

Created symlink from /etc/systemd/system/multi-user.target.wants/rpcbind.service to /usr/lib/systemd/system/rpcbind.service.

systemctl enable nfs-server

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

systemctl enable nfs-lock
systemctl enable nfs-idmap
4)启动NFS相关服务
systemctl start rpcbind && systemctl start nfs-server && systemctl start nfs-lock && systemctl start nfs-idmap

或者

systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
5)创建需要共享的目录
mkdir -p /home/miracle/uploads
chmod -R 777 /home/miracle/uploads
6)配置需要共享的目录
vim /etc/exports

添加如下内容(可以配置多个共享目录,IP也可以配置单个,或者模糊匹配多个):

/home/miracle/uploads 192.168.169.2(rw,sync,all_squash)

参数列表如下:

参数说明
ro只读访问
rw读写访问
sync所有数据在请求时写入共享
asyncnfs 在写入数据前可以响应请求
securenfs 通过 1024 以下的安全 TCP/IP 端口发送
insecurenfs 通过 1024 以上的端口发送
wdelay如果多个用户要写入 nfs 目录,则归组写入(默认)
no_wdelay如果多个用户要写入 nfs 目录,则立即写入,当使用 async 时,无需此设置
hide在 nfs 共享目录中不共享其子目录
no_hide共享 nfs 目录的子目录
subtree_check如果共享 /usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)
no_subtree_check不检查父目录权限
all_squash共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录
no_all_squash保留共享文件的 UID 和 GID(默认)
root_squashroot 用户的所有请求映射成如 anonymous 用户一样的权限(默认)
no_root_squashroot 用户具有根目录的完全管理访问权限
anonuid=xxx指定 nfs 服务器 /etc/passwd 文件中匿名用户的 UID
anongid=xxx指定 nfs 服务器 /etc/passwd 文件中匿名用户的 GID
7)配置立即生效
exportfs -r 
8)查看共享目录信息
exportfs -v

3、 NFS 客户端_安装配置

1)安装 NFS 客户端
yum -y install nfs-utils
2)查看服务端的共享目录设置
showmount -e 192.168.169.1
3)创建本地目录
mkdir -p /home/miracle/uploads
4)将服务端共享目录挂载到本地目录
mount -t nfs 192.168.169.1:/home/miracle/uploads /home/miracle/uploads

至此,共享目录的安装和配置已完成,可以创建一个文件,检验共享功能是否正常。

5) 取消挂载

如果目录挂载错误的情况下,可以取消挂载。

umount 192.168.166.1:/home/miracle/uploads

或者

umount /home/miracle/uploads

三、补充说明

如果现场环境是不允许访问外网,只能离线安装的情况下,就需要提前下载好安装包。

1、下载离线安装包(只下载,不安装)

1)下载NFS服务端安装文件

存放到 /home/miacle/nfs-server 目录下,命令如下:

yum install --downloadonly --downloaddir=/home/miracle/nfs-server  nfs-utils rpcbind

在这里插入图片描述
可以将下载的NFS服务端安装文件打包,命令如下:

tar -zcvf nfs-server.tar /home/miracle/nfs-server
2)下载NFS客户端端安装文件

存放到 /home/miacle/nfs-client 目录下,命令如下:

yum install --downloadonly --downloaddir=/home/miracle/nfs-client  nfs-utils

在这里插入图片描述

可以将下载的NFS服务端安装文件打包,命令如下:

tar -zcvf nfs-client.tar /home/miracle/nfs-client

2、批量安装 rpm 文件

rpm -Uvh --force --nodeps *.rpm

在这里插入图片描述



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

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

相关文章

【MST】ABC235 E - MST + 1

一开始想的是分类讨论,看那条边加了之后成不成环,如果不成环且权值在前n-1,则一定在MST里,不在前n-1则不在MST里;如果成环了,如果权值不在前n-1,则不在MST里,如果权值在前n-1&#x…

spark 数据的加载和保存(Parquet、JSON、CSV、MySql)

spark数据的加载和保存 SparkSQL 默认读取和保存的文件格式为 parquet 1.加载数据 spark.read.load 是加载数据的通用方法 scala> spark.read. csv format jdbc json load option options orc parquet schema table text textFile 如果读取不同格式的数据,可以…

docker安装fastdfs

1 拉取镜像 docker pull morunchang/fastdfs如果网速下载慢,可以参考资料文件夹中给大家导出的镜像包上传到 Linux服务器上,通过docker load -i my_fdfs.tar 加载镜像。 使用 docker images查看是否成功 2 运行tracker docker run -d --name tracker -…

MySQL高阶——索引设计的推演

前言 MySQL在我们工作中都会用到,那么我们最常接触的就是增删改查,而对于增删改查来说,我们更多的是查询。但是面试中,面试官又不会问你什么查询是怎么写的,都是问一些索引啊,事务啊, 底层结构…

C. Multiplicity(DP + 分解因数)

Problem - C - Codeforces 给定一个整数数组a1,a2,...,an。 如果可以从a中删除一些元素得到b,则称数组b为a的子序列。 当且仅当对于每个i(1≤i≤k),bi是i的倍数时,数组b1&#xff…

Spring Data JPA 快速上手

一、JPA的概述 JPA的全称是Java Persisitence API,即JAVA持久化API,是sum公司退出的一套基于ORM的规范,内部是由一些列的接口和抽象类构成。JPA通过JDK5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。…

Mysql 分库分表 Mycat

0 课程视频 https://www.bilibili.com/video/BV1Kr4y1i7ru?p163&spm_id_frompageDriver&vd_sourceff8b7f852278821525f11666b36f180a 1 单库问题 1.1 热点数据多 -> 缓冲区不足 ->内存不足 1.2 数据多 -> 磁盘不足 1.3 请求数据量多 -> 带宽不足 1…

C/C++的命名空间和调用函数的详细讲解

目录 空函数 调用函数 调用 执行流程 命名空间 在创建函数时,必须编写其定义。所有函数定义包括以下组成部分: 名称:每个函数都必须有一个名称。通常,适用于变量名称的规则同样也适用于函数名称。形参列表:调用函…

算法记录lday4 LinkedList链表交换 删除倒数N个点 环形链表

今日任务 ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II 两两交换链表中的节点 题目描述 Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modi…

一天吃透Redis面试八股文

Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的&#xf…

Golang每日一练(leetDay0052)

153. 寻找旋转排序数组中的最小值 Find Minimum In Rotated Sorted Array 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: …

纸模图纸的发展历程+纸模图纸免费下载-手工985

纸模图纸是一种用于制作模型的图纸,通常用于制作卡通纸模图纸、飞机纸模图纸、船只纸模图纸、汽车纸模图纸、建筑纸模图纸等模型。 纸模图纸的历史 纸模图纸的历史可以追溯到19世纪末期。当时,一些欧洲的制图师开始使用纸板和纸张来制作建筑模型&#xf…

【MATLAB数据处理实用案例详解(21)】——利用SOM自组织映射网络实现癌症样本数据分类和利用SOM自组织映射网络实现柴油机故障分类详解

目录 一、SOM原理分析二、SOM拓扑结构分析三、三种SOM拓扑结构3.1 Gridtop()网格拓扑结构3.2 Hextop()六角形拓扑结构3.3 Randtop()随机拓扑结构 四、利用SOM自组织映射网络实现癌症样本数据分类4.1 问题描述4.2 输入数据4.3 网络建立和训练4.4 验证4.5 预测4.6 运行结果 五、利…

wait/waitpid(重点)介绍

谢谢你的阅读,如有错误请大佬留言 目录 引子: waitpid 返回值介绍 参数介绍 pid status options: 引子: 当一个进程创建子进程后,如果子进程工作结束后会进入僵尸状态,等待父进程回收子进程资源(退…

烟花智能直播助手,直播带货必备爆单工具【直播助手脚本+技术教程】

烟花智能直播助手软件教程介绍: 1.账号管理:可以登陆多个账号,一键切换 2.商品批量管理:可一键删除/添加直播商品,一键设置商品卖点 3.自动弹讲解:可设置指定,单个,列表循环自动弹商品讲解 4.智能文字客服:可设置指定关键词对公屏信息进行回复,不限添加条…

【C语言】C语言总结

声明&#xff0c;本文来自中国mooc中的翁凯C语言总结 第一章介绍 变量定义 变量定义的一般形式为&#xff1a;<类型名称><变量名称>变量需要一个名字&#xff0c;变量的名字是一种表示符&#xff0c;意思是用来识别不同的标识符标识符的基本构造规则为&#xff…

近世代数 笔记与题型连载 第十一章(正规子群与商群)

文章目录 基本概念1.正规子群2.商群 常见题型1.正规子群的判定和证明2.给定群和正规子群&#xff0c;求商群 基本概念 1.正规子群 正规子群的定义&#xff1a;设<G,※>是群&#xff0c;H是G的子群。如果对于G中的任意元素g&#xff0c;都有gHHg&#xff0c;则称H是G的正…

org.apache.poi 设置 Excel 单元格颜色 RGB

一、背景说明 在使用 org.apache.poi 导出 Excel 时&#xff0c;需要设置部分单元格的颜色。 可以使用方法&#xff1a;org.apache.poi.ss.usermodel.CellStyle.setFillForegroundColor() 和 org.apache.poi.ss.usermodel.CellStyle.setFillPattern() 来设置单元格的颜色和填…

代码随想录 LeetCode数组篇 二分查找

文章目录 &#xff08;简单&#xff09;35. 搜索插入位置&#xff08;*中等&#xff09;34. 在排序数组中查找元素的第一个和最后一个位置&#xff08;简单&#xff0c;常见面试题&#xff09;69. x的平方根&#xff08;简单&#xff09; 367. 有效的完全平方数 # &#xff08;…

三款自研AI应用引领未来,重塑行业新风尚

在这个科技日新月异的时代&#xff0c;AI技术已经渗透到我们生活的方方面面。今天&#xff0c;我们将向您推荐三款领域独具特色的AI应用&#xff0c;它们分别是AI律师、AI小红书文案提示词、以及AI Midjourney提示词。这些应用都具有独特的内涵&#xff0c;让我们一起走进这些智…