因此,在一个简单的情况下,如果只有一个实例,那么我可以将数据存储到安装在该实例上的 EBS 卷中。例如 /mnt/db
但是,如果我扩展并拥有多个实例(静态或动态扩展),它是如何工作的?
因为一个 EBS 只能附加到一个实例,如果我有多个实例,是否意味着我必须为每个实例附加一个 EBS 卷?如果是这样,每个 Instance 的 EBS 卷上的数据会有所不同。
很明显,我希望所有实例都访问(R&W)单个卷(作为数据存储)。并且卷中的数据会不断增长,并且没有停机时间。
解决办法是什么?有没有办法不挂载设备(EBS),只调用它来访问数据?
这是我能想到的:1)如果每个实例都有自己的EBS卷,那么每个时间间隔(例如1小时),所有实例都会卸载和分离EBS卷,并附加一个新卷。然后是一个强大的实例,它可以挂载所有刚刚分离的 EBS 卷,并聚合所有数据。2) 或类似于 1),而不是分离和附加,我只是为所有实例的所有卷拍摄快照。然后强大的实例聚合来自快照的数据。并将结果保存到另一个 EBS 或 S3。
这两种方法似乎有效..但需要大量工作。有没有更聪明的方法来解决这个问题?谢谢。
- 顺便说一句,由于性能问题,我不能让实例将数据写入 S3。:)
哦,这个怎么样 3)首先,所有实例都有自己的 EBS 并将数据写入 EBS。然后每个小时,数据将被发送到 S3。然后另一个实例将聚合它们。