NFS安装以及配置(目录共享实现)

  因为同一台机器,运行了两个Tomcat,分别有不同版本的一个应用在里面,上传的文件都放在了Tomcat的主目录下的某个文件夹。故需要将两个Tomcat中的上传的目录,映射到一个共享目录中,这样就可以上传在TomcatA中的文件,访问TomcatB的应用是仍然访问到,否则会出现文件找不到的问题。NFS就是这样的一个工具,下面是使用NFS的一些配置的心得。

NFS服务端配置

安装NFS服务nfs-untils和rpcbind

#安装之前可以先通过rpm -qa | grep -E 'rpcbind|nfs'检查是否有安装
yum install nfs-utils rpcbind -y

启动rpcbind服务(一定要先启动rpcbind服务再启动nfs服务)

#启动rpcbind服务
systemctl start rpcbind
#查看rpcbind状态
systemctl status rpcbind

启动NFS服务

#启动NFS服务
systemctl start nfs
#查看NFS状态
systemctl status nfs

NFS服务加入开机自启动并查看其状态

#将NFS服务加入开机自启动
systemctl enable nfs.service
#查看自启动的状态
systemctl list-unit-files|grep nfs

可见,nfs.service为enable,如下图所示:
在这里插入图片描述

创建用于共享的目录

#服务端用于共享的目录
mkdir -p /usr/local/filedir

**授权nfsnobody于/usr/local/filedir**让客户端挂载后可写可读:

#将目录授权给nfnobody用户和组
chown nfsnobody:nfsnobody /usr/local/filedir

编辑/etc/exports文件

#配置共享的策略,下面的配置意思:允许192.168开头的IP的机器,访问`/usr/local/filedir`,rw:有读写权限,no_root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
/usr/local/filedir 192.168.*.*(rw,no_root_squash,async)

重新加载nfs配置文件

 #重新加载配置,不用重启服务!!!
 exportfs -rv

exportfs:NFS服务端发布共享控制命令。
-r:表示重新刷新共享。
-a:表示将配置文件/etc/exports中的所有定义共享发布出去。
-v:显示确认共享设置。
-u:表示不发布共享。

NFS客户端配置

  因为现在是想要的是同一台机器的不同目录希望能共享文件,所以客户端也是在这个机器上,那么就没必要再次装nfs-utils和rpcbind了,如果客户端和服务端不是同一台机器,那么需要在客户端安装nfs-utils和rpcbind,跟服务端是一样的,这个要特别注意。

  作为客户端,分别创建需要用作服务端共享的目录的挂载点的目录,hereA和hereB目录是用于挂载的挂载点,相当于TomcatA和TomcatB的上传文件的路径,下面创建这两个目录,

#创建目录hereA,相当于TomcatA的文件上传目录
mkdir -p /usr/local/hereA
#创建目录hereB,相当于TomcatB的文件上传目录
mkdir -p /usr/local/hereB

挂载共享目录到挂载点

  使用机器的IP是192.168.122.1,因为实在同一台机器模拟的,所以客户端和服务的机器IP都为:192.168.122.1,执行下面挂载命令:

#将192.168.122.1:/usr/local/filedir挂载到/usr/local/hereA目录
mount -t nfs 192.168.122.1:/usr/local/filedir /usr/local/hereA
#将192.168.122.1:/usr/local/filedir挂载到/usr/local/hereB目录
mount -t nfs 192.168.122.1:/usr/local/filedir /usr/local/hereB

  挂载完毕后,此时已经完成了客户端的配置,如果在/usr/local/hereA/usr/local/hereB分别写入文件,在/usr/local/hereA,/usr/local/hereB,/usr/local/filedir目录中都可以读取到。这样就实现了文件的共享,实际上写入到/usr/local/hereA/usr/local/hereB文件都放到了/usr/local/filedir下,它们只是个挂载点。模拟的过程如下图所示:
在这里插入图片描述
停掉NFS服务后,就可以明显发现文件都在/usr/local/filedir中:
在这里插入图片描述
配置NFS开机自启动

rpcbind默认是会开启了开机自启动的,所以需要配置自启动的只有NFS,所以需要将nfs服务自动启动。

#将NFS服务加入开机自启动
systemctl enable nfs.service
#查看自启动的状态
systemctl list-unit-files|grep nfs
非同一台机器NFS配置

  这里只讲相应的过程说明以及命令描述下来,方便直接以后直接参考着配置:

#例如两台机器:192.168.122.1192.168.122.2 ;192.168.122.1为服务端,192.168.122.2为客户端
#nfs服务端和客户端都需要安装并启动nfs服务
yum install nfs-utils  rpcbind y
#安装后启动nfs服务
systemctl start rpcbind
systemctl start nfs
#将nfs加入自启动
systemctl enable nfs.service

#2.服务端修改/etc/exports文件
#加入下列配置,/usr/local/filedir目录必须存在
/usr/local/filedir 192.168.122.1(rw,no_root_squash,async)

#重新加载配置,可以不用重启服务
exportfs -rv

#3、客户端将服务端的共享目录进行挂载
#相当于将服务端的/usrl/local/filedir挂载到了客户端的/usr/local/filedir
mount -t nfs 192.168.122.1:/usr/local/filedir /usr/local/filedir

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值