说我有这样的一棵树
两个问题:
如果删除SnapShotB,SnapShotC会发生什么情况?
从vmware的帮助“ 注意:单击删除提交快照数据到父级,并删除选定的快照。 ”所以,如果我已经安装软件或添加文件到SnapShotB,我删除它是否意味着软件和这些文件被推送到SnapShotA?
你需要重写那个快照树。 实际的树看起来像这样:
当您使用SnapshotA时,主vmdk文件被冻结,并创build了一个新的增量文件。 所有的改变都从这个点开始写入增量文件。
当您使用SnapshotB时,第一个增量文件被冻结,另一个增量文件被创build。 所有的改变都从这一点开始写入到这个新的增量文件中。
而当你把SnapshotC,第二个增量文件被冻结,另一个增量文件被创build,代表“当前”的状态。 所有更改都写入此文件。
如果删除了SnapshotB,则第一个增量文件将与代表SnapshotC的第二个增量文件合并。 所以支持SnapshotC的文件将会改变,但SnapshotC的实际状态不会改变。
不,快照不会以这种方式修改。 删除SnapshotB将这些更改推送到树中依赖于这些更改的下一个文件。 将它们应用到SnapshotA(基本vmdk)本质上会将SnapshotA转换为SnapshotB,这将使快照不可用。 🙂
在某些情况下,快照在vSphere vs Workstation中的工作方式不同
对于您提出的问题,如果您使用VMware Workstation或VMware vSphere Client,则行为是相同的。 但是,如果删除了SnapshotC,则行为不一样。
如果在vSphere Client中删除SnapshotC,则SnapshotB将成为SnapshotC,但保留其名称。 通过删除,您将对SnapshotC所做的更改提交至SnapshotB。 如果你不想这样做,你必须在做这样的删除操作之前进入SnapshotB:
此行为在此VMware论坛post中详细介绍:
http://communities.vmware.com/thread/58030
在VMware Workstation中,如果您在删除SnapshotC的同时删除了SnapshotC,则不会向上提交更改。 你会失去这些变化,并回到SnapshotB。