一大早客户老王打来电话,他们的虚拟化环境VCenter登陆不上,一直报错:
由于疫情期间,只能通过电话远程协助客户处理,我让他先进入5480端口设备管理界面也无法打开:
先找到这个vcenter所在主机,打开VCSA的控制台,然后打开SSH 和shell
然后执行
发现服务基本运行都正常,后来尝试重启服务
却发现很多服务无法启动成功
后来再次重启发现报错
通过命令无法重新启动服务,看来只能重启试试。
重启后还是无法登陆,但却报了一个很熟悉的错误:
参考:
https://kb-uat.vmware.com/s/article/67818?lang=zh_cn
可以确定的是503错误肯定是服务器端的问题,一般可能的问题原因有:
- VCenter服务的状态不正常
- 磁盘空间满了
- 证书过期问题
- 等。。。
通过df -h可以看到 /storage/archive目录空间已经100%!
/storage/archive/vpostgres 目录下很多归档的日志文件
执行后空间释放
然后再次重启服务还是失败,我怀疑很大可能是证书的问题了。
要检查证书是否过期,可以参考:
https://kb.vmware.com/s/article/79248?lang=zh_cn
https://kb-uat.vmware.com/s/article/82332?lang=zh_cn
第一是检查STS证书,这个证书可以通过HTML5的WEB界面检查,目前无法登陆此路不通,还可以使用官方给出的checksts.py 脚本
运行python checksts.py
可以看到STS证书并没有过期。
第二是检查环境证书的状态,在 vCenter Appliance 中运行以下命令:
运行结果如下,可以看出好几个证书都过期了,刚刚过期2天。
针对证书过期,VMware给出详细的解决办法,可以使用 vSphere Certificate Manager重新生成证书进行替换。
参考:
https://kb-uat.vmware.com/s/article/2097936?lang=zh_CN
打开证书管理器
选择 8
重置所有证书
然后一路回车,输入SSO密码FQDN选择自己的。
等待证书重置成功,登陆VC 测试
重新打开VC,登陆成功。至此VCenter恢复正常。