网络文件系统(NFS)解决 负载均衡配置下的不同服务器【Linux】文件同步问题

负载均衡配置下的不同服务器【Linux】文件同步问题


2017年04月13日 22:04:28 

nfs服务的安装和配置 也可参考此文: https://blog.csdn.net/aixiaoyang168/article/details/83782336


问题描述:

        生产环境中有两台Linux服务器,每台服务器上配置有nginx做负载均衡,每台服务器上各有一个tomcat。近日在部署新项目时,发现文件在上传以后,因为负载均衡的作用,文件会被随机保存在其中一台服务器上【程序目前设计的是把文件存储在tomcat目录下】。当下载该文件的时候,请求有可能到另外一台服务器去寻找该文件资源,就会出现找不到文件的异常。所以需要做两台服务器之间的指定位置文件同步。


解决方法建议

          使用网络文件系统(NFS)配置共享文件,通过系统的方式解决。能通过系统方式解决的问题就尽量不要去用人工程序解决,这样更加严谨,出错率更低,效率也会更高。具体操作如下:


处理前提:

     《1》两台linux服务器之间能够互相通信

      《2》建议关闭服务器的防火墙

      《3》 安装nfs服务,

      《4》建议两台服务器操作使用相同的用户权限

步骤:
② 假设想要把1号服务器作为文件实际存储的位置,我们就把1号服务器作为服务机
③ 修改nfs主配置文件/etc/exports,添加/nfstest共享设置。
      [root@nfs-server ~]# vi /etc/exports
       加入下面一行数据后保存。
      /home/nfstest 192.168.100.2 (rw,sync,no_root_squash)

     【绝对路径,是文件实际保存(同步到的)的位置】 【被同步的服务器ip地址】

上面的意思是:设置为只对192.168.100.2用户读写权限,并同步写入内存与硬盘,开放客户端使用root身份。

④进行启动设置和检查。
       启用NFS相关服务程序。
       rpcbind和nfs服务均启动成功后,执行showmount -e可查看本机当前已发布的共享资源列表:

       命令如下: 
            [root@nfs-server ~]# service rpcbind start
            [root@nfs-server ~]# service nfs start
            [root@nfs-server ~]# chkconfig rpcbind on //设置开机启动服务
            [root@nfs-server ~]# chkconfig nfs on
            [root@nfs-server ~]# chkconfig --list rpcbind //确保服务开机启动
                        rpcbind 0:off1:off2:on3:on4:on5:on6:off
            [root@nfs-server ~]# chkconfig --list nfs
                        nfs 0:off1:off2:on3:on4:on5:on6:off
            [root@nfs-server ~]# showmount -e localhost //查看本机发布共享资源
                        Export list for localhost:
                        /home/nfstest 192.168.100.2
⑤接下来进行客户机操作: 进入客户机192.168.100.2进行配置,也要安装nfs服务。


⑥从客户机上查看服务器的NFS共享资源列表。
客户机必须安装了nfs-utils软件包,才能使用showmount命令查看NFS资源:
            [root@client01 ~]#showmount -e 192.168.100.1[YA4] 【服务机ip】
                        Export list for192.168.100.1:
                        /home/nfstest192.168.100.2
⑦从客户机192.168.100.2上挂载/nfstest共享,并测试读写权限。
            [root@client01 ~]# mount 192.168.100.1:/home/nfstest /mnt //将共享目录挂载到本地mnt目录下
            df –h 查询挂载信息
⑧设置开机后自动挂载NFS共享资源。
            [root@client01 ~]# vi /etc/fstab
                        192.168.100.1:/home/nfstest /mnt nfs defaults 0 0 //文件类型为nfs
            [root@client01 ~]# umount /mnt
            [root@client01 ~]# mount -a
            [root@client01 ~]# mount | tail -n 1
                        192.168.100.1:/nfsteston /mnt type nfs(rw,vers=4,addr=192.168.100.1,clientaddr=192.168.100.2) //开机自动挂载成功

猜你喜欢

转载自blog.csdn.net/xiaoanzi123/article/details/100171658