vCenter Server 7.0 Web Client 提示 No Healthy Upstream 的处理方法
今天突然发现我的虚拟化管理平台 vSphere Web Client 无法打开了。提示 500 服务器错误,无法登录了。
[图片: 20240723225043]
https://static.txisfine.cn/upload/20240723225043.png/pkwatermark
随后我登录了 vCenter Server 的设备管理页面(Port 5480),去看是否有服务存在异常,发现页面并没有现实服务异常。抱着重启可以解决 99% 的问题,我就先重启了 vCenter Server 的 VM。
等到重启结束之后,vSphere Web Client 彻底打不开了。提示 No Healthy Upstream。
[图片: 20240723225506]
https://static.txisfine.cn/upload/20240723225506.png/pkwatermark
这种情况,一般是 vSphere 某些服务挂了,于是我又继续检查了服务。发现 vAPI 服务出现了告警,但是提示运行正常的。应该不是这个服务的问题。
[图片: 20240723225358]
https://static.txisfine.cn/upload/20240723225358.png/pkwatermark
对服务列表进行排序,发现很多启动类型为自动的服务当前运行状态均为停止。这就有些异常了。
为了更好的抓取日志,我们登录了 vCenter Server 的 SSH 终端。
切换到 shell 中执行 service-control --start --all 重启服务,果然有服务无法启动报错了。
[图片: 20240723230235]
https://static.txisfine.cn/upload/20240723230235.png/pkwatermark
这个服务无法启动,可能是因为证书过期导致的。
```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
```
查看证书,发现证书在前段时间过期了。
[图片: 20240723230707]
https://static.txisfine.cn/upload/20240723230707.png/pkwatermark
OK,那我们尝试续签证书一下。执行下面这条命令开始重新签发证书。具体所需信息,根据 Shell 的提示进行即可。
```/usr/lib/vmware-vmca/bin/certificate-manager
```
[图片: 20240723230810]
https://static.txisfine.cn/upload/20240723230810.png/pkwatermark
重新签发证书之后,会自动重启相关服务,业务恢复正常。
[图片: 20240723231058]
https://static.txisfine.cn/upload/20240723231058.png/pkwatermark
目前看,默认机器证书的有效期是 2 年,2 年后需要重新签发新的证书。