我们可以定期更新相同的快照以及从该快照创建的虚拟机吗

我们可以定期更新相同的快照以及从该快照创建的虚拟机吗

我有一个 AWS 实例,比如说从另一个 Aws 实例的快照创建的 DB 实例 (快照->图像->AWS 实例)。是否可以使用增量更新之类的方式定期更新同一快照,从而还可以使用新更改动态更新我的 AWS DB 实例,因为它是之前从此快照创建的。

答案1

我认为您无法从新的卷快照更新正在运行的实例。使用一些自定义工具可能可以找出新旧之间的差异,但我不知道有任何这样的工具。


然而你可以尝试从一种不可变的基础设施看法:

  1. 使用 2 个 EBS 卷从快照创建实例:

    • 第一的是配置的根/OS 卷。切勿在此卷上进行任何重要更改。
    • 第二数据量(例如数据库数据)
  2. 当有新的快照/AMI 可用时,用从新的根/OS 卷旧数据量与原始实例分离。

    或者将数据存储在其他存储器上,例如 EFS。

你甚至可以通过Auto Scaling 组- 每当 ASG 使用新的 AMI 更新时,就滚动更新实例。

这可能是您能获得的最接近且最干净的。

希望有帮助:)

答案2

您无法使用 AWS 的内置功能增量传输快照增量。如果您只写入一个实例,则可以克隆它,丢弃旧克隆并安装新克隆。

如果您需要数据在两个实例上同步可用,则您有三个选择:

1) 使用一个挂载在两个实例上的卷。您将需要一个集群文件系统来同时在两侧挂载读写,例如 GFS2。

2)与1)类似,但不是在节点之间挂载共享卷,而是使用DRBD在两个节点之间同步复制块级别的数据。

3)GlusterFS。

如果异步复制足以满足您的要求,则您有两个选择:

1)lsyncd

2) 具有定期快照和增量传输的 ZFS。请注意,这要求辅助节点是只读的。这可能是最接近您在问题中描述的解决方案。

相关内容