虛擬化自動化

虛擬化自動化

我想做的事情的基本想法: 我想為我正在開發的網站設定一個虛擬暫存叢集。理想情況下,我想進行更改,啟動並將其部署到虛擬暫存集群,然後從生產中獲取資料樣本,以便我可以在進行生產部署之前進行全面測試。當我完成對虛擬暫存叢集的測試後,我希望叢集消失(即刪除/刪除虛擬機,以便我也可以從全新安裝進行測試)

我的最終目標: 我的目標是自動化設定和拆除整個虛擬叢集的過程。例如,在託管虛擬機器的伺服器上執行腳本來建立或刪除所有虛擬機器。有誰知道這是否可以透過現有的虛擬化解決方案來完成?我也願意接受有關您或您的組織如何做到這一點的討論和建議。

僅供參考-如果我能做到這一點,虛擬伺服器應該能夠使用 PXE 和 debians FAI 重新引導自己,然後 puppet 將完成設定工作。

答案1

VMWare 提供了一些可能有助於您完成任務的產品:

答案2

VMware Server 和 VirtualBox 都有命令列工具。分別是 vmrun 和 VBoxManage。使用任一產品,您都可以建立用於建立、啟動、停止和刪除電腦(等等)的腳本。

例如(在 VBox 上):

$ VBoxManage startvm "Windows"

上面將啟動一個名為 Windows 的 VM。

對於 Virtual Box 我會看看: 使用VBoxManage控制虛擬機

對於VMware: 虛擬機器運行命令 <- 警告,pdf

答案3

是的,現在大多數虛擬化解決方案都是可編寫腳本的。

透過 Xen、xen-tools 和 FAI,您甚至可以在沒有 PXE 的情況下完成任務(請參閱 FAI wiki 有關與 xen-tools 整合的資訊)。

但類似的事情應該可以透過 libvirt (無論如何我建議使用它,以實現所使用的虛擬化技術的解耦)和 KVM/XEN/QEMU/....

我一直在考慮做一些類似測試 FAI 本身的事情,而我#d 使用 crucible 測試框架,這聽起來對此類任務很有吸引力http://sourceforge.net/projects/crucible/

另外,你可以看看 ganeti - 它也可以與 xen、kvm 一起工作,也許同時還實現了 libvirt - 如果你需要的虛擬機數量超出了單台機器的處理能力,這非常有趣,因為它會幫助你還有諸如文件部署和在虛擬系統上運行命令之類的事情。

答案4

您使用什麼虛擬化平台? VMware 的 Lab Manager 產品在我的工作場所設定測試叢集和客戶環境方面發揮了巨大作用。

相關內容