vShere Client 无法连接 vCenter 故障排查思路

问题如图所示,vSphere Client 弹框无法连接到 vCenter,只提示出现未知错误

这类问题一般不好排查,因为没有给出错误的具体信息,错误提示或者错误代码。笔者这里结合实例,总结一下该类问题的排查思路

1. 检查网络连接情况;检查 vCenter 的 IP,用户名,密码是否正确

这个在大多数出现在实验环境中,生产环境中一般不会出现这种错误
解决办法也没什么好说的,ping 检查连接,用户名密码换成正确的

2. 检查 vCenter 的 Web Client 能否正常访问

vCenter 是可以从 Web 端访问管理的
URL 是:https://client-hostname:port/vsphere-client
默认情况下此端口为 9443,但可在 vSphere Web Client 安装过程中更改此端口

笔者这里打开并输入正确的用户名密码,发现可以正常访问,说明 vCenter 整个本身是没有什么问题的

3. 检查 VMware VirtualCenter Server 服务是否已经启动

VMware VirtualCenter Server 是 vCenter 的核心服务,无法连接的原因大部分是因为这个服务没有启动
使用 远程桌面 连接到 vCenter 所在的虚拟机,打开 服务器管理器 - 诊断 - 服务,找到这个服务,检查其状态

笔者所在的环境是一个 vCenter 虚拟机通过 Platform Services Controller 去管理多个安装了 VMWare ESXi 底机。由于所在环境出于安全起见,在 vCenter Server 安装时禁止了 vCenter 虚拟机的远程桌面权限,所以笔者这里采用另一种方式跳转上去

由于 VMWare ESXi 底机是允许通过 vSphere Client 连接去管理单个的实体服务器的,而这种方式不需要依赖 VMware VirtualCenter Server 服务。所以笔者这里先连接 vCenter 虚拟机所在的那台实体服务器,再在其中打开控制台

打开后检查,发现这个服务确实是没有正常启动
2.png

4. VMware VirtualCenter Server 服务无法正常启动

一般来说,若是该服务没有启动,手动启用后便可恢复正常。但有些情况下无法手动启动,这时候就要结合具体情况来分析了
vCenter Server 的正常运行是需要依赖数据库的,所以先应该检查数据库的相关服务有没有正常运行
vCenter Server 在安装时是会将其核心服务设置为开机自启的。所以,如果在其启动时数据库服务没有正常运行,就会出现问题。笔者习惯的做法是将数据库相关服务的启动类型设置为 自动,而把 vCenter Server 相关服务设置为 自动(延迟启动),来保证数据库服务优于 vCenter Server 服务启动

5. VMware VirtualCenter Server 服务正常启动了还是不能连接

通常情况下,vCenter Server,vCenter 依赖的数据库和其他业务服务都是分开机器安装的,但也有安装在一台虚拟机中的情况
因为 vCenter Server 需要使用 80 端口,所以保证该端口的正常通信是必要的。可以使用 telnet 命令来检查端口是否已经开启,例如 telnet 10.100.100.14 80。如果不通,就要检查各防火墙的出入栈规则了
另外 Web 服务也会占用 80 端口来进行通信,这个也要仔细甄别

关于 vCenter 服务的相关问题实在太多,笔者这里只是整理了一些思路来帮助检查
对于这种问题没有什么好办法,就是查看日志来找问题原因