虚拟化自动化

我想要做的基本概念:我想为我正在工作的网站设置一个虚拟临时集群。 理想情况下,我想要进行更改,启动并将其部署到虚拟分段群集,然后从生产中抽取一些数据,以便在进行生产展示之前进行全面testing。 当我完成对虚拟分段集群的testing时,我想让集群消失(即删除/删除虚拟机,这样我也可以从新安装中进行testing)

我的最终目标是:我的目标是自动化build立和拆除整个虚拟集群的过程。 例如,就像在托pipe创build或删除所有虚拟机的虚拟机的服务器上运行脚本一样。 有谁知道这是否可以用现有的虚拟化解决scheme来完成? 我也开放讨论和提示您如何或您的组织如何做到这一点。

如果我可以得到这么多的虚拟服务器应该能够引导自己重新PXE和debian FAI自己,然后puppet将完成设置工作。

VMWare提供了几个产品,可以帮助你做什么:

  • VMWare Lab Manager
  • VMWare Vcenter Orchestrator

VMware Server和VirtualBox都有命令行工具。 vmrun和VBoxManage。 使用任一产品,您都可以创build创build,启动,停止和删除机器的脚本(以及更多)。

例如(在VBox上):

$ VBoxManage startvm "Windows" 

以上将启动一个名为Windows的虚拟机。

对于Virtual Box,我会看看: 使用VBoxManage来控制虚拟机

对于VMware: vmrun命令 < – 警告,pdf

是的,现在大多数虚拟化解决scheme都是可以编写脚本的。

有了Xen,xen-tools和FAI,你甚至可以在没有PXE的情况下解决问题(查看FAI wiki关于与xen-tools集成的信息)。

但libvirt(我推荐使用,以解耦使用的虚拟化技术)和KVM / XEN / QEMU / ….类似的东西应该是可能的。

我一直在考虑做一些像testingFAI本身的东西,我使用坩埚testing框架,这听起来很有吸引力http://sourceforge.net/projects/crucible/

此外,你可能会看看ganeti – 它也可以与xen,kvm一起工作,也许libvirt也可以同时实现 – 如果你需要更多的虚拟机,而不是单个机器可以处理的,这是非常有趣的,因为它会helkp你还有虚拟系统上的文件部署和运行命令等。

你在使用什么虚拟化平台? VMware的实验室pipe理器产品在我的工作场所创造了testing集群和客户环境的奇迹。