什么是良好的API或以编程方式创建VM的方法?

时间:2015-02-10 00:48:26

标签: virtualbox virtualization

我正在开发一个项目,我想到将任务分配给动态管理的VM(创建,销毁,暂停,从主机运行进程等)。我想知道什么是完成VM管理的好方法或API。以下是我所思考的一些例子,但我希望得到一些关于最佳方法的指导。

  • Vagrant-binding:它看起来很完美,但已过时而且不受支持。
  • Oracle Tools:流浪模块看起来很有趣,但没有太多文档,我对如何实际使用它感到有些困惑。
  • VirtualBox sdk:我对此设置感到有些困惑。

正如您从Java中所考虑的示例中可以看到的那样,但我可以使用其他语言。这个项目本质上是学术性的,我是一名学生,所以我知道这可能不是最实际的事情,但我想看看它是否可能以及最好的方法来实现它。

1 个答案:

答案 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)

对于您想要使用虚拟机做的所有事情,还有更多内容。