我正在开发一个项目,我想到将任务分配给动态管理的VM(创建,销毁,暂停,从主机运行进程等)。我想知道什么是完成VM管理的好方法或API。以下是我所思考的一些例子,但我希望得到一些关于最佳方法的指导。
正如您从Java中所考虑的示例中可以看到的那样,但我可以使用其他语言。这个项目本质上是学术性的,我是一名学生,所以我知道这可能不是最实际的事情,但我想看看它是否可能以及最好的方法来实现它。
答案 0 :(得分:0)
我最近在我的工作中创建了一个管理VM的程序。我使用object-pascal(Delphi)创建GUI,然后使用vboxmanage命令完成所有繁重工作,这些命令作为一个进程通过cmd运行,但是从我的程序调用。 Oracle有一个很好的可用命令列表here
例如
列出正在运行的Vms
VBoxManage.exe list runningvms
导入虚拟机
VBoxManage.exe import (VM_To_Import_Location) --vsys 0 --vmname (Name_of_VM) --unit 11 --disk (Where_You_Want_VM_Stored)
启动虚拟机
VBoxManage.exe startvm (Name_Of_VM) --type headless
拍摄快照
VBoxManage.exe snapshot (VM_Name) take (Snapshot_Name) -desc "My Snapshot Description"
恢复快照
Vboxmanage.exe snapshot (VM_Name) restore (Snapshot_Name)
对于您想要使用虚拟机做的所有事情,还有更多内容。