问题描述
故障现象: 访问 vSphere Client 的“vSAN 集群-配置-服务”页面时,弹出错误提示:error.query.coreApiMismatch: Failed to convert the QuerySpec to internal representation.

伴随症状:
- 无法提取 vSAN 服务内的存储器运行状况数据。
- 浏览器开发者工具(F12)显示多个指向
/wcp或/api的请求返回 500 错误,报错信息为AuthenticationException(认证异常)。 - vCenter 概览界面显示证书状态警报。

根本原因分析
证书过期:
经查,vCenter 的计算机 SSL 证书(__MACHINE_CERT)已经过期。
连锁反应:
SSL 证书过期导致 vCenter 内部各微服务(如 vSAN Health、VAPI Endpoint)之间的信任链断裂。虽然用户仍旧可以登录 Web 界面,但 UI 后端在代用户请求 vSAN 数据时,因证书无效被拒绝认证。前端由于拿不到正确格式的数据,最终抛出 QuerySpec(查询规范)匹配失败的逻辑错误。

解决方法
有两种方法解决:
第一种:通过命令方式
第二种:web界面操作
SSH
开启 SSH 权限并使用底层工具修复
通过 vCenter DCUI (F2) 界面,进入 Troubleshooting Mode Options 开启 SSH 登录。
使用 SSH 登录到 vCenter,进入 shell 环境

执行以下命令进入证书管理器:
| |

- 在菜单中选择 3(Replace Machine SSL certificate with VMCA Certificate)。
- 输入管理员密码。
- 根据提示输入证书的具体信息(IP、位置、组织等,如无特殊需求直接回车用默认值即可)。
- 系统会自动重新签发这一张证书并重启受影响的服务。
Web 界面续订
如果 Web 后台还能正常操作,也可以登录 vCenter 管理后台(VAMI,通常为 https://<vCenter-IP>:5480 或 vSphere Client 证书管理页面)。
定位至 证书管理,找到过期的 __MACHINE_CERT,选择 续订 (Renew)。


服务重启
续订操作触发后,vCenter 会自动重启所有核心服务(包括 vpxd, vsphere-ui, vsan-health 等)。此时 Web 页面会出现暂时性的连接中断,属于正常现象。
清理与验证
待服务重启完成(通常需要 5-10 分钟),重新登录 vSphere Client。再次进入 vSAN 服务配置界面,确认数据已经恢复正常显示,警报消失。

经验总结与建议
- 监控预警: 平时应多关注 vCenter 首页的“证书状态”警报,在过期前(通常提前 30 天就会开始有提示)及时执行续订。
- 业务影响: 续订证书并重启 vCenter 服务期间,完全不影响底层虚拟机(VM)的正常运行和 vSAN 数据的读写,它仅仅影响对集群的管理操作。
- 备份习惯: 执行任何证书操作前,务必对 vCenter 虚拟机进行 离线快照 备份,以防服务启动失败。