先停掉 Update Manager服务
找到Update Manager安装文件夹,64位系统注意在Program Files (x86)下面找
在安装文件夹内找到vci-integrity.xml 先备份
然后打开vci-integrity.xml
查找<patchStore>D:\VMware Update Manager\Data\</patchStore>
把当中的路径改成新路径保存,然后启动Update Manager服务即可
这个问题和上次碰到的 patch metadata for xxxx missing 错误其实是一样解决的,上次是用的vc用的8080端口问题报错不太一样。
其实主要就2点
1.esx主机要开放Update Manager相关的防火墙规则,这个可以再命令行里面添加 也可以在vc里面esx主机的configuration里的security profile里面添加。
2.对于vc服务器有多个ip的情况要修改Update Manager目录下的vci-integrity.xml
找到
<hostconfig>
下面的
<patchdepoturl></patchdepoturl>
改为
<patchdepoturl>http://192.168.0.1/vci/hostupdates/hostupdate</patchdepoturl>
192.168.0.1为esx能访问的到的vc的ip,如果vc端口不是80的话就用192.168.0.1:端口
还有一个地方就是 <vpxdlocation>https://hostname:443/</vpxdlocation>
这个地方同样要改成esx能访问到的地址而不是默认的hostname,<vpxdlocation>https://192.168.0.1:443/</vpxdlocation>
这样再定义好Update Manager的基准baselines分配给esx就基本不会有什么问题了。
Update Manager是一款VMware VirtualCenter插件,可以对esx和vm操作系统 进行在线补丁更新。
前两天看到esx已经出3.5 u4了,所以今天抽空打算升级一下的,启用Update Manager,设置更新内容下载补丁都蛮正常,结果在对esx主机进行 scan for updates(扫描更新) 的时候出错。事件里面提示patch metadata for xxxx missing. please download updates metadata first.
去官网kb补习了一下,说这种情况一般是esx无法连上vc的um造成的。常见的可能性就是:
1是esx的防火墙没开8080的out规则
2是vc的机器上可能有多个ip或者网卡,恰好um给esx的ip或者vc的hostname esx连接不上。
所以解决方法首先就是打开esx 防火墙的访问外部8080端口
用ssh登入上esx(注意root用户默认是无法ssh登陆的)先su到root权限执行下面指令:
/usr/sbin/esxcfg-firewall -o 8080,tcp,out,updatemanager
如果安装vc的时候选择的http端口不是8080请做相应修改。
然后在vc主机上在服务里停掉VMware Update Manager Service,在进入Update Manager目录修改文件:
C:\Program Files\VMware\Infrastructure\Update Manager\vci-integrity.xml
找到
<HostConfig>
下面的
<PatchDepotUrl/>
改为
<PatchDepotUrl>http://192.168.0.1:8080/vci/hostupdates/hostupdate</PatchDepotUrl>
其中192.168.0.1就是esx能ping通并且访问到的vc的ip地址,8080端口为安装vc的时候选择的http端口。
然后再启动VMware Update Manager Service,这时应该需要在vc里面重新启用下Update Manager。然后再对esx主机进行扫描更新就可以通过了。
官方对于这个问题的kb:
http://kb.vmware.com/kb/1004914
http://kb.vmware.com/kb/1004330