通过上一篇文档的方法对VCSA6.0U3证书续期后,有一次重启VC(已经过了证书到期时间),VC服务启动异常。主要是vmware-invsvc (VMware Inventory Service)清单服务没有起来。在同事的帮助下得到如下分析处理内容

原因分析
通过分析/var/log/vmware/invsvc/inv-svc.log相关日志,发现依旧存在证书过期的告警。
经过相关排查问题指向vmware-invsvc (VMware Inventory Service)清单服务没有起来。在其日志中提道证书过期,没有指明是哪个证书,按照VMware的证书管理方式检查,没有找到过期的证书。在VMware KB没有查到类似问题的案例。日志内容如下:
2023-12-06T05:43:54.364Z [WrapperListener_start_runner INFO com.vmware.cis.lotus.LotusLocator opId=] Successfully refreshed machine account credentials
2023-12-06T05:43:54.372Z [WrapperListener_start_runner ERROR com.vmware.identity.interop.ldap.LinuxLdapClientLibrary opId=] certificate expired at [Sat Nov 12 20:20:18 UTC 2022]
2023-12-06T05:43:54.372Z [WrapperListener_start_runner WARN com.vmware.identity.interop.ldap.LdapErrorChecker opId=] Error received by LDAP client: com.vmware.identity.interop.ldap.LinuxLdapClientLibrary,error code: -1
通过VMware技术论坛找到类似问题的处理留言贴,解决方式是通过计算机SSL证书对vmdir的证书文件vmdircert.pem和vmdirkey.pem进行覆盖。尝试该方法后确实可以恢复VC的正常运行。
VMware Directory Service(vmdir)是vCenter Server 中的内部(本地)LDAP 存储库,包含用户身份、组和配置数据。关于vmdir的证书如何管理没有查到有效信息。在6.5U2及以上版本的VC(需要每两年对证书续期,官方续期方案里没有提到过vmdir有关证书)没有遇到过vmdir证书原因引起的故障。
处理方法
1、使用 SSH 登录到 vCenter Server Appliance
2、运行以下命令以启用对 Bash shell 的访问(注意:这仅适用于 vCenter Server 6.0):
#shell.set --enabled true
3、对vmdird的证书进行备份,创建备份目录
#mkdir /tmp/vmdired
4、停止vmdird服务
#service-control --stop vmdird

5、从以下位置备份 vmdircert.pem 和 vmdirkey.pem:/usr/lib/vmware-vmdir/share/config
#cp /usr/lib/vmware-vmdir/share/config/* /tmp/vmdired/

6、将计算机 SSL 证书复制为 vmdird 证书
#/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store machine --alias machine --output /usr/lib/vmware-vmdir/share/config/vmdircert.pem
#/usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store machine --alias machine --output /usr/lib/vmware-vmdir/share/config/vmdirkey.pem

7、重启所有服务
#service-control --stop --all
#service-control --start --all


8、检查服务状态
#service-control --status --all





