我正在使用位于 Amazon 云自动缩放功能后面的 Linux 服务器集群(文档)。每个服务器上都会积累一些文件,它们是应用程序的缓存文件。我正在寻找一种自动方式让服务器在它们之间同步该文件夹。
Rsync
如果有人有一种聪明的方法来进行同行检测,那么就会起作用。- 同样适用于
Unison
. - 我们还考虑过使用 SaaS,例如 Dropbox。
- Gluster 似乎有点矫枉过正,而且我不确定让一台新计算机自动加入集群有多容易。
理想情况下,当启动新服务器时,它会发现其对等服务器并开始同步文件夹。从那时起,最新的文件戳将赢得 P2P 同步。
有什么东西可以做到这一点吗?
答案1
你知道,虽然听起来很奇怪,但在私有 ec2 范围上使用启用了 DHT 的 rtorrent 是可行的
这会给你
- 自动对等点发现
- 已验证的文件状态(哈希值是的)
- 最低配置要求(在启动脚本中为 torrent 添加磁力(或最新 torrent 的虚拟 IP))
- 可扩展性
答案2
Rsync上游提供对SLP(服务定位协议)的支持。它在普通 rsync 源中未启用,但您可以在 rsync 主页 (slp.diff) 的 rsync-patches tarball 中找到 SLP 支持。例如 SUSE rsync 包就是用这个补丁构建的;我不知道其他发行版。
不过,我不确定这是否是您想要的,也没有任何 SLP 经验。
答案3
也许我在这里遗漏了一些东西,但是有什么原因你不只是设置一个简单的 NFS 目录并让所有机器都安装它吗?每当应用程序写入新的缓存文件时,它都应该覆盖任何旧的缓存文件。
答案4
或许DRBD(分布式块设备)?