如何安全地逐步删除 RMAN 中的备份
2026-06-12
2026-06-12
2026-06-12
2026-06-11
当您登录 vCenter 时,可能会看到一个红色的错误横幅:“无法连接到一个或多个 vCenter Server 系统”。
有时,您可能会看到以下变体:

该错误通常意味着 vSphere Client 或其他 VMware 管理组件无法与一个或多个已注册的 vCenter Server 建立通信。
在大多数情况下,受影响的 vCenter 在线且运行的 VM 继续正常运行,但管理员可能无法访问清单管理、监控、迁移、备份和其他基于 vCenter 的功能,直到连接恢复。
错误的根本原因可能因消息而异。
● could not connect to one or more vcenter server systems:443/sdk
此变体通常指向涉及 vCenter SDK 端点的连接问题。
潜在原因包括:
● could not connect to one or more vcenter server systems:https://
此版本通常表示格式错误的 URL、证书验证失败或主机名解析问题。
● could not connect to one or more vcenter server systems:https://:443/sdk
当主机名信息缺失或配置不当,导致生成的连接 URL 无效时,通常会出现此错误。
接下来,您可以参考以下部分,我们将帮助您逐步修复此错误。
您可以按照以下步骤修复错误。请按顺序执行以下步骤。每个步骤都假设前一步已成功。
1. 查看错误出现的位置:
-Verbose 参数运行 Connect-VIServer -Server <FQDN>。详细的错误字符串通常会揭示确切的 HTTP 状态。2. 错误是否影响链接模式组中的所有 vCenter?
使用其 FQDN 直接连接到每个 vCenter 的 UI。如果只有一个失败,则重点关注该主机的服务和证书。如果所有都失败,请检查 PSC(vSphere 6.7)或嵌入式 SSO 服务(7.0+)。
从显示错误的客户端机器运行 ping 和 telnet 命令:
ping vcenter.example.com
telnet vcenter.example.com 443
如果 ping 失败:DNS 或路由问题。首先修复名称解析。
如果 telnet 失败(超时或“连接被拒绝”):
● 在 Windows 上使用 PowerCLI:
Test-NetConnection -ComputerName vcenter.example.com -Port 443
如果连接成功但错误仍然存在,请转到步骤 4。
负载均衡器警告:如果 vCenter 位于负载均衡器后面,LB 可能通过 443 端口传递 TCP 流量,但无法正确路由 /sdk。临时绕过 LB – 直接连接到 vCenter 的 IP 或主机名。
vCenter 的证书包含其 FQDN。如果您的客户端将该 FQDN 解析为与 vCenter 期望不同的 IP,则证书检查失败,SDK 连接被拒绝。
在客户端上:
nslookup vcenter.example.com
# 应返回 vCenter 的 IP
现在从 vCenter 的角度检查反向 DNS。通过 SSH 进入 VCSA 并运行:
nslookup <client_IP>
# 结果应包含客户端的主机名
如果客户端的 IP 地址无法正确解析回客户端的预期主机名,vCenter 的查找服务将不信任该客户端,并拒绝向其提供登录令牌 – 从而导致连接错误。
在 VCSA 的 `/etc/hosts` 文件中添加一个条目以绕过 DNS 解析。但是,当 IP 地址更改或 vCenter 验证自己的 FQDN 时,此方法将失败。请使用真正的 DNS 解析。
这是最直接的诊断方法。从任何可以访问 vCenter 443 端口的机器上运行:
curl -k https://vcenter.example.com:443/sdk
-k 标志忽略证书验证。这意味着您不会看到 SSL 证书错误 – 您只会看到 HTTP 响应或连接失败。
您会得到一个以 <soapenv:Envelope...> 开头的 XML 响应,其中包含一个像 InvalidLogin 或 MissingHeader 这样的故障代码。这是个好消息 – SDK 端点处于活动状态,只是因为您未提供凭据而拒绝。
您可能看到的其他情况:
|
响应 |
含义 |
下一步 |
|
curl: (7) Failed to connect |
没有服务在 443 端口监听 |
服务已死 – 检查 vpxd |
|
curl: (52) Empty reply |
服务在响应过程中崩溃 |
重启 vpxd,检查日志 |
|
401 Unauthorized |
SDK 已启动但需要登录。当未发送凭据时,这是正常的。 |
您的客户端存在身份验证或证书信任问题(客户端侧)。 |
|
403 Forbidden |
IP 或路径限制(罕见) |
检查 vCenter 的反向代理配置 |
|
503 Service Unavailable |
服务已启动但未就绪 |
等待 5 分钟或检查启动日志 |
|
Connection reset by peer |
SSL/TLS 不匹配 |
检查 TLS 版本和密码套件 |
● 对于 PowerShell 用户:
Invoke-WebRequest -Uri "https://vcenter.example.com:443/sdk" -SkipCertificateCheck -Method Get
如果您收到有效的 XML 故障(即使带有故障代码),则您的 SDK 端点运行正常。问题出在客户端侧:浏览器证书信任、PowerCLI 凭据处理或缺少 -SkipCertificateCheck 标志。如果您收到任何连接拒绝或 5xx 错误,请继续执行服务检查。
SDK 端点主要由 vpxd 服务(vCenter Server)托管。在 VCSA 上,通过 SSH 进入并运行:
service-control --status --all
查找:
如果 vpxd 已停止,启动它:
service-control --start vmware-vpxd
检查其启动失败日志:
tail -f /var/log/vmware/vpxd/vpxd.log
tail -f /var/log/vmware/rhttpproxy/rhttpproxy.log
如果 vpxd 因“Failed to initialize”或数据库错误而无法启动,请检查磁盘空间:
df -h
在 VCSA 上,关注以下分区:
如果任何分区已满 95% 以上,请释放空间。删除旧的日志包(/var/log/vmware/*.log.gz)或扩展磁盘(参见 VMware KB 2145364)。
对于 Windows vCenter(已弃用但仍在使用),请使用服务 MMC 或:
net start "VMware vCenter Server"
证书是仅次于简单服务故障的第二大常见原因。真正的问题可能是客户端不信任 vCenter 的证书 – 或者 vCenter 拒绝客户端证书。
1. 从任何客户端检查证书过期:
openssl s_client -connect vcenter.example.com:443 -servername vcenter.example.com 2>/dev/null | openssl x509 -noout -dates
如果 notAfter 是过去的日期,则您的证书已过期。使用 VCSA 的 certificate-manager 重新生成:
cd /usr/lib/vmware-vmca/bin/
./certificate-manager
选择选项 8(重置所有证书)或选项 3(替换机器 SSL 证书)。规划一个维护窗口 – 这将重启服务。
2. 检查 FQDN 匹配
提取证书的主题备用名称(SAN):
openssl s_client -connect vcenter.example.com:443 2>/dev/null | openssl x509 -noout -text | grep -A1 "Subject Alternative Name"
SAN 列表必须包含您用于连接的确切 FQDN。如果您通过 IP 地址或短主机名连接,验证将失败。始终使用证书中显示的 FQDN。
对于 PowerCLI 用户 – 如果您使用自签名证书运行 Connect-VIServer 但未设置 InvalidCertificateAction,连接将静默失败。运行:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
然后重新连接。这是一个客户端侧绕过 – 不是修复,但它确认问题是证书信任。
来自安全令牌服务(STS)的 SAML 令牌根据系统时钟进行验证。如果 vCenter 的时钟和客户端的时钟相差超过 5 分钟(默认偏差),令牌验证将失败。在某些客户端中,这表现为一般的连接错误。
在 VCSA 上:
date
timedatectl
systemctl status chronyd
如果 NTP 未同步,请强制手动同步:
chronyc -a 'burst 4/4'
chronyc -a makestep
对于 Windows vCenter:
w32tm /query /status
w32tm /resync
时间差异通常发生在 vCenter 在快照期间暂停之后,或者如果 VMware Tools 时间同步配置错误,在主机维护之后。
如果您在链接模式组中有多个 vCenter 服务器(vSphere 7.0 及更早版本支持增强链接模式;vSphere 8.0 使用通用 SSO 域),当任何成员 vCenter 的 SDK 端点失败时,会出现“无法连接到一个或多个 vCenter Server 系统”错误。
1. 验证 vCenter 之间的可达性。 从每个 vCenter 测试另一个的 SDK 端点:
# 在 vCenter A 上,测试 vCenter B
curl -k https://vcenterB.example.com:443/sdk
如果从 A 和 B 测试都失败,则问题出在跨 vCenter 的网络或服务上。
2. 检查查找服务注册
查找服务维护 SSO 域中所有 vCenter 的列表。如果 vCenter 被注销或其条目过时,您将收到该错误。使用 cmsso-util 命令(在 vSphere 8.x 中仍然有效)。有关确切语法,请参阅 VMware KB 2145069。
3. 修复链接模式
如果一个 vCenter 永久离线,使用 cmsso-util domain-repurpose -m unregister 将其从 SSO 域中移除(完整命令请参见 KB 文章)。然后在修复根本问题后重新添加它。仅当离线的 vCenter 不会恢复时才执行此操作。
如果您已验证了网络、服务、证书、DNS 和时间,但 SDK 端点仍然失败:
1. 按顺序重启所有 vCenter 服务
从 VCSA bash(以 root 身份):
service-control --stop --all
service-control --start vmware-stsd
sleep 30
service-control --start vmware-rhttpproxy
sleep 15
service-control --start vmware-vpxd
service-control --start --all
2. 通过 VAMI 启动 VCSA 进入设备 shell:如果您无法 SSH,请使用端口 5480 上的 vCenter Server 管理界面(VAMI)。在“故障排除”下,启用“Bash shell”。然后运行上述命令。
3. 从备份还原: 如果 vpxd 数据库已损坏且 vCenter 无法启动,请从 VCSA 的文件级备份(使用 VAMI 的原生备份/还原)或从 vCenter 关闭时拍摄的快照进行还原。切勿恢复正在运行的 vCenter 的快照 – 这将导致数据库不一致。
错误解决后,请采取以下措施:
错误和故障时有发生。损坏的 vpxd 数据库、加密 vCenter 设备的勒索软件攻击或意外的快照回滚都可能使数小时的故障排除变得毫无意义。这就是为什么为您的 vCenter Server 及其底层 VM 制定专用备份策略至关重要的原因。
英方软件的 i2Backup 为 VMware vSphere 环境提供了专门构建的备份和恢复解决方案。与通用的文件级备份不同,i2Backup 旨在以企业级功能保护整个 vCenter Server Appliance(VCSA)及其相关数据库。
为您的 vCenter 环境实施强大的备份策略,可以将灾难性故障从“从快照恢复”的风险转变为常规的恢复操作。您可以单击下面的按钮获得 i2Backup 的 60 天免费试用:
本文介绍了“无法连接到一个或多个 vCenter Server 系统”背后的常见原因 – 服务宕机、证书过期、DNS 不匹配或时间偏差。按照从网络检查到 /sdk 测试再到服务重启的步骤,在大多数情况下您都能解决该问题。
此外,定期备份您的 VMware VM 也是必要的。当问题超出修复范围时,干净的还原是您最快的恢复路径。英方软件 i2Backup 为 vSphere 环境提供了无代理、不可变的备份。
公告
邮件
销售