网络节点间文件同步

网络节点间文件同步

我正在寻找 Web 节点之间的双向数据同步。我有两个具有 DNS 负载平衡的 Web 服务器。我目前正在使用“lsyncd”,但是由于负载平衡功能,当我在节点 B 上添加一些内容(文件、图像)时,它不会复制到节点 A。是否可以使用 rsync(lsyncd)以便双向同步文件?

答案1

您可以查看像 DRBD 这样的文件系统,它会自动通过网络同步已安装的卷,有点像联网的 RAID 镜像集。根据您的特定需求,您可能必须将其设置为具有心跳的集群,以确保避免出现脑裂情况,但这可能是为独立系统设置双向同步的最佳方式。

否则,您可以制定某种形式的脚本 RSync,但可能会遇到竞争条件或奇怪的文件访问异常。

我知道的最后一个选择是在后端有一个文件服务器,两个 Web 服务器都挂载该服务器,这样实际上就有一个文件存储,或者使用光纤通道或 iscsi 的其他共享存储服务器解决方案。

答案2

是的,rsync 可以处理这个问题(使用 -u 标志在两端运行)或者直接使用 unison。但是对于托管部署过程,文件复制应该只在一个方向上运行。

更好的是,使用像 AFS 这样的分布式集群文件系统

相关内容