如何将MySQL备份到磁带:逻辑备份与物理备份方法
2026-08-21
vCenter 中的 “no healthy upstream” 错误通常在最糟糕的时刻出现——往往在重启后或维护期间,并且几乎总是伴随着 503 Service Unavailable 响应。
从本质上讲,该错误意味着 Envoy 代理无法访问后端服务,如 vpxd、vsphere-ui 或 vapi-endpoint。原因通常有两个:磁盘空间耗尽或证书过期。
本指南将带您了解 5 种故障排查修复方法,帮助您找到根本原因并快速恢复 vSphere 环境。

以下是导致此 vCenter no healthy upstream 错误的最常见技术原因。
一旦您了解了 vCenter no healthy upstream 错误的根本原因,就可以采取系统性的方法来修复服务。此错误通常表示 Envoy 代理无法找到功能正常的后端服务来路由您的请求。
无论您是在重启后遇到 no healthy upstream 还是在正常运行期间遇到,遵循以下技术步骤将帮助您识别并解决故障。
在修改任何配置之前,请确保 VCSA 有足够的”喘息空间”来运行其进程。磁盘耗尽服务无法初始化的主要原因。
df -h
查找什么:仔细检查输出中是否有任何分区达到 100% 容量。在 VCSA 环境中,/storage/log 和 /storage/core 是最常见的罪魁祸首。
修复方法:如果 /storage/log 已满,您可能需要手动清除旧的压缩日志。如果环境已超出其当前分配,请在 ESXi 设置中扩展虚拟磁盘。之后,运行以下命令触发内部调整和服务刷新:
service-control --stop --all && service-control --start --all
证书过期是导致 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(重置所有证书)是实现完全恢复最有效的选择。
如果磁盘正常且证书有效,”上游”(服务本身)可能只是停止或崩溃了。
要识别哪个特定服务不健康:
service-control --status --all
查找什么:检查 vsphere-ui(HTML5 客户端)或 vpxd(核心 vCenter 服务)是否处于”Stopped”状态。
修复方法:如果关键服务已停止,尝试干净地手动重启整个服务堆栈:
service-control --stop --all
service-control --start --all
vSphere 服务高度依赖精确的时间和名称解析。如果 VCSA 无法”看到”自身或其时钟漂移,令牌将被拒绝。
nslookup <vcenter-fqdn>
date
修复方法:如果时间偏差超过几分钟,安全令牌服务将拒绝认证请求,从而触发上游错误。通过 vCenter Management Interface (VAMI) 或 date 命令校正时间,并确保 NTP 已同步。
如果您的服务根据 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 快照。
公告
邮件
销售