通过重装vCenter Server解决登录vCenter界面时,报"503 Service Unavailable"错误的问题
问题背景
在某次登录vCenter界面时,浏览器报"503 Service Unavailable"错误。
登录vCenter:5480后台管理界面时,输入了正确的用户名密码,提示"证书无效"或"连接失败"。
证书过期导致无法登录
在登录vCenter界面时,浏览器报503 Service Unavailable错误
经多次查询发现问题根源为安全令牌服务 (Security Token Service,简称STS)证书过期。在vCenter6.5 Update 2及之后的6.7版本中,由vCenter自带的VMware证书颁发机构所签发的部分证书,其默认有效期被设置为2年,其中就包括关键的STS证书。
多次尝试手动更新STS证书无果,因vCenter核心服务已因证书问题停止运行,选择重新安装vCenter Server并迁移原有ESXi主机。过程中遇到多个问题,以下是详细记录及解决方法。
解决方法:
安装全新的vCenter Server 6.7,将原有ESXi主机加入新的Server。
重新安装vCenter Server重建数据中心集群
在全新安装vCenter Server时,选择与原有环境相同的版本(6.7),避免兼容性问题。安装过程中需注意:
- 首先关闭故障vCenter Server 。
- 可以使用原有主机名和IP地址。
- 在安装向导中选择"全新安装"而非升级。
- 配置相同的SSO域信息,确保后续主机加入时权限一致。
安装完成后,验证vCenter服务是否正常启动,并通过Web客户端确认新实例可正常访问。
创建原有的数据中心和集群。
添加原有分布式交换机和端口组
进入所有ESXi主机管理页面,确认原有的分布式交换机和端口组信息。
- 在新的vCenter Server中添加的分布式交换机和端口组必须与原来使用的名字相同。
- 分布式交换机上联链路数量相同。
- 端口组VLAN相同。
重新加入ESXi主机
无需手动将原有ESXi主机从旧vCenter中移除,因为重新加入新vCenter时,会出现提示信息,系统会自动切换至新vCenter。
操作步骤:
- 添加ESXi主机之前,最好通过Veeam等备份系统手动备份重要虚拟机。
- 若使用iSCSI等共享存储,最好关闭ESXi主机上的虚拟机,避免迁移主机后因虚拟网卡问题导致存储不可访问。
- 在vSphere Web客户端中,右键数据中心或集群,选择"添加主机",输入ESXi主机的IP地址和登录凭据。
- 在分布式交换机上添加ESXi主机,并选择对应上联链路。
- 重启ESXi主机以刷新配置信息。
- 在vCenter集群的主机"配置"中,删除原有的VMKernel和多余的分布式交换机。
- 添加新的VMKernel并加入对应端口组。
- 若使用iSCSI等共享存储,还需要重新配置适配器信息并刷新。
- 若集群配置了vSAN存储,注意在开启vSAN功能时,千万不要格式化原有磁盘,vCenter会自动识别原来组建vSAN存储的磁盘数据。格式化会导致数据丢失。
添加和分发许可证
原有许可证只有60天体验时间,需重新添加和分发vCenter和ESXi许可证。
若集群配置了vSAN,还需要分发vSAN许可证。
遇到的问题及解决
问题1:虚拟机注册失败
原有虚拟机在新vCenter中显示为"未注册"。解决方法:
通过ESXi本地存储浏览器找到虚拟机文件(.vmx),右键选择"注册虚拟机"。
若虚拟机配置文件损坏,需手动编辑.vmx文件,确保路径和硬件配置正确。
问题2:虚拟机网络适配器显示为空
原有虚拟机在新vCenter中网络适配器一栏显示为空,而非端口组名。解决方法:
编辑设置,重新选择对应端口组。
问题3:分布式交换机配置丢失
新vCenter中分布式交换机(vDS)需重新创建。解决方法:
根据文档手动重建端口组和上行链路。
确保ESXi主机的物理网卡与vDS上行链路配置一致,避免网络中断。
问题4:某些Linux系统虚拟机开机后网络无法使用
在问题2当中对虚拟机网络适配器进行了重新配置,有可能导致原有虚拟机MAC地址不匹配、网卡名称变更、网卡设备未被识别等情况。解决办法:
-
1.通过"Web控制台"方式进入Linux系统
-
2.执行
ip link命令,查看当前实际网卡名称 -
3.对比实际网卡MAC与配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0中的HWADDRbash# 查看实际MAC ip link show # 查看配置文件MAC cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep HWADDR -
4.重建网络配置
若网卡名已变更(比如变成ens33)
备份旧配置:bashmv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak新建对应网卡名的配置文件(以
ens33为例)bashvi /etc/sysconfig/network-scripts/ifcfg-eth33写入基础配置(根据你的环境修改IP)
iniTYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static # 或dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8重启网络服务
bash# Centos 6/7 传统方式 service network restart # Centos 7+ systemd 方式 systemctl restart network
数据恢复与验证
恢复完成后,验证以下内容:
- 所有ESXi主机均显示在新vCenter中,且状态正常。
- 各类共享存储连接正常,内容无删减。
- 虚拟机可正常启动,网络连通性无异常。
- 备份任务、警报规则等配置已重新设置。
后续建议
为避免证书问题再次发生,建议:
- 启用vCenter证书自动续订功能。
- 定期检查证书有效期,并设置监控告警。
- 保留详细的安装和配置文档,便于快速恢复。
通过以上步骤,成功解决了因证书过期导致的vCenter故障,并恢复了原有集群功能。