如何保持多个服务器同步文件明智?

GFo*_*Sys 3 linux rsync amazon-ec2

我目前正在管理一组 PHP-FPM 服务器,所有这些服务器都倾向于彼此不同步。我在应用服务器 (Magento) 上使用的应用程序允许管理员修改系统上的各种文件,但现在该站点处于集群设置中,修改文件仅在单个实例上修改它(在集群中各种机器的应用服务器之一。

是否有适用于 Linux 的开源应用程序可以让我保持所有这些服务器同步?创建一个可以侦听从机器到同步的更改的小型 VM 实例我没有问题。从理论上讲,完美的应用程序将有在每台机器上运行的小客户端进行同步,这将与主服务器通信,然后主服务器将决定如何/从每台机器同步什么。

我已经研究了运行集中式文件服务器的可能性,但不幸的是,我的应用程序服务器分布在 EC2 和物理机之间,这使得这不可行。由于有多个应用程序服务器(其中一些是根据站点负载动态创建的),简单地设置 rsync cron 作业效率不高,因为必须在每台机器上修改 cron 作业才能相互发送文件集群中的机器,这只是一堆不必要的数据传输/ssh 连接。

Bil*_*hor 5

您可能需要考虑使用 Puppet 或 CFEngine 对服务器进行更改。此类工具允许您对所有服务器进行受控更改。它们有助于保持多个服务器的配置同步。