30、虚拟机无法关闭停止在95%左右的解决办法
一次做虚拟机回收工作,由于目标虚拟机当时杀毒软件正在运行,CPU占用很高,本来想登陆关闭虚拟机,但是远程连接根本没反映,打开VC带的控制台,鼠标点击进去,操作也是在是慢,总归到底,最后,直接将虚拟机电源关闭。之后,就看着任务开始执行,但进度条走到95%的时候,咋都不动了。
解决思路:
这个问题,属于一个“沟通”问题,应该从两方面入手:
1、一个是vCenter端是否已经将此命令顺利传送到ESX;
2、然后是,ESXi/ESX端是否顺利接到命令,以及是否执行了此命令。
解决过程:
1、SSH连接ESX;
2、vmware-cmd <path.vmx> getstate 确定虚拟机状态;
<path.vmx> 为完全路径(空格等前别忘了加上转义符 /);vmware-cmd -l命令可查看虚拟机路
3、官方文档说若为On,可继续执行其他命令来结束虚拟机;
但是我走到这里,显示的为Off;这就说明,ESX已经将虚拟机关闭了,那这问题就是一个沟通问题
4、登陆VC,我想先从VC端将此问题虚拟机所在的主机断开连接,之后再重新连接,这样就会进行一次新的对话,但是,由于前一个未关闭虚拟机的任务未执行完毕,之后的任务好像都成队列似的在等待,没有反应。
5、任务无法执行,重启相关VC和ESX服务
VC:在Vitual Center的WIN机器上的,在服务管理器重启VC服务。
ESX:在SSH登陆后对两个服务器执行重启。(注:虚拟机服务会短暂中断)
命令如下:
service mgmt-vmware restart
service vmware-vpxa restart
6、在这沟通中的三个服务都已经重启完毕,此时再执行步骤2时,发现返回的结果为On–那台虚拟机正在运行,发现这个,那么按照官方的文档,后续的几个命令就可以有用武之地了。
7、kill -9 xxxx
ps -auxwww |grep -i <VMNAME>.vmx 可以看到虚拟机的PID
8、执行步骤2,现在已为Off
9、登陆VC查看,刷新下,如果状态还未改变,再重启下VC服务器,即可。 |