在 03 个或更多网络服务器之间同步文件夹的最佳方法是什么?

在 03 个或更多网络服务器之间同步文件夹的最佳方法是什么?

我有 03 台服务器,我想在它们之间同步一些文件夹。我使用 DRBD + OCFS2 已有一年左右了,但它目前不支持超过 02 台服务器。我读过关于 GlusterFS 和 CEPH 的文章,但有很多关于它们的负面评论与文件丢失有关。

我需要使用主动-主动-主动布局实时同步所有服务器。有人知道如何做到这一点吗?

编辑:

我的场景包含数百万个小文件(10KB 或更少),因此我需要性能良好的文件系统。使用大文件时,GlusterFS 性能良好,但在处理小文件时会受到影响。

答案1

取决于您的数据来源。

如果您想要同步的数据是在其他地方生成的(开发人员工作站等),并且仅通过这 3 台服务器分发给客户端,我建议通过 rsync 或某些 CI 工具(如 Jenkins)将数据推送到三台服务器中的每一台,并将文件保存在每台服务器的本地磁盘上。

如果数据由这三台服务器生成和提供,那么 NFS 等外部数据存储是最简单的方法。但是,由于需要 HA(NFS 至少需要 2 台服务器),这可能会增加成本。如果您只绑定到 3 个服务器,请在这种情况下选择 GlusterFS。Gluster 使用本地文件系统来存储文件,因此在镜像模式下,您可以在将来轻松关闭 Gluster,同时将停机时间降至最低(因为文件存储在每台服务器的本地文件系统上)。

相关内容