一、【问题描述】
vCenter目录清单显示虚拟机无效或不可访问
虚拟机其他操作都显示为灰色,即无法进行界面操作
二、【问题分析】
1、清单服务问题
有时候虚拟机会被标注成无效或者是无法访问,但实际上虚拟机还是正常的,业务也可以正常访问,但是无法对虚拟机做任何操作,这种情况一般都是清单服务的问题。
2、虚拟机本身的问题
虚拟机本身的OS有时候也会有问题,导致虚拟机死机,这时候通过vmtools发送的监控信号就中断了,主机就会把虚拟机标记成无效或者无法访问。如果您开了HA,并且有虚拟机监控,那么正常来说这种情况下会触发HA,把这台虚拟机在原主机或者集群中的其他主机上重启。
3、主机进程的问题
虚拟机对于主机来说就相当于一个word或者excel程序在我们的电脑上一样,就是一个系统中的进程,该进程有较小概率也会由于某些原因出现问题,会导致虚拟机无法正常工作。
三、【解决方法】
症状:
虚拟机显示是孤立状态,虚拟机文件vmx无法注册虚拟机到清单,存在vmx.lck文件,删不掉。
原因:
虚拟机进程还在运行。
解决办法:
1.ESXi开启ssh,检查虚拟机有没有在当前ESXi主机上运行。命令esxcli vm process list。
2.如果找到这个虚拟机,查看命令esxcli vm process list结果中虚拟机的world ID。
3.强制关闭进程。esxcli vm process kill -w xxxx -t soft/force,其中xxxx为world ID号,soft开关为软关闭,force开关在soft不生效时强行关闭。
4、将虚拟机重新添加到清单
1. 首先需要找到该虚拟机存放在哪个存储上,选择该虚拟机—》右键—》移除清单,此时在存放该虚拟机的存储上,找到虚拟机文件夹,在该文件夹里找到“虚拟机名称.vmx”文件,右键“添加到清单”。如果“添加到清单是灰色”,那是因为该虚拟机还在esxi上运行,所以需要通过ssh登陆到esxi,kill命令结束运行的虚拟机进程。
SSH进入esxi,用root用户登录
运行命令:ps | grep VirtualMachineName
输入内容类似于:
7662 7662 vmx /bin/vmx
7667 7662 vmx /bin/vmx
7668 7662 mks:VirtualMachineName /bin/vmx
7669 7662 vcpu-0:VirtualMachineName/bin/vmx
将返回多个行,每行对应一个vmx 进程。请识别出目标虚拟机的父vmx 进程。第一列包含的是 PID,第二列则包含该父进程的 PID。请确保您仅终止父进程。每个进程的父进程 ID (PID) 在第二列中列出,在本示例中以粗体标识。记下该数字以便在后面的步骤中使用。
警告:请确保您标识的行仅特定于您要修复的虚拟机。如果对该虚拟机以外的虚拟机继续执行此过程,则可能会导致其他虚拟机停机。
终止该进程:
Kill ProcessID
等待 30 秒后重复执行第 2 步再次检查该进程是否存在。
如果未终止,请运行以下命令:
kill -9 ProcessID
结束该虚拟机进程后再添加清单。
阅读(8144) | 评论(0) | 转发(0) |