VMware Workstation虚拟机使用(6)——给虚拟机做快照(2)

(查看往期链接请到底部)


我们接上期,介绍虚拟机快照

四、删除快照

删除快照十分简单,打开快照管理器,选中需要删除的快照,点击右下方删除按钮即可。

VMware Workstation虚拟机使用(6)——给虚拟机做快照(2)


删除快照会相应删除该快照的磁盘文件。但大家在删除快照时会发现,在删除一些快照的时间非常长,这是为什么呢?我们下面说说虚拟机快照的原理来解释这个现象。

虚拟机快照的原理

我们假设现在是未建立快照的原始状态,磁盘文件为“Windows 7.vmdk”,假设我们在里面建立了3个文件A、B、C,并进行了编辑。我们现在做第一个快照“A快照”。从前面的介绍可知,“Windows 7.vmdk”文件属性被设置为只读,并创建一个新的磁盘文件“Windows 7-000001.vmdk”,我们知道,“Windows 7.vmdk”被设置为只读后,之前建的3个文件都在这个磁盘文件里,它们将不能被修改、删除,也不能再向该磁盘文件内添加新文件。但是我们做完快照后,还是有可能需要对它们进行操作的,那该怎么办?

其实,做完快照之后,虚拟机使用新磁盘文件“Windows 7-000001.vmdk”,如果是新建文件D,这个新文件D将被保存在新磁盘文件“Windows 7-000001.vmdk”中。

如果是修改文件A,那么修改后的文件A会被重新保存一份在新的磁盘文件“Windows 7-000001.vmdk”中,以后再访问该文件,则访问的是新磁盘文件“Windows 7-000001.vmdk”中的A文件而不是原磁盘文件“Windows 7.vmdk”中的文件A。

如果是删除文件B。那么会在新磁盘文件“Windows 7-000001.vmdk”中标记该文件被删除,因此在当前状态下,就看不到文件B。但是B文件还是存在于原来的磁盘文件“Windows 7.vmdk”中的。

那么前面还有一个文件C,即没有修改也没删除,因此在当前状态下将直接读取原磁盘文件“Windows 7.vmdk”中的文件C。

从上我们可以得出一个结论:做完快照后,在当前状态下虚拟机文件是虚拟机快照后的新磁盘文件“Windows 7-000001.vmdk”和原磁盘文件“Windows 7.vmdk”两个磁盘文件的总和。

那么现在,我们在现有修改的基础上,再创建一个快照,磁盘文件“Windows 7-000001.vmdk”也变成了快照磁盘,属性被设为只读,并且再次产生一个新的磁盘文件“Windows 7-000002.vmdk”作为当前状态使用的磁盘。

从上面可知,每次新创建的磁盘文件与原来被设为只读属性的快照磁盘文件有依赖关系,原来的状态被快照保留,会不断占用磁盘空间,比如文件A在每次快照后都进行了修改,那么三个磁盘文件里都会存在文件A。所以为了节省物理机的磁盘空间,如果虚拟机的某个快照不打算用了,则可以删除快照释放占用的物理磁盘空间。

那么我们会发现一个问题,在三个快照中,第三个磁盘文件依赖于前面两个,如果第一个快照磁盘文件“Windows 7.vmdk”被删除,那后两个磁盘文件的依赖不就丢失了?其实,这时虚拟机会将“Wiindows 7.vmdk”与“Windows 7-000001.vmdk”两个磁盘文件进行合并,确保依赖能够继续保持。还合并需要较长时间,因此有时在删除快照时,特别是有被依赖的快照(即快照时间线内中间的快照)时,会花费较长时间。

删除快照的技巧

即然我们知道了虚拟机快照的原理,那么为了确保快速删除快照文件,就要避免出现磁盘文件合并的情况。因此,我们删除快照时要注意以下两点。

1. 删除中间快照时,最好关闭虚拟机的操作系统后再删除,否则虚拟机可能会卡死不动。

2. 如果删除中间快照时,当前位置的状态也不打算保留,我们应该从时间线的最后一个快照往前删,这样就不会出现磁盘文件合并的现象。

\u0001�

(未完待续)下一节为大家介绍如何克隆虚拟机


往期回顾:

5.



VMware Workstation虚拟机使用(6)——给虚拟机做快照(2)


分享到:


相關文章: