2 zhouxiaozhxi zhouxiaozhxi 于 2014.01.06 20:27 提问

linux多服务器间文件实时同步问题
有这样一个场景,一个应用在3台web服务器A、B、C上部署,各自有一个目录下的文件需要相互同步,保持3台服务器上一致。
现有的一个解决方案是 inotify + rsync,A B C既作服务端又作客户端,A←→B←→C,inotify监控到B发生变化则通过脚本同步到A C。但有明显的问题:由于文件涉及到的文件列表和需要同步的文件比较多,也不知道为什么两段串行同步的脚本一直停留在同步第一个,像是有同步不完的内容,第二条同步的命令始终没有执行;后来我尝试加入&让它们并行执行,完了B服务器爆了——不断的循环同步其他文件导致rsync进程占满内存。不知道谁有更好的思路来实现?最简单粗暴的方法是写两个脚本各自同步,网上有说unison可以双向同步,有没有人实现过这种三台服务器的,还有说A←→B ←NFS→ C,可行性和性能又有多大。


/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w%f' \
            -e modify,delete,create,move ${source_path} | while read file
      do
            /usr/bin/rsync -auvvvvrtzopgP --exclude-from=/etc/rsync_exclude.lst --progress --bwlimit=100 --password-file=${rsync_pwd} ${source_path} ${rsync_user}@${rsync_server}::${rsync_module}
            /usr/bin/rsync -auvvvvrtzopgP --exclude-from=/etc/rsync_exclude.lst --progress --bwlimit=100 --password-file=${rsync_pwd} ${source_path} ${rsync_user}@${rsync_server_bak}::${rsync_module}
      done
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于解决多台服务器间的文件实时同步问题
最近要做一个相关的解决方案,在虚拟机测试没有问题。给大家分享出来,有更好的解决方案,欢迎讨论。 1.1 inotify相关介绍      1、rsync        与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。 随着应用系
多服务器数据同步问题
多服务器并发的操作同一个数据库的同一张表。 有如下一张表: /* Table: APP_TASK */ TASKNO VARCHAR2(22) not null, TASK_TYPE VARCHAR2(2) not null, EXECUTE_TIME DATE, PARMAS_XML VARCHAR2(2000), STATUS VARCHAR2(1)
如何实现Linux多台服务器间的文件双向同步(二)
两台服务器间的文件同步是最简单的,也是多台服务器间同步的基础。 笔者参考了一篇使用Unison工具进行文件双向同步的文章,并用自己的实践加以改版 如下 Linux系统间文件双向同步搭建Unison版 一、Unison简介 Unison是Windows、Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致。Unison拥有
如何实现Linux多台服务器间的文件双向同步(三)
两台服务器间的双向文件同步完整后,要完成3台及以上服务器的双向同步问题,就要来画图说明了。 图中箭头所指的方向表示 指向方执行定时任务以向被指向方 双向同步文件;如图中A app1 指向了 app2则由 app1执行计划任务 与app2双向同步文件。3台服务器要完成逻辑集群,文件双向同步链路最少需要2条,如图中B的连接方法。 但是B的连接方法有个问题,在假设 3台服务器上传文件的频率及文
如何实现Linux多台服务器间的文件双向同步
Linux系统间文件双向同步搭建Unison版  一、Unison简介  Unison是Windows、Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致。Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点:  1.跨平台使用;  2.对内核和用户权限没有特别要求;  3.Unison是双向的,它能自动处理两
CentOS7下rsync实现服务器之间实时同步
rsync简介 rsync是类unix系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 文章主讲实际操作,不再进行详细叙述,想要了解更多可以查看百度百科。 一、提前说明:        1)以在两台服务器之间建立定时同步为例,将服务器A  /home/jack 路径下的内容备份到服务器B /h
window 下两台服务器之间同步。
http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0819/8523.html https://www.cnblogs.com/qiyebao/p/3992171.html 按第一篇文章一步步操作下来,失败。 原因:rsyncd.conf文件中配置少了uid = 0 gid = 0
linux系统文件的实时同步的实现
linux多服务器实现双方或者一方的文件实时同步问题。里面详细阐述了,我在研究开发过程中真正实践出来的例子。
多服务器共享Session的解决方案
问题为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使用客户的Session?1、写客户端Cookie的方式把原来存储在服务器磁盘上的session数据存储到客户端的cookie中去。(一般是把session数据按照自己定义的加密规则(如:采用DES、RS
rsync多个服务器之间同步文件
systemctl stop firewalld.service #停止firewall   systemctl disable firewalld.service #禁止firewall开机启动   //关闭SELINUX  vi /etc/selinux/config   SELINUX=disabled setenforce 0 //下载并安装rsync wge