使用 rsync 进行负载平衡

使用 rsync 进行负载平衡

我有2个具有公共IP的服务器:

SERVER A - 10.10.10.11
SERVER B - 10.10.10.12

两台机器都是centos 6系统,安装了nginx和php-fpm,两个完全相同的网站存储在:/var/www/html

域名为:myxdomain.com,DNS由cloudflare托管(因为cloudflare支持循环),将域名指向A记录10.10.10.1110.10.10.12。我知道循环 DNS 不涵盖故障转移或失败转移,但这并不重要,我需要的是:

我如何同步/var/www/html服务器 A 和服务器 B 完全相同?假设:

1)用户将其文件上传到服务器A,文件内容也将同步到服务器B。
2)用户将其文件上传到服务器B,文件内容也将同步到服务器A。

rsync 在这里是好的选择吗?有没有合适的命令行和 cronjob 时间示例?

谢谢

答案1

尝试:

rsync -vaEW source destination

当然,另一边也一样。

答案2

检查此链接: http://howtodba.com/how-to-build-a-cheap-web-cluster-with-replicated-storage-and-mysql-master-master-configuration/

阅读步骤4:安装GlusterFS服务器和客户端

我已将该教程用于主-主 Web 集群,并通过 GlusterFS 进行复制存储。

答案3

我会评估Bittorrent 同步这里;它将处理双向“多主”同步,无需第三方云。

您可以将其设置为仅与特定主机同步,因此您将只与其他节点同步。

答案4

如果你真的想要 LB,可以尝试 csync。它使用 rsync 协议,但它是为双向同步而设计的。

相关内容