负载均衡配置下的不同服务器【Linux】文件同步问题
负载均衡配置下的不同服务器【Linux】文件同步问题
2017年04月13日 22:04:28 守望dfdfdf 阅读数:2468 标签: linux负载均衡服务器 更多
个人分类: 工作 问题
编辑
版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csdn.net/xiaoanzi123/article/details/70162633
2017.3.24
问题描述:生产环境中有两台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 --listrpcbind //确保服务开机启动
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 -elocalhost //查看本机发布共享资源
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) //开机自动挂载成功
负载均衡配置下的不同服务器【Linux】文件同步问题的更多相关文章
- logstash+redis收集负载均衡模式下多台服务器的多个web日志
一.logstash的简介 一般我们看日志来解决问题的时候要么 tail+grep 要么 把日志下载下来再搜索,可以应付不多的主机和应用不多的部署场景.但对于多机多应用部署就不合适了.这里的多机多应用 ...
- cwRsync window下的跨服务器的文件同步
cwRsync 是window下的文件同步软件,可以跨服务器运行,第一次运行的时候是全部备份同步,之后的同步采用的是增量同步 这个软件分为服务端和客户端. 服务器是需要同步的文件源, 客户端相当于是备 ...
- 在Nginx中做负载均衡配置的实例讲解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法. 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某 ...
- 用nginx进行同一个服务器下多域名的负载均衡配置
用nginx进行同一个服务器下多域名的负载均衡配置 Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后 ...
- Linux 下 Nginx 反向代理 负载均衡配置
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/52036350 上一篇分享了 Nginx + JDK + Tomcat + MySQ ...
- Nginx + Tomcat Windows下的负载均衡配置
Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...
- 集群下Dubbo负载均衡配置
在集群负载均衡时,Dubbo提供了4种均衡策略,默认为Random(随机调用) 负载均衡策略: 1).Random LoadBalance(随机,按照权重的设置随机概率) 2).RoundRobin ...
- nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Linux记录-Nginx+Tomcat负载均衡配置
Nginx负载均衡配置及策略: 轮询(默认) 优点:实现简单缺点:不考虑每台服务器的处理能力配置示例如下:upstream www.xxx.com {# 需要负载的server列表server www ...
随机推荐
- iOS工程师 - 简历
基本信息 姓 名:张学友 性 别:男 年 龄:28 学 历:本科 毕业学校:广西师范大学 专 业:通信工程 手 ...
- [hdu 2604] Queuing 递推 矩阵快速幂
Problem Description Queues and Priority Queues are data structures which are known to most computer ...
- STL_ALGORITHM_H
sort_unique_copy /////////////////////////////////////////////////////////// // Copyright (c) 2013, ...
- 关于javascript数据存储机制的一个案例。
之前在学习js的结合性的时候,我有点不太明白,在网上找到一个比较经典的C语言优先级结合性的案例,就是下边这一个.本想在js之中测试一番,结果竟然发现得出的结果和网上的不一样,这令我百思不得其解,后经高 ...
- Liunx 发送邮件
可以使用rpm -qa | grep mailx查看系统自带的mailx版本. 使用wget http://sourceforge.net/projects/heirloom/files/latest ...
- nodejs創建目錄命令mkdir失敗
Windows系統 學習nodejs創建目錄命令:mkdir var fs = require('fs'); fs.mkdir('./tmp/test',function (err) { if(err ...
- 使用Entity Framwork 保存数据时,提示不能在对象中插入重复键,违反了PRIMARY_KEY约束
这种情况,大多发生在有外键存在的情况下,解决方法是: 把dataContext.Set<T>().Add(model)修改成dataContext.Models.Add(model);
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_发布者策略控制
在 读经典——<CLR via C#>(Jeffrey Richter著) 笔记_高级管理控制(配置)中,是由程序集的发布者将程序集的一个新版本发送给管理员,后者安装程序集,并手动编辑应用 ...
- BFS + 状态搜索
题目 题意 给一个100x100的迷宫,'.'表示路面,'S'表示起点,'T'表示终点:'#'表示毒气区,进入毒气区必须要消耗一个氧气:'B'表示氧气区,每次进入自动获得一个氧气,可反复进入从而获得多 ...
- Java使用Array类创建多维数组
1.创建一维数组 import java.lang.reflect.Array; public class ArrayTest { public static void main(String[] a ...