10

因此,在一个简单的情况下,如果只有一个实例,那么我可以将数据存储到安装在该实例上的 EBS 卷中。例如 /mnt/db

但是,如果我扩展并拥有多个实例(静态或动态扩展),它是如何工作的?

因为一个 EBS 只能附加到一个实例,如果我有多个实例,是否意味着我必须为每个实例附加一个 EBS 卷?如果是这样,每个 Instance 的 EBS 卷上的数据会有所不同。

很明显,我希望所有实例都访问(R&W)单个卷(作为数据存储)。并且卷中的数据会不断增长,并且没有停机时间。

解决办法是什么?有没有办法不挂载设备(EBS),只调用它来访问数据?

这是我能想到的:1)如果每个实例都有自己的EBS卷,那么每个时间间隔(例如1小时),所有实例都会卸载和分离EBS卷,并附加一个新卷。然后是一个强大的实例,它可以挂载所有刚刚分离的 EBS 卷,并聚合所有数据。2) 或类似于 1),而不是分离和附加,我只是为所有实例的所有卷拍摄快照。然后强大的实例聚合来自快照的数据。并将结果保存到另一个 EBS 或 S3。

这两种方法似乎有效..但需要大量工作。有没有更聪明的方法来解决这个问题?谢谢。

  • 顺便说一句,由于性能问题,我不能让实例将数据写入 S3。:)

哦,这个怎么样 3)首先,所有实例都有自己的 EBS 并将数据写入 EBS。然后每个小时,数据将被发送到 S3。然后另一个实例将聚合它们。

4

2 回答 2

1

拥有可以挂载到其他实例的 ang NFS 实例怎么样?

于 2011-01-27T03:25:25.687 回答
0

您似乎需要为最新的 EC2 实例创建 EBS 快照。这将创建一个 EBS 支持的 AMI。然后,您需要终止所有不是最新的 EC2 实例,并从新创建的 AMI 启动新的实例堆栈。如果您正在运行负载均衡器,那么您还必须将这些新实例附加到您的负载均衡器。这似乎有点冗长,但都可以通过编程方式完成。至少这就是我认为使用 Amazon 在云中进行扩展的方式以及跨多个实例传播更改的方式。其他有更多经验的人验证了这一点。我打算稍后自己测试一下。

于 2012-05-01T07:55:24.910 回答