今天一个网友问我,他管理的机房有4台ESXi 5.1的服务器,其中三台ESXi Server不能显示各个虚拟机占用的CPU、内存情况了,如图1-1所示。

VMware ESXi中不能显示CPU及内存使用情况的解决方法_第1张图片

图1-1在“虚拟机”选项卡中不能显示每个启动虚拟机的资源占用情况

另外,在VMware ESXi的“摘要”中,CPU与内存的使用情况也统计出错,如图1-2所示。

VMware ESXi中不能显示CPU及内存使用情况的解决方法_第2张图片

图1-2 摘要统计出错

在出现这个问题时,各个ESXi Server上的虚拟机可以正常启动、关闭,并且各虚拟机运行的系统及应用不受影响。

从上面两个图我看到,在正常情况下每台VMware ESXi,还应该有“硬件状态”选项卡,可以看到该服务器的处理器、内存、风扇、电源等情况,如图1-3所示。

VMware ESXi中不能显示CPU及内存使用情况的解决方法_第3张图片

图1-3 正常情况下可以看到“硬件状态”

通过使用QQ远程协助,我检查“插件管理器”,看到“vCenter硬件状态”插件已经被禁用,如图1-4所示。

VMware ESXi中不能显示CPU及内存使用情况的解决方法_第4张图片

图1-4 vCenter Server中硬件状态插件已经被禁用

如果硬件状态没有被禁用,在出现图1-1与图1-2的错误提示时,则会在“硬件状态”中显示当前服务器己关闭电源,但服务器实际上是正在运行的。

当出现这种情况时,会有什么后果呢?你可能误认识,只是vCenter Server统计出错,不会影响实际使用。但是在虚拟化的数据中心中,当多台主机组成群集时,如果出现这种错误,当群集中的某台主机意外当机时,正常情况下,出现故障的主机上的虚拟机会在群集中其他主机重新启动,但由于vCenter Server统计或者“认为”其他主机已经处于“关机”状态,则vCenter Server会认为群集中没有可用的主机,不会在其他主机上重新启动这些虚拟机,造成业务长时间中断。

怎么解决这个问题呢?我个人认为,如果是永久解决,重新安装vCenter Server,重新配置群集、重新将VMware ESXi添加到数据中心是最好的方法。如果没有时间重新安装vCenter Server,也可以将出现故障的ESXi Server,从vCenter Server中“移除”,然后再将其添加进来,问题就可以解决。主要解决步骤:

(1)先将出现故障上的ESXi主机中的虚拟机,迁移到其他主机。

(2)当所有虚拟机迁移完成后,将当前主机置于“维护模式”,然后从vCenter Server清单中“移除”该ESXi主机,如图1-5所示。

VMware ESXi中不能显示CPU及内存使用情况的解决方法_第5张图片

图1-5 进入维护模式、从清单中移除主机

(4)当主机移除之后,重新添加该主机到vCenter Server,问题即可解决,如图1-6所示。

VMware ESXi中不能显示CPU及内存使用情况的解决方法_第6张图片

图1-6 问题解决后截图