故障回溯
最近遇到有朋友的VMware vSphere vCenter 6.5报错503,
一开始是在登陆界面,输入正确的账号密码,但是还提示输入密码
重启了Vcenter的服务器后,直接503了。
具体报错类似如下:
503 Service Unavailable (Failed to connect to endpoint: [class Vmacore::Http::NamedPipeServiceSpec:0x0000000001a032d0] _serverNamespace = / action = Allow _pipeName =\\.\pipe\vmware-vpxd-webserver-pipe)
CSDN的方法没成功
查了网上csdn等各种渠道的解决方法,按照方法去尝试都是失败,各种描述都一致。。。。为啥呢?
于是去爬官网,找解决办法
根据VMware官网说的,503 Service Unavailable这个不一定是限于证书过期,而是有多个可能性。
- 由于维护,vCenter Server 当前已关闭。
- vCenter Server 上的反向代理服务已关闭。
- vSphere Web Client 服务已关闭。
- 防火墙配置错误。
不过,都不是我的问题。
VMware vSphere vCenter 6.5安装后的证书有效期是2年,所以如果是2年左右出现这个问题,那基本没跑了。
具体网上有各种分析类的帖子、文章,我就不细说了,反正不是STS证书,就是其他证书。
其他证书可以通过界面点击续订;但是这个STS比较麻烦。
查看证书到期时间
1、vCenter 可以登录时验证证书有效期查看证书的页面:
HTML5界面(无法查看STS证书):主页 – 系统管理 – 证书 – 证书管理
Flash界面:主页 – 系统管理 – Single Sign-on – 配置 – 证书 – STS证书
点击每个证书,就可以看到证书的有效期了。
解决-其他证书
如果证书还没完全过期,web界面还能进去,那么可以用下面方法来续订(不含STS证书)。
1. vCenter 续订其他证书
6.5 及以下的操作方法是:https://vc-ip-address/psc,然后选择:证书 - 证书管理– 选择证书 – 续订
6.7的操作方法是:主页 – 系统管理 – 证书 – 证书管理 – 选择证书 – 操作 – 续订
我的解决办法
声明一下,我的vcenter服务器是windows的,所以下面的方法只说windows服务器下的解决办法(网上其他的文章基本都是linux下的)这里就不说了,那些linux的方法是否有效,我也不知道。
1.快照
首先给vcenter服务器虚机做一个快照,安全要紧。
2.fixsts.ps1修复STS证书
到"Signing certificate is not valid" error in vCenter Server 6.5.x and 6.7.x on Windows (79263) (vmware.com)官网这里,下载fixsts.ps1
3.执行修复
下载的文件上传到vcenter服务器上,建议放到%temp%下吧。鼠标右键下载的fixsts.ps1文件,解除锁定并应用,否则无法运行。
然后打开管理员状态下的powershell
然后在powershell里面执行这个fixsts.ps1文件。 这个文件运行比较快。
执行完这步后,你可以
cd C:\Program Files\VMware\vCenter Server\bin
#重启服务
service-control --stop --all
service-control --start --all
我这里启动服务后,他会失败,多个服务无法启动,大意,就是证书还是没有注册。
Service vmware-vmon does not seem to be registered with vMon. If this is unexpected please make sure your service config is a valid json. Also check vmon logs for warnings.
4.重置其他证书
上面的提示,基本说明,除了sts外,其他证书也过期了。
而且web管理界面,我们也进不去了。
所以,续订除STS和data-encipherment以外的证书如下操作
cd C:\Program Files\VMware\vCenter Server\vmcad\
#执行这个文件
certificate-manager
选择8,重置所有证书
Note : Use Ctrl-Z and hit Enter to exit.
Option[1 to 8]: 8
继续执行如下操作,选择y,需要填写的按照默认即可
Do you wish to generate all certificates using configuration file : Option[Y/N]
? : 输入y,按回车键
Please provide valid SSO and VC priviledged user credential to perform certifica
te operations.
Enter username [Administrator@vsphere.local]:默认,直接按回车键
Enter password:输入密码,按回车键,这里不显示输入痕迹
还有几步,我执行了几次显示均不相同,大家可以根据自己情况来选择。
如果接上步提示选择Y/N,那么就先选N,再选Y,再选Y,就会开始下面重置进程
如果出现下面的,则根据情况输入,然后会开始重置进程
Press Enter key to skip optional parameters or use Default value.
Enter proper value for 'Country' [Default value : US] :CN,按回车键
Enter proper value for 'Name' [Default value : CA] :默认,直接按回车键
Enter proper value for 'Organization' [Default value : VMware] :默认,直接按回车键
Enter proper value for 'OrgUnit' [Default value : VMware Engineering] :默认,直接按回车键
Enter proper value for 'State' [Default value : California] :根据情况,按回车键
Enter proper value for 'Locality' [Default value : Palo Alto] :根据情况,按回车键
Enter proper value for 'IPAddress' (Provide comma separated values for multiple
IP addresses) [optional] :访问的IP,直接按回车键
Enter proper value for 'Email' [Default value : email@acme.com] :默认,直接按回车键
Enter proper value for 'Hostname' (Provide comma separated values for multiple H
ostname entries) [Enter valid Fully Qualified Domain Name(FQDN), For Example : e
xample.domain.com] :如果是IP访问,那么就输入IP,域名就输入域名,按回车键
Enter proper value for VMCA 'Name' :同上,按回车键
You are going to regenerate Solution User Certificates using VMCA
Continue operation : Option[Y/N] ? : 输入y,按回车键
最后的百分比这里要说一下。
70%左右时候,开始停止所有服务,会很慢。要等5分钟左右。
85%左右,开始启动所有服务,会更慢,大概我等了10分钟?
然后如果你看到100%,那么恭喜你,终于修复了。
5.修复成功
这时候,我们访问https://地址
终于看到了这个界面。
尝试登陆。
问题终于完美解决了。
赶紧去更新一下Vcenter虚机的快照吧!!这次更新重置,依旧还是2年。。。