我正在使用没有System Center的Hyper-V,并尝试为Linux服务器创build“模板”,然后我可以重新使用它作为基本安装。 我们这样做的方式是创build一个机器,我们称之为“Template_CentOS7”,我们运行安装设置我们需要的等等。然后我关机,并将vhdx文件复制到我们的模板目录。 D:\Templates\Template_CentOS7.vhdx
当我需要一台机器Machine_XXX的新实例时,我执行以下操作:
D:\Hyper-V\Machine_XXX\Virtual Hard Disks\Template_CentOS.vhdx Machine_XXX.vhdx 现在是这个问题,我们现在已经对基本模板做了一些更改,并且在更改之后运行一个检查点。 现在我closures了Template_CentOS7机器,以便将vhdx文件复制到我们的模板目录中,但现在有几个文件Template_CentOS7.vhdx和一堆Template_CentOS7GUID.avhdx文件。 我不确定接下来应该做什么。 Template_CentOS7.vhdx文件有一个相当旧的修改时间,所以我不认为它包括我所做的更改。
我需要做什么来使用这个新的“模板”?
答案取决于你的意思是“使用这个新的模板”。 有两种可能的解释:
第一个问题的答案是,您需要将应用更改的VM中的最后一个.avhdx文件合并到新的模板.vhdx中。 我build议使用-DestinationPath参数指定一个新模板VHDX的merge-vhd PowerShell cmdlet。
第二个问题的答案是,你不能。 虚拟磁盘快照不是文件系统快照。 由于文件系统结构也在快照中,对父VHD的任何更改都代表文件系统损坏。
如果要合并快照并保留快照树,则一种方法是导出虚拟机,删除快照子树,然后将导出的虚拟机作为新的虚拟机导入。 现在,原始虚拟机会将所有快照合并到父VHD(X)中,导出/导入的虚拟机将保留原始虚拟机的所有快照。