怎样通过命令行管理VMware虚拟机

日期: 2012-05-22 来源:TechTarget中国

  VMware的vCenter堪称最佳的VMware虚拟系统界面工具。你可以使用它来全面管理自己的VMware虚拟基础设施环境。你不需要其他任何工具,除非虚拟机出现了问题,也就是说无法用vCenter来控制该虚拟机。

  当你无法关闭、重启、启动或暂停虚拟机时,该如何是好?你可以当然打电话给VMware支持部门,但也可以求助于命令行。

  对一些VMware管理员来说,命令行无异于神秘莫测的黑盒子,只有大胆之极或愚蠢之极的人才会执行如同魔法的命令。由于没有图形化vCenter简单易用又功能强大的这个优点,一些管理员束手无策、毫无头绪。

  不过幸运的是,没必要这样。命令行并不可怕,它也没什么好担心的。如果学会了掌握其技能,你就能真正地驾驭虚拟王国。

  我们将举例表明这种场景:你在vCenter中遇到了一只顽固的虚拟机(VM02),它无法重启、关闭或响应你的请求。虽然这种情况多少有点罕见,但是一旦果真出现这种情况,你现在知道该如何是好。

  通过SSH连接到虚拟机驻留在上面的VMware主机系统上。你可以选择故障虚拟机的Summary(概要)选项卡,在vCenter中核查这一情况。一旦你登录进入到了主机,如果你最初没有作为根用户(root)来连接,执行su命令,使用根用户帐户。

  请求托管型虚拟机列表。

  # vmware-cmd -l

  /vmfs/volumes/4e2204dba-9576436a-fbc9-00215af58ded/VM01/VM01.vmx

  /vmfs/volumes/4e2204dba-9576436a-fbc9-00215af58ded/VM01/VM02.vmx

  /vmfs/volumes/4e5a4beaa-9573215b-c5fd-00237de14f47/VM01/VM03.vmx

  /vmfs/volumes/4e6c04dc3-81244355-fbb6-00215af58ded/VM01/VM04.vmx

  或者必要的话,你可以使用一种更全面的视图,提供之后将要要用的信息。

  # vmware-vim-cmd vmsvc/getallvms

  Vmid Name File Guest OS Version Annotation

  350 VM01 [CLUSTER_01] VM01/VM01.vmx winLonghorn64Guest vmx-07

  440 VM02 [CLUSTER_01] VM02/VM02.vmx winLonghorn64Guest vmx-07

  589 VM03 [CLUSTER_02] VM03/VM03.vmx winLonghorn64Guest vmx-07

  440 VM04 [CLUSTER_03] VM04/VM04.vmx winLonghorn64Guest vmx-07

  这里给出的关闭方法应该按所示的顺序来使用。首先,你应该尝试正常关闭虚拟机(trysoft);如果下面这个方法失效,就继续采用比较严格的方法。

  # vmware-cmd VM02 stop trysoft

  你不会得到响应,但是你可以在vCenter中检查虚拟机的状态。务必要给虚拟机足够的时间来关闭。如果虚拟机无法关闭,那么你就得使用hard stop(强行停机)选项,采用更极端的措施:

  # vmware-cmd VM02 stop hard

  stop(hard) = 1

  如果强行停机也关闭不了虚拟机,不妨试试下列另一个“强行停机”命令:

  # vmware-vim-cmd vmsvc/power.off (Find the vm id, from the output above: vmware-vim-cmd vmsvc/getallvms)

  # vmware-vim-cmd vmsvc/power.off 440

  要是不管你怎么尝试,那个顽固的虚拟机都关闭不了,那么你必须使用最强硬的终止命令,即恰如其名的kill命令:找到运行中虚拟机的进程编号。

  # ps -ef |grep VM02

  root 31231 1 0 15:12 ? 00:00:00 /usr/lib/vmware/bin/vmkload_app…/VM02/VM02.vmx

  号码31231是VM02的进程编号(Process ID)。结合使用进程编号和kill命令,就可以对该进程实行正常停机。

  # kill 31231

  检查vCenter中的状态。最后,要是该虚拟机仍拒绝关闭,你就得使用不管目前是什么状态,都终止进程的方法:

  # kill -9 31231

  该虚拟机的进程将突然终止。只有其他所有方法都失效时,你才应该使用这个方法。

  你的虚拟机暂停后,可以使用vCenter或下面这个命令行选项让它恢复运行:

  # vmware-cmd start VM02

  避免针对虚拟机执行强行关闭,因为这么做可能会导致磁盘文件受损。如果你之前备份了虚拟机,要是你的一个或多个磁盘文件受损,可以恢复到其中一个备份。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐