Hyper-V检查点功能功能使得管理员能够对
虚拟机创建快照,然而这一机制背后的原理是什么呢? Hyper-V检查点,在之前的Hyper-V检查点版本里称之为快照功能,主要用于对一台Hyper-V检查点虚拟机进行当时时刻的拍照。检查点的功能是用于测试及开发用途的。
微软虽然之前不建议将检查点快照用作生产环境,然而在
Windows 10版本的Hyper-V检查点里将会改变这点。 可以利用这个功能对保存的Hyper-V检查点虚拟机,运行中的虚拟机和离线的虚拟机创建检查点。检查点程序主要和Hyper-V检查点分区的两条处理进程相关,Virtual Machine Worker进程(VMWP.exe)以及Virtual Machine Management服务进程(VMMS.exe)。 VMMS.exe进程进行快照组件的工作,主要负责对已保存和离线虚拟机进行快照操作。对于在线的Hyper-V检查点虚拟机,快照将交由VMWP.exe进程负责。下面将介绍Hyper-V检查点创建的时候所发生的事件。
Hyper-V检查点创建之前,虚拟机需要停机处理。因为Hyper-V检查点虚拟机的暂停和恢复操作都由VMWP.exe操作,VMMS.exe进程将负责告知VWMP.exe进程对虚拟机进行暂停操作。
在该阶段,VMWP.exe进程将会创建Hyper-V检查点文件,包括VM-GUID, AVHD/AVHDX, VM-GUID.XML, VM-GUID.VSV 以及 VM GUID.BIN。VM-GUID.BIN包含有运行中的虚拟机的内存信息。在Hyper-V检查点虚拟机的属性里面,可以更改检查点文件的存放位置。
对离线Hyper-V检查点虚拟机进行检查点操作的过程与对在线Hyper-V检查点虚拟机进行检查点操作的过程类似,不同的地方在于无需暂停一台离线的Hyper-V检查点虚拟机或者已保存的虚拟机,故而VMWP.exe进程无需被通知到。因此,Hyper-V检查点由快照管理工具处理,具体由VMMS.exe进程来处理。这种情况下,也不会创建VM-GUID.BIN文件。
简而言之,对暂停的虚拟机不能创建Hyper-V检查点。当Hyper-V检查点虚拟机暂停后,VMWP.exe进程同时也会暂停。因为Hyper-V检查点创建进程里包含了在执行下一个功能前暂停Hyper-V检查点虚拟机的过程,这样就需要Hyper-V检查点虚拟机处于一个可以被接受的状态,运行中,离线或者已保存状态。