遇到这种错误不是一次两次了,一般情况下删除和重建SCVMM中的SCOM链接就可以了,但是这次报找不到VMM管理组对象(VMM Management group object cannot be found)。
查看SCOM 中的发现清单(discovery object) 选择VMM 服务器,没有任何发现,看来问题比较大。
按照微软的KB http://support.microsoft.com/kb/2801185 作了个SCVMM的Trace 跟踪,SCVMM Agent 通过SCOM connection 进行发现时出现了异常,但是trace中没有更详细的数据。
OK,我们来看SCOM Server 的日志(也就是SCVMMM Operation Manager 连接上配置的SCOM 服务器),找到日志中的Operations Manager日志,筛选错误,发现最近的错误里面,有两条ID为26319的日志(OpsMgr SDK Service )的错误似乎挺匹配。
我们切换到SCOM Powershell命令行。
get-scomrelationship �Cid cca19de7-7feb-ee85-ba5c-edb46e918ccb
原来是虚拟机网卡惹得货,仔细察看日志的中XML部分,把此XML部分复制到一个文本文件,更改后缀为.xml,然后修改XML 中的encoding=”utf-16”为encoding=’utf-8’,保存后在IE 中打开,比较清晰的看出。
TargetRole 部分的Value 中的值应该可以帮助我们找到vnic
SCVMM中的和vnic 类似的对象应该有两种,宿主机网卡,虚拟机虚拟网卡。
找台虚拟机看下属性(get-vm oa).virtualnetworkadapters ,发现输出的对象中含有和上图中targetRole 中Value 类似的值
而且SCVMM中有个命令是get-scvirtualNetworkAdapters,我来找找
输出的内容如下:我找到了Name中是一个fxq01的虚拟机
执行get-scvirtualMachine fxq01,找到元凶,原来是一个储存在共享中的一个老的虚拟机。
总结:SCVMM 及SCOM集成后功能很强大,但是集成功能经常会出问题,而且由于SCVMM是同SCOM COnnector 来进行SCVMM中各项对象发现和更新的,一旦出错后只看到控制台上一些出错信息,不知道该如何下手,搜索互联网,有人会告诉你把SCVMM Libary中的VM部署一次,然后重新放回去就可以了,但是如果你有多个VM在Libary 中,这实在不太像一个好的方法,凡事需要知道why 如此作。