我有一个安装在独立服务器上的ESX(免费版本(最新版本5.X),内置数据存储在RAID 5设置中。 虚拟机将主要是一些Linux的Windows,将分别致力于使用Visual Studio和GCC执行软件构build。
有时候需要创build一个分支虚拟机,例如某个构build需要SDK更新的时候,我们需要有一个SDK /机器状态组合的所有版本的快照。 有时我们需要能够恢复到特定SDK版本的虚拟机状态。 快照是可以接受的,除了我们需要将虚拟机恢复到快照,并保留当前虚拟机/ SDK状态的运行版本,所以本质上为每个“快照”/ SDK版本创build一个克隆虚拟机可以与原始VM同时运行。 在任何时候,我们不应该同时运行任何超过2个版本的虚拟机,但是至less有一个虚拟机需要有一个所有不同版本的SDK的快照树,这样一个虚拟机就是总是处于最近的状态,另一个可以被带到任何历史的状态,以便根据需要重build旧的软件包。
这里有什么最好的做法,快照/恢复到特定的虚拟机状态是一个因素?
你真的不想长时间保持快照。 在某一点之后,你的快照变得如此之大,以至于你的performance进入了下水道,你什么都做不了。 我不完全确定像这样的“最佳实践”这个问题适用于这个网站,但是在这种情况下,我只是简单地为每个新的SDK创build一个克隆虚拟机,而不是使用快照。 如果您决定不再支持SDK版本,请删除虚拟机。
只有vCenter Server才能轻松进行克隆。 使用ESXi免费版,您可以使用vmkfstools CLI实用程序(检查KB http://kb.vmware.com/kb/1027876 )克隆虚拟磁盘。 它也能够处理快照。
但是,您需要以某种方式创build虚拟机或其VMXconfiguration文件,并更改定义虚拟磁盘位置,NIC的MAC地址和每个虚拟机的类似唯一参数的相关指令(这可以通过简单的脚本来完成)。
最后,您可以使用vim-cmd solo / registervm从CLI导入新的vmx文件PATH_TO_VMX_FILE