【问题标题】:Shared storage between multiple AWS EC2 instances多个 AWS EC2 实例之间的共享存储
【发布时间】:2013-06-29 05:34:30
【问题描述】:

我在多个 EC2 实例之间共享存储时遇到了问题。我将不得不运行繁重的工作,所以我需要很多实例来完成它。 一方面,我有一个 EBS 卷附加到一个服务器实例。另一方面,我有一个工作实例。我创建了这个工作实例的 AMI,然后我创建了这个 AMI 的几个实例副本。它们都在同一个 VPC 上运行。基本上,服务器实例正在发送作业,而工作人员正在执行作业。 当我的工作人员运行作业时,我想在共享存储中保存一些日志文件,例如:

worker_1/ 日志文件.log

worker_2/ 日志文件.log

最好的解决方案是什么?

  • 我了解到不可能将相同的 EBS 卷附加到多个实例。
  • 我查看了 GlusterFS,但发现如下:

“在用两台服务器实现概念验证之前,在不同的可用区,用 ext4 文件系统复制 EBS 卷,我们将列出不应该使用 GlusterFS 的情况: 从多个服务器同时写入的顺序文件,例如日志。如果您将日志存储在 GlusterFS 中,锁定系统可能会导致严重问题。理想的解决方案是将它们存储在本地,然后使用 S3 将它们归档。如有必要,我们可以在将多个服务器日志存储在 S3 之前或之后合并它们。”

  • 最后,我还检查了使用 s3fs 安装的 S3 存储桶,但我发现这也不是一个好选择:​​i>

“您不能使用 s3fs 部分更新文件,因此更改单个字节将重新上传整个文件”。然后,如果您想进行小的增量更改,那么肯定不会。你不能使用 s3fs - S3 只是不能那样工作,你不能增量更改文件。”

那么,有什么好的方法可以解决我的问题并允许我的员工将他们的日志文件写入共享存储中?

感谢您的帮助!

罗曼佐

【问题讨论】:

标签: logging amazon-web-services amazon-s3 amazon-ec2 share


【解决方案1】:

感谢您的回答。但最后我在实例之间使用 NFS 并且效果很好!

【讨论】:

  • 我可以推荐 AWS 中的 NFS。我已经运行了 1 年多了,没有任何问题。在同一地区的网络运作非常好。然而,为 NFS 服务器维护 1 个额外的实例
  • NFS 仍然是 SPOF(单点故障),AWS EFS 仅在俄勒冈地区的预览模式下可用。我认为我们能做的最好的事情是创建一个特定于 NFS 的 EBS 卷,如果 EC2 实例出现故障,请将其分离,然后将其附加到另一个实例。尽管必须在新实例上完成 b/c 准备工作,但这将需要一些时间。
【解决方案2】:

正如this thread 中所述以及已经提供的一些答案中,实现此目标的两种常见方法是使用 S3 或 NFS 在实例之间共享数据访问。

April 9th 2015,亚马逊宣布了Amazon Elastic File System (Amazon EFS),它为您试图解决的问题提供了更好的解决方案。

【讨论】:

  • AWS EFS 仅在俄勒冈州地区以预览模式提供,并且没有关于何时退出预览模式并在所有地区可用的官方消息。
【解决方案3】:

您是否考虑过让每个工作人员将其日志写入本地磁盘(甚至可能在临时分区上),然后让每个工作人员在完成后将自己的大日志文件上传到 S3?

这有点类似于使用 Elastic MapReduce 在 Hadoop 集群上运行一些分布式任务时发生的情况。

您将获得高写入吞吐量(因为它正在写入本地磁盘,如果您使用临时分区),以及将文件发送到 S3 的高上传吞吐量(因为您将拥有许多工作人员的带宽可用)。

【讨论】:

  • 感谢您的回答。我想让工作人员在运行时而不是在工作完成后写入日志(因为这可能是一项非常长的工作)。但最后我现在正在尝试使用 NFS。我们会看看结果如何!
  • 另一种选择是让工作人员将日志写入本地磁盘(附加到本地文件),直到达到某个限制(写入的行数,或写入的字节数,或一定数量的时间过去了,无论如何)。当达到限制时,停止写入该文件并开始写入新文件,并将完成的文件上传到 S3。
【解决方案4】:

不完全确定上下文,但 writing objects 直接在挂载的 S3 上是否可行?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-20
    • 2022-11-11
    • 2015-08-02
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    相关资源
    最近更新 更多