vCenter 中的 “no healthy upstream” 错误通常在最糟糕的时刻出现——往往在重启后或维护期间,并且几乎总是伴随着 503 Service Unavailable 响应。

从本质上讲,该错误意味着 Envoy 代理无法访问后端服务,如 vpxdvsphere-uivapi-endpoint。原因通常有两个:磁盘空间耗尽或证书过期。

本指南将带您了解 5 种故障排查修复方法,帮助您找到根本原因并快速恢复 vSphere 环境。

vcenter no healthy upstream 错误

为什么 vCenter 显示 “No Healthy Upstream”

以下是导致此 vCenter no healthy upstream 错误的最常见技术原因。

1. 证书过期(首要原因)

证书过期是导致此错误的最常见原因。在 VCSA 内部,有两个证书对内部通信至关重要:

  • STS 证书: 如果安全令牌服务证书过期,SSO 无法验证令牌,所有内部服务认证将停止。

  • Machine SSL 证书: 如果此证书过期,反向代理无法建立与后端服务的安全连接,从而导致 503 错误。

2. 磁盘空间耗尽

VCSA 分区对存储限制非常敏感。当分区达到 100% 时,服务无法写入日志或临时文件,将立即崩溃。最常见的罪魁祸首是:

  • /storage/log:被过度增长的日志填满。

  • /storage/seat:被统计数据和事件填满,常导致 vpxd 服务失败。

3. 服务故障(vsphere-ui vpxd

“上游”指的是处理您请求的内部服务。如果这些服务停止或挂起,代理就没有流量目的地:

  • vsphere-ui:用于呈现客户端界面的 Web 控制台服务。

  • vpxd:核心 vCenter 引擎。如果它因数据库问题而崩溃,整个管理平面将不可用。如果您发现核心服务 无法启动,您可能还会遇到 VMware 无法同步 主机 的症状。这通常表明管理网络或底层数据库完整性存在更深层次的问题。

4. 内存压力和资源耗尽

VCSA 需要严格的内存预留,尤其是在升级后。

  • OOM Killer: 较新版本(v7.0/8.0)需要显著更多的内存(12GB+)。如果配置不足,Linux 内存不足(OOM)杀手将终止关键的 Java 进程以保护内核,阻止服务达到”健康”状态。

5. DNS 解析失败

vCenter 依赖正常运行的域名系统(DNS)通过其完全限定域名(FQDN)来识别自身端点。

  • 解析失败: 如果 VCSA 无法解析其 FQDN,或缺少反向 DNS(PTR)记录,服务启动序列将失败。这将破坏代理与内部服务之间的通信链。

如何修复 No Healthy Upstream 错误:故障排查步骤

一旦您了解了 vCenter no healthy upstream 错误的根本原因,就可以采取系统性的方法来修复服务。此错误通常表示 Envoy 代理无法找到功能正常的后端服务来路由您的请求。

无论您是在重启后遇到 no healthy upstream 还是在正常运行期间遇到,遵循以下技术步骤将帮助您识别并解决故障。

注意:
  1. 在开始故障排查之前,请在 VCSA 上启用 SSH 或通过 ESXi DCUI 访问它。
  2. 在重启或服务重启后,*no healthy upstream* 可能是正常的——请等待 10-15 分钟让服务完全初始化后再继续。

步骤 1:检查磁盘空间

在修改任何配置之前,请确保 VCSA 有足够的”喘息空间”来运行其进程。磁盘耗尽服务无法初始化的主要原因。

  1. 通过 SSH 进入 VCSA 并进入 shell。
  2. 运行以下命令:

df -h

查找什么:仔细检查输出中是否有任何分区达到 100% 容量。在 VCSA 环境中,/storage/log/storage/core 是最常见的罪魁祸首。

修复方法:如果 /storage/log 已满,您可能需要手动清除旧的压缩日志。如果环境已超出其当前分配,请在 ESXi 设置中扩展虚拟磁盘。之后,运行以下命令触发内部调整和服务刷新:

service-control --stop --all && service-control --start --all

步骤 2:验证证书有效性

证书过期是导致 vCenter no healthy upstream 消息的主要技术故障原因。如果底层的安全令牌服务(STS)或 Machine SSL 证书无效,服务无法相互认证。

注意:

在执行证书重置之前,始终进行基于文件的备份或 VM 快照。如需更安全高效的备份解决方案,请考虑使用 i2Backup

运行此命令以检查所有 VCSA 存储中的过期日期:

for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo "STORE: $i"; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | grep -ie "Not After"; done

修复方法:如果任何证书显示已过期,您需要启动 VMware Certificate Manager 工具:

/usr/lib/vmware-vmca/bin/certificate-manager

在由证书完全失效导致的大多数”No Healthy Upstream”场景中,选项 8(重置所有证书)是实现完全恢复最有效的选择。

步骤 3:检查服务状态

如果磁盘正常且证书有效,”上游”(服务本身)可能只是停止或崩溃了。

要识别哪个特定服务不健康:

service-control --status --all

查找什么:检查 vsphere-ui(HTML5 客户端)或 vpxd(核心 vCenter 服务)是否处于”Stopped”状态。

修复方法:如果关键服务已停止,尝试干净地手动重启整个服务堆栈:

service-control --stop --all

service-control --start --all

步骤 4:验证 DNS 和时间同步

vSphere 服务高度依赖精确的时间和名称解析。如果 VCSA 无法”看到”自身或其时钟漂移,令牌将被拒绝。

  • 检查 DNS:确保 vCenter 可以解析自身的 FQDN:

nslookup <vcenter-fqdn>

  • 检查时间:验证设备当前时间是否与基础设施的 NTP 源或域控制器匹配:

date

修复方法:如果时间偏差超过几分钟,安全令牌服务将拒绝认证请求,从而触发上游错误。通过 vCenter Management Interface (VAMI)date 命令校正时间,并确保 NTP 已同步。

步骤 5:检查 UI 日志(最后的线索)

如果您的服务根据 service-control 显示正在运行,但您仍然遇到”no healthy upstream”错误,问题很可能出在 vSphere Client 的 Java 运行时中。当服务启动但无法完全初始化时,”最后的线索”隐藏在 wrapper 日志中。

访问 shell 并 tail vSphere Client 日志:

tail -n 100 /var/log/vmware/vsphere-ui/logs/vsphere_client_virgo.log

查找什么:

  • lang.OutOfMemoryError:这确认 VCSA 没有分配足够的物理 RAM 来支持 UI 服务所需的 Java 堆大小。这是升级后重启出现 vCenter no healthy upstream 的常见原因。
  • lang.NullPointerException:通常表示插件损坏或与查找服务通信失败。

修复方法:如果识别出 OutOfMemoryError,您需要关闭 VCSA 并在 vSphere 设置中增加内存分配。

如果看到插件相关异常,您可能需要使用 Managed Object Browser (MOB) 清除 Serenity 数据库或注销过期的扩展。

常见问题

问 1:为什么即使在重启服务后 vCenter 仍显示 “no healthy upstream”?

答:最可能的原因是根本问题(证书过期、内存不足或 DNS 问题)未被修复。检查日志或运行快速故障排查命令以定位问题。

 

问 2:没有 SSH 访问权限可以修复 vCenter no healthy upstream 吗?

答:可以。使用 ESXi DCUI 访问 VCSA shell,或使用 VAMI 修复时间/DNS 问题。对于证书重置,SSH 更方便,但并非总是必需。

 

问 3:使用 VM 快照修复错误安全吗?

答:快照回滚可以作为临时修复,但不建议长期使用。在回滚之前始终进行基于文件的备份,并在之后修复根本原因(例如过期证书)。

 

问 4:为什么 df -h 显示磁盘空间正常,但我仍然遇到该错误?

答:问题可能是 DNS、时间同步或服务死锁。首先检查 DNS 解析和时间,然后重启所有服务。

 

问 5:如何检查 vCenter 8.0 中 Envoy 代理是否在运行?

答:运行此命令:service-control –status envoyproxy。如果已停止,使用 service-control –start envoyproxy 重启它。

 

问 6:修复证书后是否需要重启 vCenter?

答:是的。重置证书后,使用 service-control –stop –all && service-control –start –all 重启所有服务以应用更改。

 

问 7:为什么错误仅在 vCenter 升级后发生?

答:升级通常会增加内存需求或不会自动续订证书。首先检查内存分配和证书过期情况。

 

问 8:插件问题会导致 vCenter no healthy upstream 吗?

答:会。损坏或过时的插件可能导致 vsphere-ui 服务崩溃。检查 UI 日志中的 NullPointerException 并注销过期的插件。

 

问 9:vCenter 8.0 避免此错误的最低内存是多少?

答:推荐 16GB RAM。12GB 是最低要求,但更可能触发 OOM Killer 和 no healthy upstream 错误。

 

问 10:重启 vCenter 后应等待多长时间再开始故障排查?

答:等待 10-20 分钟。服务可能需要时间完全启动,尤其是在重启或升级后。如果 20 分钟后错误仍然存在,开始故障排查。

结论

vCenter no healthy upstream 错误本质上是一个”烟雾信号”,表明 VCSA 的核心服务无法通信。虽然 503 消息是反向代理的通用响应,但在使用系统性的 CLI 方法时,识别根本原因——无论是过期证书、磁盘空间耗尽还是服务崩溃——都是直接的。

要有效修复 no healthy upstream 错误,始终优先检查 STS 证书和分区健康状态。通过维护适当的资源开销和监控服务日志,您可以防止重启后出现 no healthy upstream 的情况,并确保 vSphere 环境保持稳定。在执行重要的证书或服务修复之前,始终记得进行基于文件的备份或 VM 快照。

博客分类底部

准备好构建企业数据韧性了吗?

立即开启 60 天免费试用,或预约产品演示,了解英方软件如何为您的核心业务提供「零中断、零丢失」的数据保护。

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件公告
各位求职者、合作伙伴:
近期有第三方冒用英方名义发布虚假招聘、不实业务信息。我司正规招聘全程零收费,非官网渠道信息均不作数。
信息核验热线:400-0078-655
遇诈骗请保留证据,及时联系我们并报警
英方软件
2026 年 6 月 23 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1