虚拟化自动化

虚拟化自动化

我正在尝试做的事情的基本想法: 我想为正在开发的网站设置虚拟暂存集群。理想情况下,我想进行更改,启动并将其部署到虚拟暂存集群,然后从生产中获取数据样本,以便在进行生产部署之前进行彻底测试。当我在虚拟暂存集群上完成测试后,我希望集群消失(即移除/删除虚拟机,以便我也可以从全新安装中进行测试)

我的最终目标: 我的目标是使整个虚拟集群的设置和拆除过程自动化。例如,在托管虚拟机的服务器上运行一个脚本,该脚本将创建或删除所有虚拟机。有人知道这是否可以通过现有的虚拟化解决方案来实现吗?我也愿意就您或您的组织如何做到这一点进行讨论和提供建议。

仅供参考:如果我能做到这一点,虚拟服务器应该能够使用 PXE 和 debians FAI 重新引导自身,然后 puppet 将完成设置工作。

答案1

VMWare 提供了一些可能有助于您完成任务的产品:

答案2

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

例如(在 VBox 上):

$ VBoxManage startvm "Windows"

上述操作将启动一个名为 Windows 的虚拟机。

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

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

答案3

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

使用 Xen、xen-tools 和 FAI,您甚至可以不使用 PXE(请查看 FAI wiki 上关于与 xen-tools 集成的信息)。

但是使用 libvirt(无论如何我建议使用它来分离所使用的虚拟化技术)和 KVM/XEN/QEMU/... 应该可以实现类似的事情。

我一直在考虑做一些类似 FAI 本身的测试,我会使用坩埚测试框架,对于这样的任务来说,它听起来很有吸引力http://sourceforge.net/projects/crucible/

另外,您可能还会看看 ganeti - 它也可以与 xen、kvm 一起工作,也许同时还实现了 libvirt - 如果您需要的 VM 数量超过单台机器可以处理的数量,这非常有趣,因为它还可以帮助您进行文件部署和在虚拟系统上运行命令等。

答案4

您使用什么虚拟化平台?VMware 的 Lab Manager 产品在我的工作场所设置测试集群和客户环境时发挥了奇效。

相关内容