VMware的vCenter堪称最佳的VMware虚拟系统界面工具。你可以使用它来全面管理自己的VMware虚拟基础设施环境。你不需要其他任何工具,除非虚拟机出现了问题...
【51CTO 5月22号外电】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
防止针对虚拟机履行强行封闭,由于这么做可能会导致磁盘文件受损。假如你之前备份了虚拟机,要是你的一个或多个磁盘文件受损,能够康复到其间一个备份。
【未经许可,谢绝转载,转载请注明出处,谢谢合作】
译文来历:http://www.serverwatch.com/server-tutorials/managing-stubborn-vmware-vms-from-the-command-line.html
知优网 » 经过命令行办理固执的VMware虚拟机(vmware 命令行启动虚拟机)