NSX发布Guest Introspection虚拟机时,主机报错的解决方法

在VMware vSphere环境中基于NSX部署第三方底层杀毒时,我们首先需要通过NSX在每台主机上发布一个Guest Introspection服务虚拟机。


之前遇到过一个问题,发布Guest Introspection服务虚拟机后,出现报错。在NSX出现警告,显示Guest Intrpspection service is not ready

NSX发布Guest Introspection虚拟机时,主机报错的解决方法


然后在主机中查看报错信息为

NSX发布Guest Introspection虚拟机时,主机报错的解决方法


之后找到KB,发现有解决方法,但全部尝试之后发现全都无法解决这个报错。

确认NSX、主机、虚拟机之间都可以互相通信,端口也未被占用,时间也同步,Guest Introspection重新发布。主机也已重启并重新添加进Cluster但问题就是一直存在。


后来在迁移虚拟机的时候发现有两台虚拟机迁移至其它主机后,有故障的主机报错消失,这两台虚拟机所在的主机出现了同样的报错。反复迁移尝试后,确认故障是由这两台虚拟机引起的.


查看其中一台虚拟机的LOG日志:

grep vsepAuditSvmConnectivity vmware*.log

vmware-20.log:2017-08-03T16:37:28.439Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM

vmware-20.log:2017-08-03T18:12:32.099Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : Lost connectivity to SVM

vmware-20.log:2017-08-03T18:17:52.635Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM

vmware-20.log:2017-08-04T08:02:18.809Z| vcpu-0| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : Lost connectivity to SVM

vmware-20.log:2017-08-04T08:04:38.742Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM

vmware-23.log:2017-08-10T03:06:56.174Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : Lost connectivity to SVM

vmware-23.log:2017-08-10T03:07:31.819Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM

vmware-23.log:2017-08-11T02:36:04.208Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM

vmware.log:2017-08-22T06:05:46.358Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM

vmware.log:2017-08-22T06:06:42.145Z| vcpu-1| I125: Guest: vsep: AUDIT: vsepAuditSvmConnectivity : connected to SVM


可以看到的确是有连接丢失的情况,之后重装vmtools,但仍然未能解决问题。


后来再看NSX的日志,终于有了重要的发现。在NSX Mgr日志中可以看到如下报错,

</biosUUID><vmxPath>/vmfs/volumes/5980d44e-195eae02-c124-0025b5020015/VMWIN2003_SFISPM2_192.168.88.151/VMWIN2003_SFISPM2_192.168.88.151.vmx</vmxPath><eventTime>252034051</eventTime><eve       ntType>1000</eventType><eventParameter>7.0.0.8</eventParameter><eventParameter>4325376</eventParameter></ObjectEvent><ObjectEvent><objectType>1</objectType><altitude>100</altitude><eventTime>248054676</eventTime><eventType>2000</e       ventType><eventParameter>1.4.2</eventParameter></ObjectEvent></MUXReport></VShieldEndpointSecurity>

   440 javax.xml.bind.UnmarshalException

   441  - with linked exception:

   442 [org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 5413; The reference to entity "SMO_192.168.88.46" must end with the ';' delimiter.]


这台虚拟机的名字是win2003_DCN&SMO_192.168.88.46,搜索类似问题发现该问题可能由于vmx路径里&字符导致无法处理健康状况报告。


那么把这台虚拟机更改成了一个简单的路径名后,重启NSX,并重新发布Guest Introspection,问题解决。


和VMware技术支持沟通后,了解到这是一个BUG,但目前还未修复。



本文转自 川流信息 51CTO博客,原文链接:http://blog.51cto.com/tech4fei/1964216

上一篇:一分钟完成ECS机器数据的智能巡检告警


下一篇:运维窍门:四种方法加快您的专用服务器