实时导出正在运行的虚拟机Export-VM和导出已保存检查点Export-VMSnapshot (Export-VMCheckpoint)的区别

Windows Sever 2012 R2(和Windows 8.1)中鲜为人知的功能是能够导出一个或多个正在运行的虚拟机。

 

您只需在Hyper-V管理器中选择右键单击,然后从上下文菜单中选择“导出”,然后按照向导选择导出位置。简单。也可以通过PowerShell来实现,因此您可以实现自动化。结果是您可以导入的VM,在您导出虚拟机的时间点,它会为您提供处于保存状态的原始虚拟机的副本。

似乎更多的人知道导出正在运行的虚拟机的检查点的功能,而不是导出正在运行的VM本身的功能。我注意到了这一点,因为有人认为后者是Windows 2016中的一项新功能。自Windows 8.1和Windows Server 2012 R2起,我们就具有此选项。

 

那么,为什么还要选择导出正在运行的VM的检查点呢?因为这使您能够从各个时间点导出数据,这在测试和开发以及故障排除或实验室工作中非常方便。由于Windows Server 2012 R2中的标准检查点处于状态,因此我希望关闭VM,创建检查点,然后再次启动VM。然后,当我导出该检查点时,不必担心该虚拟机在关闭时的状态。

对于某些工作负载而言,这并不是什么大问题,对于某些工作而言,这并不是很好的经验,因此,生产中不支持检查点,而是用于测试和开发人员的事实。

在Windows Server 2016中,我们现在有了生产检查点。这意味着,当我们应用此类检查点时,我们将具有一致的状态,就像从备份中还原虚拟机一样。应用检查点后,您必须将其启动,它们不会在拍摄快照时以该状态运行。好吧,除非您选择创建标准检查点,否则不要这样做。在许多情况下,这减少了我在创建要导出的检查点之前关闭虚拟机的需求。

在Windows Server 2016中导出正在运行的VM时,您将获得一个副本,处于保存状态。就像您在Windows Server 2012 R2中所做的一样,在那里没有任何更改。导入时,您将具有处于保存状态的VM,需要启动它。如果您希望应用程序具有一致的副本,请先创建一个生产检查点,然后导出该检查点。

所以你去了。实时导出正在运行的虚拟机的功能以前就在这里,现在仍然在这里。实时导出的真正额外功能来自利用正在运行的虚拟机的检查点的实时导出以及我们现在具有生产检查点的事实。

是的,通过GUI或PoSh可以很容易地验证=>导出检查点,您会看到它是该时间点的VM,没有其他检查点。导出运行中的VM本身会带来整个检查点链。