【发布时间】:2014-05-08 08:04:27
【问题描述】:
我需要使用 Powershell 和 PSHyperV 模块为在 Windows Server 2008 R2 上运行的虚拟机实施备份解决方案。该模块有助于加载,因为它提供了一种获取 VM 属性和其他内容、执行基本功能等的简单方法。
我计划停机时间最短的情况,因为有问题的虚拟机可能会被客户端使用,而且它们通常不会容忍任何停机时间。我知道使用 Windows Server 2012 R2 虚拟机管理程序完全解决了这个问题,因为它具有实时 VHD 合并功能,但是基础架构的迁移是一个足够长的过程,而且备份不需要等待。
目前,备份是通过save VM -> copy tree -> start VM 进程完成的,对于最大的虚拟机而言,这涉及长达 6 小时的停机时间。我计划使用虚拟机快照来减少停机时间,因为一旦您执行了快照,您就可以在别处备份 VHD 和快照数据而不会干扰虚拟机(它会更慢,但仅此而已)。然后我计划保存 VM,删除快照(将发生 VHD 合并),等到合并完成,然后启动 VM,可能会将 VM 停机时间减少到最坏情况下的半小时。
到目前为止,我的脚本能够找到给定 VM 的 VHD 并对其进行备份,但无法找到 VM 的快照位置。可能只是从 VHDs 文件夹向后遍历树不会产生“虚拟机”或“快照”文件夹,所以猜测是不可能的。
如何获取快照文件的位置以便手动导出 VM 快照?
【问题讨论】:
标签: powershell windows-server-2008-r2 snapshot hyper-v