vmrun命令使用详解

VMWare提供了vmrun与VIX API两种手段使用户可以通过程序对虚拟机进行控制。

在官方文档中给出了详细的说明和示例代码。
          vmrun:
          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文件即可

1、简介

VMWare提供了vmrun与VIX API两种手段使用户可以通过程序对虚拟机进行控制。vmrun是一种命令行控制的手段,但是可以通过Shell脚本实现连续多个操作的自动化。

2、语法

Usage: vmrun COMMAND [PARAMETERS]
 Authentication flags
 -gu <userName in guest OS>
 -gp <password in guest OS>


 POWER COMMANDS          PARAMETERS          DESCRIPTION
 start                    Path to vmx file    Start a VM or Team
                          or vmtm file
                          [gui|nogui]
 stop                    Path to vmx file    Stop a VM or Team
                          or vmtm file
                          [hard|soft]
 reset                    Path to vmx file    Reset a VM or Team
                          or vmtm file
                          [hard|soft]
 suspend                  Path to vmx file    Suspend a VM or Team
                          or vmtm file
                          [hard|soft]


 SNAPSHOT COMMANDS        PARAMETERS          DESCRIPTION
 listSnapshots            Path to vmx file    List all snapshots in a VM
 snapshot                Path to vmx file    Create a snapshot of a VM
                          Snapshot name
 deleteSnapshot          Path to vmx file    Remove a snapshot from a VM
                          Snapshot name
 revertToSnapshot        Path to vmx file    Set VM state to a snapshot
                          Snapshot name


 GUEST OS COMMANDS        PARAMETERS          DESCRIPTION
 runProgramInGuest        Path to vmx file    Run a program in Guest OS
                          Program
                          [Program arguments]
 fileExistsInGuest        Path to vmx file    Check if a file exists in Guest OS
                          Path to file in guest
 setSharedFolderState    Path to vmx file    Modify a Host-Guest shared folder
                          Share name
                          New host path
 addSharedFolder          Path to vmx file    Add a Host-Guest shared folder
                          Share name
                          Host path
 removeSharedFolder      Path to vmx file    Remove a Host-Guest shared folder
                          Share name
 listProcessesInGuest    Path to vmx file    List running processes in Guest OS
 killProcessInGuest      Path to vmx file    Kill a process in Guest OS
                          process id
 runScriptInGuest        Path to vmx file    Run a script in Guest OS
                          Interpreter path
                          script_text
 deleteFileInGuest        Path to vmx file    Delete a file in Guest OS
                          File
 createDirectoryInGuest  Path to vmx file    Create a directory in Guest OS
                          Directory path
 deleteDirectoryInGuest  Path to vmx file    Delete a directory in Guest OS
                          Directory path
 listDirectoryInGuest    Path to vmx file    List a directory in Guest OS
                          Directory path
 copyFileFromHostToGuest  Path to vmx file    Copy a file from host OS to guest OS
                          Path on host
                          Path in guest
 copyFileFromGuestToHost  Path to vmx file    Copy a file from guest OS to host OS
                          Path in guest
                          Path on host
 renameFileInGuest        Path to vmx file    Rename a file in Guest OS
                          Original name
                          New name

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12305.html