在 VMware 中删除快照时孩子们会怎么样?

在 VMware 中删除快照时孩子们会怎么样?

我是虚拟化新手,想确保我了解删除快照时会发生什么

假设我有一棵这样的树

  • 根据
    • 快照A
      • 快照B
        • 快照C

两个问题:

  1. 如果我删除 SnapShotB,SnapShotC 会发生什么?

  2. 来自 vmware 帮助“注意:单击“删除”会将快照数据提交给父级并删除选定的快照。“所以,如果我安装了软件或将文件添加到 SnapShotB 并将其删除,这是否意味着该软件和这些文件会被推送到 SnapShotA?

答案1

您需要重写该快照树。实际的树如下所示:

  • 快照A
    • 快照B
      • 快照C
        • 当前的

当您拍摄快照 A 时,主 vmdk 文件被冻结,并创建了一个新的增量文件。从那时起,所有更改都写入增量文件。

当您拍摄快照 B 时,第一个增量文件被冻结,并创建了另一个增量文件。从那时起,所有更改都写入这个新的增量文件。

当你拍摄 SnapshotC 时,第二个增量文件被冻结,并创建另一个增量文件,代表“当前”状态。所有更改都写入此文件。

  1. 如果删除 SnapshotB,第一个增量文件将与代表 SnapshotC 的第二个增量文件合并。因此,SnapshotC 的文件将要但实际状态SnapshotC 不会改变。

  2. 不,快照不是这样修改的。删除 SnapshotB 会将这些更改推送到树中下一个依赖于这些更改的文件。将它们应用于 SnapshotA(基础 vmdk)实际上会将 SnapshotA 变成 SnapshotB,这会使快照无法使用。:)

答案2

在某些情况下,快照在 vSphere 与 Workstation 中的工作方式不同

对于您提出的问题,如果您使用 VMware Workstation 或 VMware vSphere Client,则行为是相同的。但是,如果您删除了 SnapshotC,则行为会有所不同。

  • 快照A
    • 快照B
      • 快照C
        • 你在这里

如果您在 vSphere Client 中删除 SnapshotC,SnapshotB 将成为 SnapshotC,但保留其名称。通过删除,您将把对 SnapshotC 所做的更改提交到 SnapshotB。如果您不想这样做,您必须在删除之前“转到”SnapshotB,如下所示:

  • 快照A
    • 快照B
      • 你在这里
    • 快照C

此行为在 VMware 论坛帖子中有详细说明:

http://communities.vmware.com/thread/58030

在 VMware Workstation 中,如果您在 SnapshotC 下删除它,则更改不会向上提交。您将丢失更改并返回到 SnapshotB 下。

相关内容