vCenter Server 7.0 Web Client 提示 No Healthy Upstream 的处理方法
今天突然发现我的虚拟化管理平台 vSphere Web Client 无法打开了。提示 500 服务器错误,无法登录了。
随后我登录了 vCenter Server 的设备管理页面(Port 5480),去看是否有服务存在异常,发现页面并没有现实服务异常。抱着重启可以解决 99% 的问题,我就先重启了 vCenter Server 的 VM。
等到重启结束之后,vSphere Web Client 彻底打不开了。提示 No Healthy Upstream。
这种情况,一般是 vSphere 某些服务挂了,于是我又继续检查了服务。发现 vAPI 服务出现了告警,但是提示运行正常的。应该不是这个服务的问题。
对服务列表进行排序,发现很多启动类型为自动的服务当前运行状态均为停止。这就有些异常了。
为了更好的抓取日志,我们登录了 vCenter Server 的 SSH 终端。
切换到 shell 中执行 service-control --start --all
重启服务,果然有服务无法启动报错了。
这个服务无法启动,可能是因为证书过期导致的。
1 | for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; sudo /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done |
查看证书,发现证书在前段时间过期了。
OK,那我们尝试续签证书一下。执行下面这条命令开始重新签发证书。具体所需信息,根据 Shell 的提示进行即可。
1 | /usr/lib/vmware-vmca/bin/certificate-manager |
重新签发证书之后,会自动重启相关服务,业务恢复正常。
目前看,默认机器证书的有效期是 2 年,2 年后需要重新签发新的证书。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 弹霄博科!