VM 的管理命令vmrun

来源:互联网 发布:网络印刷网站 编辑:程序博客网 时间:2024/06/04 19:10

      copy from http://blog.csdn.net/huituer/article/details/4142190

VMWare提供了vmrun与VIX API两种手段使用户可以通过程序对虚拟机进行控制。
在官方文档中给出了详细的说明和示例代码。
          vmrun:http://www.vmware.com/pdf/vix162_vmrun_command.pdf
          VIX API: http://www.vmware.com/support/developer/vix-api/
     

       vmrun是一种命令行控制的手段,但是可以通过Shell脚本实现连续多个操作的自动化。而VIXAPI则是一种程序设计的方案,支持C、Perl和VB三种语言。从功能上来说,VIXAPI提供虚拟机状态查询函数,有更强的能力。例如:控制一个虚拟机恢复到某个镜像,然后登录到GuestOS中,运行其中的某个可执行文件在这3个动作中,恢复到指定镜像是异步操作,如果使用VIXAPI实现,可以查询恢复操作是否完成,恢复完成之后再尝试登录到GuestOS;而要通过vmrun实现则比较困难,因为vmrun不具有查询虚拟机状态的能力,所以只能sleep足够长的时间之后再去执行登录操作。
       但vmrun也不是完全没有优势。分别用vmrun和VIX API实现每隔一段时间就将虚拟机恢复到指定虚拟机镜像的功能,当双方都只需要操作一台虚拟机的时候,都能做到长期稳定工作;当它们需要面对10台甚至更多
的虚拟机的时候,VIX API很快就会出故障(1),而vmrun仍然能够稳定地工作。

 

 

    (1)通常遇到的故障是:虚拟机提示缺少某个.vmdk文件。原因是VMWare虚拟机启动时会创建临时的.vmdk文件,并通过修改.vmx中的硬盘路径,使当前的硬盘为临时的.vmdk。当VIXAPI面对大量虚拟机时,常常会与需要操作的虚拟机失去连接,此时.vmx文件中的硬盘路径被修改,但是临时.vmdk文件被删除,于是虚拟机报错。要修复这个故障,只需要把.vmx文件中的硬盘 路径改为实际存在的某个.vmdk文件即可
原创粉丝点击