linux多服务器间文件实时同步问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux多服务器间文件实时同步问题

2016-06-14 11:36:00 3505 1

有这样一个场景,一个应用在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
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:37:07

    建议你固定将一台机器作为主节点,其它两台机器从主节点复制文件,这样能避免不必要的冲突问题。否则真可能产生你提到的循环复制问题。

    我的解决方案是利用SVN hook+ ssh remote command推送到三台web服务器上。

    使用nfs虽然可以简化文件共享问题,但还是有问题的,之所以舍弃掉nfs,当时是基于以下几点考虑:

    1. 可靠性及单点故障问题,一旦nfs server崩溃(网络原因,磁盘损坏等),所有的web server都不可用。安全隐患极大。

    1. 性能,通过ab压力测试工具的反复验证,nfs性能仅本机磁盘的四分之一不到,毕竟多了一层网络传输开销,性能降低也是必然的。

    svn hook + ssh command即可很好地解决这个问题。

    在svn server上建立svn post-commit脚本,当提交完成后,在每台web server上远程执行svn update命令更新即可,这可通过ssh username@host command(须做好密钥登录机制)。

    0 0
相关问答

1

回答

有大佬能解读下不,安装探针的时候读的这个文件是什么,我的服务器上找不到这个文件?

2022-07-28 10:41:07 111浏览量 回答数 1

1

回答

flink sink到hdfs 在idea跑的时候正常,部署到服务器写的文件 都是0b,怎么回事?

2022-07-20 14:31:30 88浏览量 回答数 1

0

回答

请问Dataworks能否处理FTP服务器上的xml文件?

2022-07-10 22:28:14 173浏览量 回答数 0

1

回答

请问下PTS要怎样编辑hosts文件,实现相同域名连接到不同后端服务器的对比?

2022-06-20 21:03:42 195浏览量 回答数 1

1

回答

实例回收一般是在什么时期?现在是一个请求进来,在服务器上临时创建了文件夹跟文件

2022-05-26 10:03:48 239浏览量 回答数 1

1

回答

我想请问一下函数计算能支持在服务器上临时存文件吗?

2022-05-26 10:02:10 246浏览量 回答数 1

2

回答

钉钉小程序能否上传word/pdf这些文件给后端服务器

2022-03-31 22:45:06 1296浏览量 回答数 2

2

回答

https证书续费后需要替换服务器的证书文件吗

2022-03-26 17:00:05 1081浏览量 回答数 2

1

回答

linux中通过 SCP 命令将文件从本地服务器复制到远程主机的方法是什么?

2021-12-05 17:53:14 152浏览量 回答数 1

1

回答

zabbix中上传到服务器本地路径的文件是什么?

2021-12-02 19:09:40 93浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
ECS系统指南之Linux系统诊断
立即下载
ECS运维指南 之 Linux系统诊断
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载