美文网首页
多节点Tomcat利用NFS实现共享目录

多节点Tomcat利用NFS实现共享目录

作者: 三叉戟渔民 | 来源:发表于2018-07-06 14:31 被阅读0次

个人博客地址

第一步:安装NFS
1、准备(客户端和服务端)
[root@web1 ~]# cat /etc/redhat-release  # 查看系统版本
CentOS release 6.7 (Final)
[root@web1 ~]# uname -r #查看系统内核版本
2.6.32-573.el6.x86_64
[root@web1 ~]# uname -m #查看系统是否64位
x86_64
2、检测软件是否安装
[root@web1 ~]# rpm -qa nfs-utils rpcbind    #检查安装的软件包
rpcbind-0.2.0-13.el6_9.1.x86_64
nfs-utils-1.2.3-75.el6_9.x86_64

若没有安装执行以下命令进行安装:

[root@web1 ~]# yum install -y nfs-utils rpcbind #
第二步:配置NFS服务端
1、设置共享目录
[root@web1 ~]# vi /etc/exports
/home/tomcat/tomcat7/webapps/aml 172.16.69.121(rw,sync)
#为172.16.69.121读写操作source目录权限

2、参数

rw 可读可写
ro 只读
sync 数据同步写入内存缓冲区与磁盘中,虽然这样做效率较低,但可以保证数据的一致性(适合于小文件传输
async 数据先暂时放于内存,而非直接写入硬盘,等到必要时才写入磁盘(适合于大文件传输)
no_root_squash 使用nfs时,如果用户是root,不进行权限压缩,即root用户在nfs上创建的文件 属组和属主仍然是root(不安全,不建议使用)
root_squash 使用nfs时,如果用户是root,则进行权限压缩,即把root用户在nfs上创建的文件 属组和属主修改为nfsnobody
all_squash 所有的普通用户使用nfs都将使用权限压缩,即:将远程访问的所有普通用户及所属用户组都映射为匿名用户或者用户组(一般均为nfsnobody)
no_all_squash 所有的普通用户使用nfs都不使用权限压缩,即:不将远程访问的所有普通用户及所属用户组都映射为匿名用户或者用户组(默认设置)
anonuid=XXX anon即anonymous(匿名者),前面关于*_squash提到的匿名用户的uid的设置值,通常为nobody或者nfsnobody,使用这个参数可以自行设定这个uid值,这个uid必须存在 于/etc/passwd
anongid=XXX 将远程访问的所有用户组都映身为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=XXX)
insecure 允许客户端从大于1024的TCP/IP端口连NFS服务器
secure 限制客户端只能从小于1024的TCP/IP端口连接NFS服务器(默认设置)
wdelay 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可提高效率(默认设置)
no_wdelay 若有写操作则立即执行(应与sync配置)
subtree_check 若输出目录是一个子目录,则NFSW:务器将检查其父目录的权限(默认设置)
no_subtree_check 即使输出目录是一个子目录,NFS服务器也不检查其父目录的权限,这样做可提高效率
第三步:启动NFS

NFS启动之前需要先启动rpcbind。

#启动rpcbind
[root@web1 ~]# service rpcbind start
#启动nfs
[root@web1 ~]# service nfs start
#设置开机启动
[root@web1 ~]# chkconfig rpcbind on
[root@web1 ~]# chkconfig nfs on
[root@web1~]# lsof -i :111  #查询rpcbind监听状态 (111是rpcbind的主端口)
[root@web1~]# netstat -lntup |grep rpcbind #查询rpcbind服务启动状态 (同lsof查询端口效果一样)
root@web1~]# rpcinfo -p localhost #查看NFS服务项rpc服务器注册的端口信息
image.png

上图是未启动NFS服务的rpcbind的状态

第三步:配置客户端

1、安装nfs、rpcbind

[root@web2 ~] # yum install -y nfs-utils rpcbind #

2、挂载

[root@web2 ~] # mount -t nfs  172.16.69.120:/home/tomcat/tomcat7/webapps/aml /home/tomcat/tomcat7/webapps/aml
#查看是否已经挂载
[root@web2 ~] # df -h
[root@web2 ~] # mount
[root@web2 ~] # cat /proc/mounts
第四步:配置Tomcat
server.xml中在</Host>前添加:
    <Context path="/home/tomcat/tomcat7/webapps/aml" docBase="/home/tomcat/tomcat7/webapps/aml" reloadable="true"></Context> 

然后访问路径就是:172.16.69.120:8080/ 你设置的路径/

遇到的问题

1、device is busy
umount卸载时候遇到device is busy

解决:杀进程

[root@web1~] # fuser -m /home/tomcat/tomcat7/webapps/aml
/home/tomcat/tomcat7/webapps/aml        10231c
[root@web1~] # kill -9 10231
[root@web1~] # umount -t nfs 172.16.69.120:/home/tomcat/tomcat7/webapps/aml

2、was not found in /proc/mounts
同样是umount时候遇到的问题

解决:umount -l来卸载

#查看异常的挂载是否存在
[root@web1~] # cat /proc/mounts
[root@web1~] # umount -l 172.16.69.120:/home/tomcat/tomcat7/webapps/aml
相关命令
[root@web1~] # service rpcbind start/stop/status        #启动/关闭/状态rpcbind
[root@web1~] # service nfs start/stop/status            #启动/关闭/状态nfs
[root@web1~] # showmount -e 127.0.0.1       #查看本机挂载情况

相关文章

  • 多节点Tomcat利用NFS实现共享目录

    个人博客地址 第一步:安装NFS 1、准备(客户端和服务端) 2、检测软件是否安装 若没有安装执行以下命令进行安装...

  • 3.3Redis+Spring共享session

    在以往通过nginx+tomcat实现负载均衡时,利用redis来实现session共享,原理是利用tomcat的...

  • Nmap --- NFS共享目录配置漏洞

    目的:利用nfs服务的共享目录配置漏洞,读取目标主机的/etc/passwd文件原理:NFS服务配置漏洞,赋予了根...

  • Linux——NFS

    nfs网络文件系统常用于共享音视频,图片等静态资源。将需要共享的资源放到NFS里的共享目录,通过服务器挂载实现访问...

  • Linux_168_nfs语法参数解释

    nfs语法参数解释(1) nfs共享目录:是NFS服务器需要共享出去的实际目录,文件夹,必须写绝对路径,且注意目录...

  • NFS 配置

    NFS 目录共享服务 安装 配置共享 重启nfsfuwu 查看本机共享目录信息 查看nfs运行情况 配置防火墙 挂载

  • kubernetes(k8s)jenkins+gitlab自动化

    一、共享存储NFS部署 1、关闭防火墙 2、安装配置 nfs 3、共享目录设置权限: 4、配置 nfs,nfs 的...

  • 利用NFS实现MySQL共享数据目录的尝试

    1.按照之前配置的NFS实现了mysql数据目录的共享 参考:http://www.jianshu.com/p/d...

  • ubuntu下搭建nfs服务

    安装 NFS 软件包 添加 NFS 共享目录 启动 NFS 服务 测试 NFS 服务器 - 注意:在 mount ...

  • 【NFS】NFS文件共享服务

    一、实验目的 搭建一个NFS共享文件服务器,客户端可以通过NFS挂载共享目录,以达到文件共享目录。 二、实验环境 ...

网友评论

      本文标题:多节点Tomcat利用NFS实现共享目录

      本文链接:https://www.haomeiwen.com/subject/eyavuftx.html