快照是指虚拟磁盘在某一特定时间点的副本。执行快照时将保留虚拟机的状况和数据。通过快照可以再系统发生问题后恢复到快照的时间,从而有效的保护磁盘上的文件系统和虚拟机的内存数据。虽然VMware的快照并不是非常适合用于数据保护,但是只要使用得当,它同样是一个非常有用的工具。从根本上来说,VMware的快照适合两种情况:1、将一个虚拟机的磁盘隔离,不再写入数据,这样就可以进行备份;2、在打补丁和软件升级时提供一个短期的自动恢复的功能。在开发环境中,可能经常会见到利用快照来保存一些实时状态的镜像,但是这样的方式在一个性能敏感的生产环境中是不可取的。

(一)执行快照

下面针对Windows 2003虚拟机进行快照。在执行快照之前,我们先看一下快照前虚拟机的文件都有哪些,如图:

虚拟机快照_第1张图片现在开始快照。选择要快照的虚拟机,右击,在弹出的快捷菜单中选择“快照”》“执行快照”选项,如图:

虚拟机快照_第2张图片为快照命名并进行描述,如图,选中捕获虚拟机内存状况时,快照将保留虚拟机的实时状况。如果未捕获内存状况,快照就不会保存虚拟机的实时状况,除非静默磁盘,否则磁盘就是崩溃的。当使用客户机文件系统静默状态时,VMware Tools会静默虚拟机的文件系统。静默操作可确保快照磁盘表示客户机文件系统的一致状况。如果关闭虚拟机电源或者VMware Tools不可用,则忽略Quiesce参数。

虚拟机快照_第3张图片

在快照结束后,可进入存储查看文件发生的变化如图:

虚拟机快照_第4张图片快照完成后,对比刚才快照之前的文件,发现多了.vmdk、.vmsn这两个文件。.vmdk为存放虚拟磁盘的当前状况和上次执行快照时的状况直接的差异的快照文件;.vmsn为执行快照时虚拟机的内存状况的文件。文件名使用了语法Slvm.snapshotl.vmsn,其中Slvm为虚拟机的名称,snapshot1为第一个快照。

当然,生成快照除了有这两个文件,如果针对不同的磁盘格式或者不同的数据存储,其快照格式可能还会有.vmsd、flat.vmdk文件,其中.vmsd包含虚拟机快照信息的数据库,并且是快照管理器的主要信息源。

(二)快照层次结构

可以对同一台虚拟机进行多次快照,快照间的关系类似于父子关系。在线性过程中,除了最后一个快照没有子快照之外,每个快照都有一个父快照和一个子快照。每个父快照均可以有多个子快照。可以恢复到当前父快照或是在快照树中还原任意父快照或者子快照,并从该快照创建多个快照。每次还原快照并执行另一个快照时,会创建分支或者子快照。

用户创建的第一个虚拟机快照是基础父快照。父快照就是最近保存的虚拟机版本的当前状况。执行快照会为每个连接到虚拟机的磁盘创建增量磁盘文件以及可选的内存文件。增量磁盘文件和内存文件会随虚拟机文件一起存储,父快照始终是紧靠“快照管理器”中“您在此处”图标上方出现的快照。如果恢复或还原快照,则该快照将成为当前“您在此处”状况的父快照。

子快照未在执行父快照后,对同一虚拟机执行的快照。各子快照有所连接的每个虚拟磁盘的增量文件以及指向虚拟磁盘当前状况(“您在此处”)的可选内存文件构成。各个子快照的增量文件与上一个子快照相互进行合并,直至到达父磁盘。子磁盘稍后可以成为未来子磁盘的父磁盘,如图:

虚拟机快照_第5张图片

(三)恢复快照

当系统出现问题或者需要进行回滚操作时,就可以通过恢复快照来进行恢复系统。恢复某个快照时,会将虚拟机的内存、设置和虚拟机磁盘的状况恢复为执行该快照前所处的状态,如图:如果要在启动的虚拟机时将其挂起、打开电源或者关闭电源,应确保执行该快照时虚拟机处于正确的状况。

虚拟机快照_第6张图片

恢复到当前快照即从当前所处的位置还原到上一级层级结构,就是恢复到最后一次进行快照的时间点。恢复到当前快照将激活虚拟机当前状况的父快照,当前的磁盘和内存状况会被丢弃,而虚拟机会恢复到父快照的磁盘和内存状况。

在选择“恢复到当前快照”后,会弹出“确认”对话框,要求确认是否恢复到最新的快照,如图:

虚拟机快照_第7张图片

单击“是”按钮后,开始恢复快照。快照恢复很快就会完成了,如图:

wKioL1RTi5mSZzzhAABcwb05P7o894.jpg

(四)快照管理器

每次对虚拟机进行快照后,都可以在“快照管理器”中查看并管理快照,如图:

虚拟机快照_第8张图片通过快照管理器可以恢复到任何一个快照,“您在此处”图标代表虚拟机的当前活动状况。打开“快照管理器”时,在“您在此处”图标始终处于选中和可视状态,如图:

虚拟机快照_第9张图片

使用快照管理器可以恢复到任何时间的快照。要恢复某一快照,只要选择这一快照,然后单击“转到”按钮即可,如图:

虚拟机快照_第10张图片

(五)快照整合

快照整合命令将不违反数据依赖关系的情况下,搜索要进行组合的层次结构或增量磁盘。整合后,将移除冗余磁盘,这样便可提高虚拟机性能并保存存储空间。

右击任意虚拟机列的菜单栏,然后从弹出的快捷菜单中选择“整合”命令,如图:

wKiom1RTjVGwFN8FAAA6RvEP6f4025.jpg

此时将弹出“确认整合”对话框。单击“是”按钮进行整合,如图:

虚拟机快照_第11张图片

确认整合后,VMware vCenter会将所有的快照整合成一个快照。整合过程非常迅速,如图:

wKioL1RTjezDhUUoAAAnXjGH55k259.jpg