在VMware vSphere环境中基于NSX部署第三方底层杀毒时,我们首先需要通过NSX在每台主机上发布一个Guest Introspection服务虚拟机。
之前遇到过一个问题,发布Guest Introspection服务虚拟机后,出现报错。在NSX出现警告,显示Guest Intrpspection service is not ready
然后在主机中查看报错信息为
之后找到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