远程启动或关闭ESX Server上的虚拟机
远程启动或关闭ESX Server上的虚拟机
作者:upall 发布:2011-04-26 13:48 分类:工作抢沙发
  VMware提供了命令行管理虚拟机的接口,即vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合这个工具可以实现远程执行Vmware-cmd,plink相当于Putty的命令行模式。这样通过制作脚本,实现在远程批量操作虚拟机了。
  文末有我使用的bat文件,配合plink和(不需要putty)即可实现ESX的开、关机,其上虚拟机的开、关机。
一、准备工作
1、下载PuTTY:nd.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的文件夹,输入如下命令:
 
1
-load “VmServer06″ -ssh -batch -l user -pw yourpass -
  提示:“VmServer06”为前面保存的PUTTY的链接名称,“User”用来连接ESXServer的用户名,“Yourpass”SSH连接ESXServer的密码,“”存放Vmware-cmd执行命令的文件
2、关机脚本“”:
 
1
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx stop
  提示:/vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx 表示虚拟机存放镜像的路径,将存放到与putty相同的路径。
3、运行步骤1中的命令,关闭Vmserver02的虚拟机:
  说明:显示 stop<> =1,成功关闭虚拟机VmServer02
4、同理试验开启虚拟机,制作开机脚本“”,命令如下:
 
1
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmGhost01/VmGhost01.vmx start exit韩文我爱你
  保存成。
5、CMD下输入命令:
 
1
-load “VmServer06″ -ssh -batch -l user -pw yourpass -
小制作
6、结果显示成功启动虚拟机:
三、制作开机/关机脚本。
1、按照试验的方法,将ESXServer上的虚拟机添加到和中。
  “”
    vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx start
    vmware-cmd /vmfs/volumes/VmServer06\:storage1//VmGhost01/VmGhost01.vmx start
    vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer04.vmx start
    exit
  “”:
    vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx stop
    vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmGhost01/VmGhost01.vmx stop
    vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer04.vmx sto
p
    exit
2、制作plink命令的脚本
  开机脚本start.bat
1
2
@echo off
-load “VmServer06″ -ssh -batch -l user -pw yourpass -
  关机脚本
1
2
3
4
@echo off
echo 确认要关闭虚拟机吗?确认按任意键继续;退出点击关闭
pause
-load “VmServer06″ -ssh -batch -l user -pw yourpass -
  现在在任意一台XP客户端双击运行脚本,就可以远程批量开启或关闭虚拟机了。
另一种方法:
先补充一下常用的命令:
1
2
vmware-cmd –l  ##查看长长的.vmx位置
vmware-cmd vmx-path start <poweron_mode>  ##在这,输入vmx-path时,常常会让人感到愤怒,或者是vm很多很多时,眼花撩乱,简直是@#$%&^%$#$%
看下如何用“vmware-vim-cmd”实现开机效果:
1
2
vmware-vim-cmd vmsvc/getallvms  ##获取所有VM的信息,包括我们需要使用的Vmid,值得一赞的是,这里的输出结果太美观了(Putty窗口太窄,换行显示就不漂亮了)
vmware-vim-cmd vmid  ##OK,启动虚拟机(注意替换“vmid”)!
  另外,使用这种方法去修改网络以及其他配置时,也是更加的有效以及方便的。不过值得注意的时,修改网络配置后,一般需要使用刷新命令 [refresh],否则修改后,你getinfo时,就会发现,怎么好像没配置成功,这确实有些让人困惑,但是refresh后,一切都好了!
vmware-vim-cmd:
1
2
3
4
[root@esx80 root]# vmware-vim-cmd
Commands available under /:
hostsvc/  proxysvc/  vimsvc/  help
internalsvc/  solo/  vmsvc/
介绍其中几项:
  hostsvc/ 包含的是一些关于host设置的命令,类似网络,硬件信息,存储,防火墙,各种服务等等……
  vmsvc/ 则包含的是对Virtual Machine的一些常规设置,类似查看状态,启动,关闭,快照管理,添加/扩展磁盘,等等……
  vimsvc/ 包含的是一些权限,license等等更多VI Client以及VC中一些常规的设置
这里附上一个我正在使用的bat脚本:
  用法:
1
2
3
4
5
6
7
8
esx on #远程打开ESX主机(需要一个工具来发送“Wake-up packet”)
esx off #远程关闭ESX主机
esx ste #查看ESX主机的状态
吴君如最新电影esx l #查看ESX上的虚拟主机列表(列表中有相应的vmid和虚似机的名称)(L的小写)
esx 80 on  #远程打开ESX上vmid为80的虚拟主机
esx 80 off  #远程关闭ESX上vmid为80的虚拟主机
esx 80 ste #查看ESX上vmid为80的虚拟主机的状态
esx ?  #查看帮助
  最后:1、记得让这个脚本得到plink和wol,你可修改环境变量,或者指定为“d:\”。
     2、如果提示是否保存密钥,输入“y”或者“n”都可以,但是输入“y”的话,再次执行将不会再出现这个提示,密钥保存在“HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys”。
Esx.bat的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
怎样给文件夹设置密码
34
35
36
37
38
39
40
41
42
43
@rem ===================================================
@rem 说明:
@rem   用于启动或关闭ESX上的虚似主机
@rem   用法请使用命令“esx ?”查看。
@rem   【注意】需要配合和才能正常工作。
@rem ===================================================
@echo off
::=============配置================
set sshHost=192.168.0.250
set sshUser=root
set sshPwd=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
-ssh -l %sshUser% -pw %sshPwd% %sshHost% vmware-vim-cmd vmsvc/power.%ste% %vmid%
goto end
:PowerOnEsx
wol 0002a5ae72bb
rem wol后边的是ESX的网卡地址
goto end
:PowerOffEsx
-ssh -l %sshUser% -pw %sshPwd% %sshHost% shutdown -h now
goto end
:statusEsx
-ssh -l %sshUser% -pw %sshPwd% %sshHost% service mgmt-vmware status
goto end
:allVms
-ssh -l %sshUser% -pw %sshPwd% %sshHost% vmware-vim-cmd vmsvc/getallvms
goto 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
echo 命令: -ssh -l sshUser -pw sshPwd sshHostIP vmware-vim-cmd 80
:end
<完>
囧rz-----------------我是分割线,超囧的分割线--------------------- 囧rz
远程批量启动或关闭ESXServer上的虚拟机
时间:2009-08-03 09:14来源:abner.cublog 作者:Abner Kou 点击: 1183 次
VMware提供了命令行管理虚拟机的接口,即vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合这个工具可以实现远程执行Vmware-cmd,plink相当于Putty的命令行模式。这样通过制作脚本,实现在远程
VMware提供了命令行管理虚拟机的接口,即vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合这个工具可以实现远程执行Vmware-cmd,plink相当于Putty的命令行模式。这样通过制作脚本,实现在远程批量操作虚拟机了。 

一:准备工作 

1:下载PUTTY 

nd.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的文件夹,输入如下命令 

-load “VmServer06″ -ssh -batch -l user -pw yourpass - 

VmServer06 前面保存的PUTTY的链接名称 

User 用来连接ESXServer的用户名 

Yourpass SSH连接ESXServer的密码 

存放Vmware-cmd执行命令的文件 

2:关机脚本 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx stop exit 

/vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx 表示虚拟机存放镜像的路径 

将存放到与putty相同的路径 

3:运行步骤1中的命令,关闭Vmserver02的虚拟机 

 

显示 stop<> =1,成功关闭虚拟机VmServer02 

4:同理试验开启虚拟机,制作开机脚本,命令如下 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmGhost01/VmGhost01.vmx start exit 

保存成 

5:CMD下输入命令 

-load “VmServer06″ -ssh -batch -l user -pw yourpass - 

6:结果显示成功启动虚拟机 

 

三:制作开机、关机脚本 

1:按照试验的方法,将ESXServer上的虚拟机添加到和中 

 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx start 

vmware-cmd /vmfs/volumes/VmServer06\:storage1//VmGhost01/VmGhost01.vmx start 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer04.vmx start exit 

 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx stop 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmGhost01/VmGhost01.vmx stop 

vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer04.vmx stop exit 

2:制作plink命令的脚本 

开机脚本start.bat 

@echo off 

-load “VmServer06″ -ssh -batch -l user -pw yourpass - 

关机脚本 

@echo off 

echo 确认要关闭虚拟机吗?确认按任意键继续;退出点击关闭 

pause 

-load “VmServer06″ -ssh -batch -l user -pw yourpass - 

现在在任意一台XP客户端双击运行脚本,就可以远程批量开启或关闭虚拟机了
立春是什么意思(责任编辑:admin)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。