跨多个 EC2 实例的 EBS 卷的 MM 或 MS 复制

跨多个 EC2 实例的 EBS 卷的 MM 或 MS 复制

我想在多个 EC2 实例之间共享 EBS 支持的文件系统,每个文件系统的大小最高可达 20GB,每个文件大小为 200K。主主方案是理想的方案,但我也喜欢主从方案。

我知道通用的 Linux 解决方案是使用DRBD但是是否有一些特定于 AWS 的工具可以实现这一点?

顺便说一句。我发现一年前有人问过类似的问题: 跨 AWS 节点共享/复制 EBS

答案1

块设备作为一种计算模型,并非为从多个设备访问而设计的。这种硬件模型的 EBS 抽象无法改变游戏规则,因为覆盖计算实例仍然相同。它们只能像快照一样做魔术,因为读取访问潜在的层不会干扰系统上的软件对块设备上进行的运行的期望。如果卷所连接的 EC2 实例以外的某个系统试图直接更改磁盘上的位,则文件系统将会自毁。

EBS 唯一特别的功能是使用快照克隆驱动器并将每个设备克隆附加到单独的实例。如果您拥有相对静态的数据集且仅定期更新,并且需要快速本地访问以从许多实例中获取数据,那么这将非常有用。

您需要将共享架构上移一级至文件系统。有很多工具可以做到这一点,包括共享文件系统,例如nfs。当然,您的性能将受限于您将设备连接到并用作文件服务器的 EC2 实例的性能。

如果您需要比这两种方法更精细的方法,则需要研究各种分布式、复制或集群文件系统。此外,正如您所提到的,还有较低级别的同步工具,如 DRDB,但我认为您更可能需要文件系统级别而不是块级别同步系统。

为了获得额外的学分:看看这些天关于块设备是否是正确的模型的一些讨论,比如这篇文章:神奇的区块存储:当抽象让我们失望时

相关内容