GlusterFS 是保持网络服务器同步的好选择吗?

sbr*_*tla 9 replication web-server glusterfs lsyncd csync2

我有 2 个网络服务器,在此过程中可能不得不添加更多服务器。现在我使用 lsyncd + csync2 使这些服务器保持同步。它在性能方面运行良好,因为所有文件都在两台服务器上(无需网络访问即可在本地打开文件),但在其他情况下效果不佳。

一个例子是,如果我删除了服务器 1 上的一个文件,并立即将一个新文件上传到服务器 1,该文件具有相同的名称。然后该文件将同时从服务器 2 中删除,导致服务器 1 上新上传的文件被删除,因为服务器 2 将删除事件发送到服务器 1 以完成“更新循环”。

我不禁想到必须有更好的方法来保持服​​务器同步。我一直在研究 GlusterFS,我发现不鼓励将所有文件复制到所有服务器的设置。但是,我在这些服务器上运行了像 Drupal 这样的 CMS 系统。这样的 CMS 系统通常会打开相当多的文件,我担心太多的网络流量无法获取这些文件会减慢请求速度。

考虑将 lsyncd + csync2 替换为设置为将所有文件复制到所有节点的 GlusterFS 是一个想法,还是一个坏主意?

Ros*_*sco -3

为什么不使用像puppet这样的工具呢?在源中编写一次,准备好后使用“puppet kick”或 mcollective 将其部署到目标。这是有据可查的。如果需要,您可以稍后轻松添加服务器。

您还可以依赖使用 inotify 的工具,例如 lsyncd,在内核级别工作。它监视文件夹中的更改并触发同步。但是,如果像 csync2 这样专门用于集群上文件同步的工具还不够,我不知道还会有什么。

只是为了确定,修改是否也发生在服务器 2 上还是仅发生在服务器 1 上?

  • 被否决 - Puppet 并不是在服务器之间保持文件同步的好方法。然而,它**是**管理_服务器配置_的出色工具。 (3认同)