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


9

我有2个Web服务器,并且有机会在此过程中添加更多服务器。现在,我使用lsyncd + csync2使这些服务器保持同步。由于所有文件都在两台服务器上(不需要网络访问权限才能在本地打开文件),因此在性能方面明智地工作,但是在其他情况下效果不是很好。

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

我不禁想到,必须有一种更好的方法来保持服​​务器同步。我一直在查看GlusterFS,但不建议使用将所有文件复制到所有服务器的设置。但是,我在这些服务器上运行像Drupal这样的CMS系统。这样的CMS系统通常会打开很多文件,而我担心太多的网络流量无法容纳这些文件会降低请求的速度。

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


2
我可能在这里误解了您的问题,但是为什么不使用服务器之间共享的网络存储呢?
mveroone

1
@Kwaio:我想“镜像”所有Web服务器(脚本和用户上传的内容),因为如果托管共享存储的服务器出了问题,这可以防止停机。换句话说,我不想依靠所有Web服务器再次依赖文件的单个存储的设置。
sbrattla

那为什么不建立一个高可用性的网络存储集群呢?
mveroone

当然可以,但这意味着什么呢?硬件?
sbrattla

我不是专家,但这意味着将您的网络存储镜像到2个群集的主从架构中,并在主服务器发生故障时切换系统。大多数网络存储设备供应商都提供了解决方案,即使您可以使用Linux设备自己构建它,这也需要大量的开发。
mveroone 2013年

Answers:


2

BitTorrent Sync可以为您做事。我正在使用它来使我家中一些内部服务器之间的文件保持同步,并且它的工作非常出色。您需要考虑的另一件事是应用程序使用CMS时的后端数据库。确保正在进行MySQL复制,或类似的复制。


那很有意思。BitTorrent Sync如何处理冲突?假设我有5台Web服务器,并且在服务器A上更新了一个文件。然后,两秒钟后,在服务器C上更新了相同的文件,然后A上的更改达到了C。该软件是否具有用于设置哪个服务器的算法在这些情况下胜出?
sbrattla 2014年

我的理解是,BitTorrent Sync会比较两个副本上的修改日期/时间,并且仅保留最新的修改日期/时间,这可能是理想选择,也可能对用例有害。
whiskykilo 2014年

1

Gluster可以解决您遇到的问题,因为它可以保持锁定,传播更改-删除所有其他节点上的文件,但是它可能会增加其他延迟,这对于Web服务器可能是一个问题。下一个替代方法是DRBD + OCFS2或GFS,但是与使用底层文件系统的gluster相比,它可能更复杂-它不会在块级运行,因此如果服务器不同步,则修复起来不太难,文件可以不会因为脑裂等原因而容易腐败。

我们将其用于邮件服务器,并且对于包含大量文件的目录而言,它的运行速度相当慢。在部署之前,您绝对应该测试所有内容。我目前正在测试NFS挂载,因为它适用于较小的文件。


1

GlusterFS很难部署。对于Web数据,像Unison这样的文件同步级别更易于部署和维护。

DRBD是使数据保持块级同步的理想解决方案。但是您必须将其格式化为特殊格式,例如OCFS2或类似格式。


GlusterFS与DRBD不同-它不是在块级别上运行,而是在文件级别上运行。但是我同意统一更容易部署。
Jure1873 2014年

-3

为什么不使用像puppet这样的工具?在源代码中编写一次,并准备就绪即可使用“木偶踢”或mcolletive将其部署到目标。有据可查。而且,您以后可以根据需要轻松添加服务器。

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

可以肯定的是,修改是否也在服务器2上或仅在服务器1上进行?


3
不推荐使用-Puppet 不是使文件在服务器之间保持同步的好方法。但是,它用于管理服务器配置的出色工具。
Craig Watson

修改可能会在任何服务器上进行,因为它们参与了负载平衡设置。用户可以将文件上传到任何服务器,因此,随着流量在服务器之间传播,该文件应在所有服务器上都可用。
sbrattla

1
好吧,在这种情况下,木偶不是您想要的(但@Craig Watson仍然是文件,配置或HTML,它仍然是文件)。我怀疑GlusterFS是否已准备好投入生产,因此,如果您确实想要一些安全的东西,则最好使用具有高可用性的NFS服务器。
Rosco 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.