在Hyper-V中创build模板以及如何处理

我正在使用没有System Center的Hyper-V,并尝试为Linux服务器创build“模板”,然后我可以重新使用它作为基本安装。 我们这样做的方式是创build一个机器,我们称之为“Template_CentOS7”,我们运行安装设置我们需要的等等。然后我关机,并将vhdx文件复制到我们的模板目录。 D:\Templates\Template_CentOS7.vhdx

当我需要一台机器Machine_XXX的新实例时,我执行以下操作:

  1. 将模板复制到一个新目录,即D:\Hyper-V\Machine_XXX\Virtual Hard Disks\Template_CentOS.vhdx
  2. 重命名文件Machine_XXX.vhdx
  3. 运行Hyper-Vpipe理器,通过New-> Virtual Machine创build新机器。
  4. 当提示创build新驱动器时,我将其指向新文件。

现在是这个问题,我们现在已经对基本模板做了一些更改,并且在更改之后运行一个检查点。 现在我closures了Template_CentOS7机器,以便将vhdx文件复制到我们的模板目录中,但现在有几个文件Template_CentOS7.vhdx和一堆Template_CentOS7GUID.avhdx文件。 我不确定接下来应该做什么。 Template_CentOS7.vhdx文件有一个相当旧的修改时间,所以我不认为它包括我所做的更改。

我需要做什么来使用这个新的“模板”?

答案取决于你的意思是“使用这个新的模板”。 有两种可能的解释:

  • 根据我对模板所做的更改部署新的虚拟机。
  • 查看已部署的旧VM中对模板的更改。

第一个问题的答案是,您需要将应用更改的VM中的最后一个.avhdx文件合并到新的模板.vhdx中。 我build议使用-DestinationPath参数指定一个新模板VHDX的merge-vhd PowerShell cmdlet。

第二个问题的答案是,你不能。 虚拟磁盘快照不是文件系统快照。 由于文件系统结构也在快照中,对父VHD的任何更改都代表文件系统损坏。

如果要合并快照并保留快照树,则一种方法是导出虚拟机,删除快照子树,然后将导出的虚拟机作为新的虚拟机导入。 现在,原始虚拟机会将所有快照合并到父VHD(X)中,导出/导入的虚拟机将保留原始虚拟机的所有快照。