本文主要是介绍关于vCenter 503报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现象:
打开我们的服务器界面(虚拟机)报错:
503 服务器问题 当前服务不可用。web服务器不能处理HTTP请求,可能是临时超载或者是服务器进行停机维护。
错误提示是由 VMware vCenter Server(vCenter Servoer)引起的,表明 vCenter Server Web 服务无法连接到指定的管道端点。这可能会导致 Web 界面无法访问或出现问题。
原因:
可能问题:服务未启动、配置错误、网络问题
网络:
这里由于有返回码,表明服务器是可以通信的,并且会做出503的回应。进而判断你网络没有出现问题
服务器繁忙(这是503常发生的原因一般公网环境,但私网一般不会有这种情况):
但由于出现的是503可能表明:现在服务器繁忙,可以等几分钟换一台客户端再尝试登录。
检查vCenter依赖的服务是否全部启动:
确保 vCenter Server 和任何外部 Platform Services Controller (PSC) 设备上所有必需的服务均已启动、正在运行且正常运行。
可以使用Xshell连接到服务器使用 : service-control --list 查看有些什么服务启动了
其中有三个核心服务必须启动:
- `vmware-vpxd`:vCenter Server 的核心服务,负责整个管理平台。
- `vmware-updatemgr`:用于管理和执行虚拟机和 ESXi 主机的更新。
- `vmware-sps`:用于管理和配置 vSphere 存储策略。
这里启动服务失败可能和配置 资源 证书有关:
1. 确保 vCenter Server 所依赖的数据库服务(例如 VMware Postgres)已经正常启动。
2. 检查 vCenter Server 的配置文件是否正确,特别是与数据库连接、证书等相关的配置。
3. 检查 vCenter Server 所使用的证书是否有效并未过期。
4. 确保 vCenter Server 所在的主机或虚拟机有足够的系统资源(CPU、内存、磁盘空间等)。
5. 确保网络连接正常,vCenter Server 能够与其他必需的组件进行通信。
这里之前都是正常使用的,突然之间不能用了 优先考虑资源和证书:
通过查看日志文件(使用指令 shell 进入linux 系统) 在日志文件 /var/log/vmware/vpxd/vpxd.log查看vCenter Server 运行时的详细信息
这里的sso facade 创建失败 可能就是前面的证书过期导致的。
sso facade(sso令牌):安全令牌服务(SSO)在 vCenter Server 环境中起着关键的作用,用于管理用户的身份验证和权限。如果 SSO 遇到问题,可能会影响整个 vSphere 环境的功能。因此,在处理 503 错误时,除了检查 vCenter Server 本身的状态外,还应该考虑与 SSO 相关的问题。
资源使用情况可以在vCenter上直接查看
STS证书过期解决方案:
KB(VMware Knowledge Basehttps://kb.vmware.com/s/article/76719)上下载 fixsts.sh :验证是否STS是否过期
使用以下代码确定具体那些证书过期了
for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list | grep -v TRUSTED_ROOT_CRLS); do echo "[*] Store :" $store; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $store --text | grep -ie "Alias" -ie "Not After";done;
root@photon-machine [ /opt ]# for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list | grep -v TRUSTED_ROOT_CRLS); do echo "[*] Store :" $store; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $store --text | grep -ie "Alias" -ie "Not After";done;
[*] Store : MACHINE_SSL_CERT
Alias : __MACHINE_CERT
Not After : Aug 2 16:19:13 2023 GMT
[*] Store : TRUSTED_ROOTS
Alias : dd4002d6f8cf9ead591ada2c4cdc6e0dddace919
Not After : Jul 28 04:18:42 2031 GMT
[*] Store : machine
Alias : machine
Not After : Aug 2 04:10:52 2023 GMT
[*] Store : vsphere-webclient
Alias : vsphere-webclient
Not After : Aug 2 04:11:03 2023 GMT
[*] Store : vpxd
Alias : vpxd
Not After : Aug 2 04:11:13 2023 GMT
[*] Store : vpxd-extension
Alias : vpxd-extension
Not After : Aug 2 04:11:24 2023 GMT
[*] Store : SMS
Alias : sms_self_signed
Not After : Aug 2 04:30:22 2031 GMT
这里遍历每个证书存储的别名和到期时间
标红为过期的展示
确定是STS过期之后: KB(VMware Knowledge Basehttps://kb.vmware.com/s/article/76719) 下载修复脚本 fixsts.sh
先做一下快照
执行脚本fixsts.sh
重启所有服务
使用证书管理工具(certificate-manager)选择8来全部更新证书 这里需要SSO账户和密码
/usr/lib/vmware-vmca/bin/certificate-manager
这里选项都可以默认 对于后面必填值直接使用PSC的IP即可
若SSO账户和密码忘记可以重置(密码管理工具为vdcadmintool)
/usr/lib/vmware-vmdir/bin/vdcadmintool
更新证书又报错:
这里搜索到表示所用6.5版本过低,存在漏洞 可以升级到u3
对于数据加密证书过期
How to replace an expired data-encipherment certificate on vCenter Server (88548) (vmware.com)
运行后脚本更新数据加密证书
如果更新之后证书还是显示过期
官网下载脚本删除掉原有过期的证书
VMware Knowledge Base
方案2 VCIP因为证书过期无法访问
如果已经过期了无法设置 那么可以先将系统的时间设置到过期之前进行更新后再改回来
https://VCSAIP:5480
date -s 12/4/2023(时间)hwclock -wservice-control --start --all
登录https://VCSAIP
续订证书
STS证书更新需要使用脚本在终端中运行
这篇关于关于vCenter 503报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!