【问题标题】:How to rsync to all Amazon EC2 servers?如何同步到所有 Amazon EC2 服务器?
【发布时间】:2012-05-10 15:56:10
【问题描述】:

我有一个 Scalr EC2 集群,并且想要一种在所有实例之间同步文件的简单方法。

例如,我在一个实例的 /var/www 中有一堆文件,我希望能够识别所有其他主机,然后 rsync 到每个主机以更新它们的文件。

ls /etc/aws/hosts/app/

返回所有其他实例的 IP 地址

10.1.2.3 10.1.33.2 10.166.23.1

想法?

【问题讨论】:

  • 我不想问一个明显的问题,但为什么不把它存储在 S3 上呢?

标签: amazon-ec2 rsync scalr


【解决方案1】:

正如 Zach 所说,您可以使用 S3

  • 您可以下载许多客户端之一,用于将驱动器映射到 S3。 (搜索 S3 和 webdav)。
  • 如果我要走这条路,我会设置一个包含所有共享文件的 S3 存储桶,并在 cronJob 中使用 jetS3 将每个节点的本地驱动器同步到存储桶(下拉 S3 存储桶更新)。然后,由于我通常使用 eclipse 和 ant 进行构建,因此我将创建一个 ANT 作业来将更新部署到 S3 存储桶(将更新推送到 S3 存储桶)。

来自http://jets3t.s3.amazonaws.com/applications/synchronize.html

Usage: Synchronize [options] UP <S3Path> <File/Directory>

(...) 或:同步 [options] DOWN

UP      : Synchronize the contents of the Local Directory with S3.
DOWN    : Synchronize the contents of S3 with the Local Directory
...

如果您不需要跨节点文件锁定,我会推荐上述解决方案。这很简单,每个系统都可以从一个中心位置提取数据。

如果你需要更多的跨节点锁定:

一个理想的解决方案是使用 IBM 的 GPFS,但 IBM 不会直接放弃它(至少现在还没有)。尽管它是为高性能互连而设计的,但它也能够用于较慢的连接。我们用它作为 NFS 的替代品,它的速度非常快(大约是 NFS 的 3 倍)。可能有类似的东西是开源的,但我不知道。编辑:OpenAFS 可能适用于在许多 EC2 实例上构建集群文件系统。

您是否评估过使用 NFS?也许您可以将一个实例专用为 NFS 主机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多