回答:
そのスナップショットツリーを書き換える必要があります。実際のツリーは次のようになります。
SnapshotAを取得すると、メインのvmdkファイルがフリーズし、新しいデルタファイルが作成されました。すべての変更は、それ以降、デルタファイルに書き込まれました。
SnapshotBを取得すると、最初のデルタファイルが凍結され、別のデルタファイルが作成されました。その時点以降、すべての変更はこの新しいデルタファイルに書き込まれました。
また、SnapshotCを取得すると、2番目のデルタファイルが凍結され、「現在の」状態を表す別のデルタファイルが作成されました。すべての変更はこのファイルに書き込まれます。
SnapshotBを削除すると、最初のデルタファイルは、SnapshotCを表す2番目のデルタファイルとマージされます。そのため、SnapshotC をバッキングするファイルは変更されますが、SnapshotC の実際の状態は変更されません。
いいえ、スナップショットはそのように変更されません。SnapshotBを削除すると、それらの変更がツリー内の次のファイルにプッシュされ、それらの変更に依存します。それらをSnapshotA(ベースvmdk)に適用すると、本質的にSnapshotAがSnapshotBに変わり、スナップショットが使用できなくなります。:)
特定のケースでは、vSphereとWorkstationでスナップショットの動作が異なります
質問に対して、VMware WorkstationまたはVMware vSphere Clientを使用する場合の動作は同じです。ただし、SnapshotCを削除した場合の動作は同じではありません。
vSphere ClientでSnapshotCを削除すると、SnapshotBはSnapshotCになりますが、その名前は保持されます。削除することにより、SnapshotCに加えた変更をSnapshotBまでコミットします。そうしたくない場合は、次のように削除を行う前にSnapshotBに「移動」する必要があります。
この動作については、次のVMwareフォーラムの投稿で詳しく説明しています。
http://communities.vmware.com/thread/58030
VMware Workstationでは、SnapshotCの下にいる間にSnapshotCを削除した場合、変更は上方向にコミットされません。変更を失い、SnapshotBに戻ります。