NFS配置-实现多服务器共享目录
NFS网络文件系统
为什么要用NFS?
前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一放到后端的存储上。
共享存储的好处:方便数据的查找与取出,缺点:存储服务器压力大,坏了丢失全部数据。
NFS工作原理
NFS功能,有很多服务,每个服务都有自己的端口,并且经常变换。
客户端查找这些端口,就需要一个中间人---RPC服务(默认端口号111)。
工作流程:
1.启动RPC服务
2.启动NFS服务(同时向RPC服务注册启动的端口)
3.客户端向RPC请求NFS服务
4.RPC返回端口到客户端
5.客户端用返回的端口地址向NFS请求传输数据。

一、服务器A下操作(IP地址:192.168.2.21)
1、查看NFS安装情况:
rpm -qa nfs-utils rpcbind

(没有的话,用yum install nfs-utils rpcbind -y安装)
2、启动RPC:
systemctl start rpcbind (service rpcbind start)
开机自启动:
systemctl enable rpcbind (service rpcbind enable)
看看有没有注册的端口:
rpcinfo -p 127.0.0.1

3、启动NFS:
systemctl start nfs(十以上版本sudo service nfs-server start)或者(systemctl start nfs-server)
再看注册的端口:
rpcinfo -p 127.0.0.1
发现多了很多

4、配置nfs (NFS配置文件/etc/exports)
创建目录/it和/it/a文件作为共享目录和共享文件
mkdir /it
touch /it/a

编辑文件
vim /etc/exports
/it 192.168.2.0/24(rw,sync)

5、重启NFS
systemctl reload nfs或者exportfs -r
{
若出现exportfs: /home requires fsid= for NFS export
解决方法:
/home 192.167.253.0/24(fsid=0,rw,sync) //加入fsid=0参数就可
}
nfs默认用户nfsnobody
grep nfsno /etc/passwd

没有的话,自己创建
groupadd -g -f 65534 nfsnobody
useradd nfsnobody -u 65534 -g nfsnobody -s /sbin/nologin -M
6、授权
chown -R nfsnobody.nfsnobody /it

7、检查自己
showmount -e 192.168.2.21 (exportfs)

8、服务器本地挂载:
mount -t nfs 192.168.2.21:/it /mnt


本地测试成功
二、客户端B下操作(IP地址:192.168.2.25)
1、查看NFS安装情况:
rpm -qa nfs-utils rpcbind
(安装nfs-utils的目的是为了获得showmount命令)
2、启动RPC:
systemctl start rpcbind
开机自启动:
systemctl enable rpcbind
netstat -lntup|grep 111

3、查看NFS服务器提供的共享目录
showmount -e 192.168.2.21
{
i、若出现clnt_create: RPC: Program not registered:程序没有注册

说明:RPC服务器开启了,但NFS没有告诉RPC开启的服务端口
重启nfs
systemctl start nfs(十以上版本sudo service nfs-server start)或者(systemctl start nfs-server)
检查:rpcinfo -p 127.0.0.1(出现很多表明可以了)
ii、若出现:
去服务端(192.168.2.21)关闭防火墙
systemctl stop firewalld
}
4、挂载测试(将192.168.2.21挂载到192.168.2.25下)
mount -t nfs 192.168.2.21:/it /mnt
若出现:

则需要关掉防火墙:service firewalld stop


挂载成功。
三、NFS客户端开机自启动挂载
方法一:/etc/rc.local
chmod +x /etc/rc.d/rc.local

vim /etc/rc.local
在底部加上
/bin/mount -t nfs 192.168.109.132:/it /mnt
(将192.168.109.132挂载到192.168.109.131下)
然后reboot重启
查看是否成功
方法二:放入vim /etc/fstab(有坑)
192.168.109.132:/it /mnt nfs defaults 0 0
开启延迟满足的服务remote-fs.target(centos7) netfs(centos6)
systemctl start remote-fs.target
systemctl enable remote-fs.target
systemctl status remote-fs.target
(Debian)统信uos的NFS只是安装包不同
服务器安装包:
apt-get install nfs-kernel-server
客户端安装包:
apt install -y nfs-common
dpkg -l nfs-kernel-server查看包
NFS配置-实现多服务器共享目录的更多相关文章
- 关于iis站点无法读取 服务器共享目录的问题
也是权限问题,具体解决方法如下: 1. 找到该站点所在的应用程序池>>高级设置>>进程模型>>设置标志账号,如下图所示 2. 设置账号之后,找到该共享目录>& ...
- 在Jenkins上配置批处理删除远程共享目录7天以上的文件
net use * /del /yes NET USE X: \\10.29.48.12\shares\Test password /user:DOMAIN1\account set AutoPath ...
- Linux和Linux之间共享目录
1.Linux 服务器端NFS服务器的配置 以root身份登陆Linux服务器,编辑/etc目录下的共享目录配置文件exports,指定共享目录及权限等. 执行如下命令编辑文件/etc/exports ...
- NFS配置与安装
安装 1 环境描述: * 网络环境: NFS server: 192.168.102.47 NFS client: 192.1 ...
- 嵌入式Linux之NFS配置
NFS(Network File System) 1.RPC和rpcbind RPC(Remote Procedure Call)即远程过程调用,是分布式应用的基础,即允许计算机远程调用网络上其他计算 ...
- C# 客户端读取共享目录文件
控制台应用程序 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享
一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : portmap:实现RPC(协议 ...
- windows server 2008 R2 部署NFS,实现多台服务器间、客户端间的共享目录。
如何通过Windows Server 2008 R2建立NFS存储服务? 通过Windows Server 2008 R2,我们可以很容易地将其作为一台NFS存储服务器,得到一个NFS软存储,轻松解决 ...
- 客户端挂载NFS服务器中的共享目录(用户后台上传图片与前台上传图片放在同一个服务器上)
服务器端使用showmount命令查询NFS的共享状态 # showmount -e //默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错 # showmount -a //显示已经与客 ...
随机推荐
- 【mq】从零开始实现 mq-05-实现优雅停机
前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...
- Linux:可执行程序的Shell传参格式规范
1. Linux下可执行程序的Shell传参格式规范 Linux下的可执行程序在运行时经常需要传一些参数,而这些参数是有规范的.包括我们自己写的在Linux系统下运行的Shell脚本.Python脚本 ...
- c++ web框架实现之静态反射实现
0 前言 最近在写web框架,框架写好后,需要根据网络发来的请求,选择用户定义的servlet来处理请求.一个问题就是,我们框架写好后,是不知道用户定义了哪些处理请求的类的,怎么办? 在java里有一 ...
- Spring 中 @EnableXXX 注解的套路
前言 在 Spring 框架中有很多实用的功能,不需要写大量的配置代码,只需添加几个注解即可开启. 其中一个重要原因是那些 @EnableXXX 注解,它可以让你通过在配置类加上简单的注解来快速地开启 ...
- 一文讲透为Power Automate for Desktop (PAD) 实现自定义模块 - 附完整代码
概述 Power Automate for Desktop (以下简称PAD)是微软推出的一款针对Windows桌面端的免费RPA(机器人流程自动化)工具,它目前默认会随着Windows 11安装,但 ...
- Java基础(1)——ThreadLocal
1. Java基础(1)--ThreadLocal 1.1. ThreadLocal ThreadLocal是一个泛型类,当我们在一个类中声明一个字段:private ThreadLocal<F ...
- 关于spring整合mybatis
第一步导入依赖 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artif ...
- nginx 代理请求导出功能bug解决方法
问题描述: nginx代理的ip直接访问可以直接下载文件,但是通过nginx访问就报502,nginx错误日志:upstream sent invalid chunked response while ...
- python 的 @staticmethod和@classmethod和普通实例方法
参考:https://www.huaweicloud.com/articles/12607084.html https://blog.csdn.net/qq_30708445/article/deta ...
- vue-cli2.x配置build命令构建测试包&正式包
项目开发中常分为开发环境.测试环境.正式环境 通过vue-cli或者@vue/cli脚手架搭建的项目默认提供了开发环境和正式环境的配置.可通过js获取当前域名或其他信息来判断当前为测试环境还是正式环境 ...