《远程启动或关闭ESXServer上的虚拟机》由会员分享,可在线阅读,更多相关《远程启动或关闭ESXServer上的虚拟机(9页珍藏版)》请在金锄头文库上搜索。
1、远程启动或关闭 ESX Server 上的虚拟机作者:upall 发布:2011-04-26 13:48 分类:工作 抢沙发VMware 提供了命令行管理虚拟机的接口,即 vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合 Plink.exe 这个工具可以实现远程执行 Vmware-cmd,plink 相当于 Putty 的命令行模式。这样通过制作脚本,实现在远程批量操作虚拟机了。文末有我使用的 bat 文件,配合 plink 和 wol.exe(不需要 putty)即可实现 ESX 的开、关机,其上虚拟机的开、关机。一、准备工作1、下
2、载 PuTTY:http:/www.chiark.greenend.org.uk/sgtatham/putty/download.html下载 PuTTY 和 plink,将两个文件放入同一文件夹内。2、双击 Putty, “Host Name”处填入 ESXSrver 主机的名称或 IP 地址;“Saved Sessions”随便填入一个连接名称,点击“Save” ,保存链接:3、重新打开 PUTTY,双击刚才保存的 VmServer06 的链接,试验能否正确链接到 ESXServer主机:二、试验关闭/开启虚拟机1、远程主机上,打开 CMD 命令行,定位到存放 putty 和 plink
3、的文件夹,输入如下命令:1 plink.exe -load “VmServer06 -ssh -batch -l user -pw yourpass -m stop.txt提示:“VmServer06 ”为前面保存的 PUTTY 的链接名称, “User”用来连接 ESXServer的用户名, “Yourpass”SSH 连接 ESXServer 的密码, “Stopt.txt”存放 Vmware-cmd 执行命令的文件2、关机脚本“stop.txt ”:1 vmware-cmd /vmfs/volumes/VmServer06:storage1/VmServer02/VmServer02.v
4、mx stop提示:/vmfs/volumes/VmServer06:storage1/VmServer02/VmServer02.vmx 表示虚拟机存放镜像的路径,将 stop.txt 存放到与 putty 相同的路径。3、运行步骤 1 中的命令,关闭 Vmserver02 的虚拟机:说明:显示 stop#在这,输入 vmx-path 时,常常会让人感到愤怒,或者是 vm 很多很多时,眼花撩乱,简直是#$%&%$#$%看下如何用“vmware-vim-cmd”实现开机效果:12vmware-vim-cmd vmsvc/getallvms#获取所有 VM 的信息,包括我们需要使用的 Vmid,
5、值得一赞的是,这里的输出结果太美观了(Putty 窗口太窄,换行显示就不漂亮了)vmware-vim-cmd vmsvc/power.on vmid#OK,启动虚拟机(注意替换 “vmid”)!另外,使用这种方法去修改网络以及其他配置时,也是更加的有效以及方便的。不过值得注意的时,修改网络配置后,一般需要使用 刷新命令 refresh, 否则修改后,你getinfo 时,就会发现,怎么好像没配置成功,这确实有些让人困惑,但是 refresh 后,一切都好了!vmware-vim-cmd:1234rootesx80 root# vmware-vim-cmdCommands available u
6、nder /:hostsvc/proxysvc/vimsvc/helpinternalsvc/solo/ vmsvc/介绍其中几项:hostsvc/ 包含的是一些关于 host 设置的命令,类似网络,硬件信息,存储,防火墙,各种服务等等vmsvc/ 则包含的是对 Virtual Machine 的一些常规设置,类似查看状态,启动,关闭,快照管理,添加/扩展磁盘,等等vimsvc/ 包含的是一些权限,license 等等更多 VI Client 以及 VC 中一些常规的设置这里附上一个我正在使用的 bat 脚本:用法:12345678esx on #远程打开主机(需要一个 wol.exe 工具来
7、发送“Wake-up packet”)esx off #远程关闭主机 esx ste #查看主机的状态esx l #查看上的虚拟主机列表(列表中有相应的 vmid 和虚似机的名称)(L 的小写) esx 80 on #远程打开上 vmid 为 80 的虚拟主机esx 80 off #远程关闭上 vmid 为 80 的虚拟主机esx 80 ste #查看上 vmid 为 80 的虚拟主机的状态esx ? #查看帮助最后:1、记得让这个脚本找得到 plink 和 wol,你可修改环境变量,或者指定为“d:plink.exe”。2、如果提示是否保存密钥,输入 “y”或者“n”都可以,但是输入“y”的
8、话,再次执行将不会再出现这个提示,密钥保存在“HKEY_CURRENT_USERSoftwareSimonTathamPuTTYSshHostKeys”。Esx.bat 的代码:1234567891011121314151617181920212223242526rem = rem 说明: rem 用于启动或关闭上的虚似主机 rem 用法请使用命令“esx ?”查看。 rem 【注意】需要配合 plink.exe 和 wol.exe 才能正常工作。 rem = echo off :=配置= set sshHost=192.168.0.250 set sshUser=root set sshPw
9、d=upall := if %1=? goto howto if /i %1=on goto PowerOnEsx if /i %1=off goto PowerOffEsx if /i %1=ste goto statusEsx if /i %1=l goto allVms if %1= (set vmid=80) else set vmid=%1 if %2= (set ste=on) else set ste=%2 if /i %ste%=ste set ste=getstate plink.exe -ssh -l %sshUser% -pw %sshPwd% %sshHost% vmw
10、are-vim-cmd vmsvc/power.%ste% %vmid% goto end :PowerOnEsx wol 0002a5ae72bb rem wol 后边的是 ESX 的网卡地址 goto end 2728293031323334353637383940414243:PowerOffEsx plink.exe -ssh -l %sshUser% -pw %sshPwd% %sshHost% shutdown -h now goto end :statusEsx plink.exe -ssh -l %sshUser% -pw %sshPwd% %sshHost% service
11、mgmt-vmware status goto end :allVms plink.exe -ssh -l %sshUser% -pw %sshPwd% %sshHost% vmware-vim-cmd vmsvc/getallvmsgoto end :howto echo 说明:通过 plink 控制 ESX 上虚拟机的 on 和 off。 echo 没有 vmid 参数,on 和 off 将作用于 ESX 本身, echo l 参数(“L” 的小写)可以列出所有虚拟机。 echo 用法: esx vmid = 80 on|off|ste = on l echo 例子: esx 80 on
12、echo 命令: plink.exe -ssh -l sshUser -pw sshPwd sshHostIP vmware-vim-cmd vmsvc/power.on 80 :end 完囧 rz-我是分割线,超囧的分割线- 囧 rz远程批量启动或关闭 ESXServer 上的虚拟机时间: 2009-08-03 09:14 来源: 作者:Abner Kou 点击: 1183 次VMware 提供了命令行管理虚拟机的接口,即 vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合 Plink.exe 这个工具可以实现远程执行 Vmware
13、-cmd,plink 相当于 Putty 的命令行模式。这样通过制作脚本,实现在远程VMware 提供了命令行管理虚拟机的接口,即 vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合Plink.exe 这个工具可以实现远程执行 Vmware-cmd,plink 相当于 Putty 的命令行模式。这样通过制作脚本,实现在远程批量操作虚拟机了。 一:准备工作 1:下载 PUTTY http:/www.chiark.greenend.org.uk/sgtatham/putty/download.html 下载 PUTTY 和 plink,将连
14、个文件放入同一文件夹内 2:双击 Putty,Host Name 处填入 ESXSrver 主机的名称或 IP 地址;Saved Sessions 随便填入一个连接名称,点击 Save,保存链接 3:重新打开 PUTTY,双击刚才保存的 VmServer06 的链接,试验能否正确链接到ESXServer 主机 二:试验关闭、开启虚拟机 1:远程主机上,打开 CMD 命令行,定位到存放 putty 和 plink 的文件夹,输入如下命令 plink.exe -load “VmServer06 -ssh -batch -l user -pw yourpass -m stop.txt VmServe
15、r06 前面保存的 PUTTY 的链接名称 User 用来连接 ESXServer 的用户名 Yourpass SSH 连接 ESXServer 的密码 Stopt.txt 存放 Vmware-cmd 执行命令的文件 2:关机脚本 stop.txt vmware-cmd /vmfs/volumes/VmServer06:storage1/VmServer02/VmServer02.vmx stop exit /vmfs/volumes/VmServer06:storage1/VmServer02/VmServer02.vmx 表示虚拟机存放镜像的路径 将 stop.txt 存放到与 putty 相同的路径 3:运行步骤 1 中的命令,关闭 Vmserver02 的虚拟机 显示 stop =1,成功关闭虚拟机 VmServer02 4:同理试验开启虚拟机,制作开机脚本 start.txt,命令如下 vmware-cmd /vmfs