获取验证码
很多生产环境VCSA开启VCHA(vCenter HA)三节点集群,完成从7.0升级到8.0或者8.0小版本Update升级之后,vCenter界面弹出告警 vCenter HA status unhealthy。业务vCenter功能看似正常可用,但是VCHA复制链路异常,失去高可用故障切换能力。一旦主节点宕机,无法自动切换到备用节点。本文针对升级后触发该告警的场景,梳理完整排查思路、命令行检查手段、修复流程以及生产运维注意事项。
有VMware全系列产品官方资源和定制版资源需求的可以移步:
1、VCSA完成版本升级,升级过程无报错,vCenter基础管理功能全部正常,虚拟机、集群管理不受影响。
2、vCenter监控面板持续告警:vCenter HA status unhealthy。
3、VCHA页面查看状态,Active节点正常,Standby、Witness节点显示异常,复制链路状态异常。
4、尝试手动触发故障切换,切换失败,提示复制未完成,不允许执行failover。
VCHA依靠同步复制在Active‑Standby之间同步vCenter数据库、配置文件。VCSA版本升级会更新VCHA内部组件,升级过程容易打断复制会话。
高频根因包含:VCHA内部复制会话中断;管理网络节点之间延迟过高,官方要求节点之间网络延迟必须小于5ms;防火墙端口被升级后安全策略拦截;磁盘IO压力大导致复制追赶不上;升级后部分VCHA服务未正常启动。
重点区分:vCenter业务正常不等于VCHA高可用正常,业务可用仅仅代表Active节点运行正常,复制链路不健康代表高可用保护失效。
登录VCSA Active节点SSH,切换到shell,优先查看VCHA集群整体状态。
#查看VCHA集群整体状态 vcsa-deploy vcha get-state #查看复制链路详细状态,重点看Replication状态、延迟统计 vcha-cli getreplicationstatus #查看VCHA相关服务运行状态 systemctl status vmware-vcha*
重点关注输出字段:RPO、network latency。VCHA严格要求三个节点之间往返延迟<5ms,如果持续高于5ms,复制会频繁断开,直接报unhealthy告警。
VCHA三节点之间需要打通443、22、2012端口。升级之后部分环境ESXi防火墙策略、VCSA内置防火墙会发生重置,端口不通直接导致复制异常。
#在Active节点测试连通Standby、Witness节点2012复制端口 nc -zv 备用节点IP 2012 nc -zv 见证节点IP 2012 #测试网络往返延迟,持续ping观察抖动,不能有丢包 ping standby‑ip ping witness‑ip
生产VCHA硬性标准:节点之间网络不能有丢包,往返延迟稳定小于5ms。如果跨机柜、跨交换机出现网络抖动,优先排查交换机、链路聚合,不要继续修复VCHA配置。网络不解决,无论如何重置VCHA都会反复告警。
场景A:只是复制会话中断,节点全部在线,网络正常(升级后最常见)
不需要销毁重建整套VCHA集群,执行同步重新同步Standby节点数据。
#触发重新同步Standby节点 vcha-cli resync
执行resync之后不要做任何操作,等待同步完成。同步时长取决于vCenter数据库大小,大环境可能耗时几十分钟,期间持续用getreplicationstatus观察进度。同步完成告警自动清除。
场景B:resync执行失败,组件版本不匹配,多次同步依旧unhealthy
该操作属于高危,生产操作前务必对VCSA做完整快照备份。需要临时关闭VCHA,再重新配置vCenter HA。
#关闭VCHA高可用 vcsa-deploy vcha disable --accept-eula #确认三节点VCSA全部升级为同一个版本,版本必须完全一致 vcsa-deploy vcha enable --primary‑ip=主节点IP --standby‑ip=备节点IP --witness‑ip=见证节点IP
升级VCSA的时候,三节点版本必须保持完全一致。升级操作只需要操作Active主节点,升级程序会自动升级Standby与Witness;如果人为干预中断升级,会出现版本不一致,VCHA永远无法健康。
如果上面操作无法定位,查看VCHA运行日志,日志路径如下:
/var/log/vmware-vcha/ /var/log/vmware-vpx/
搜索关键词:replication error、network timeout、RPO violation,确认是网络问题、磁盘IO瓶颈还是数据库异常。
| 现象 | 大概率根因 | 处理方式 |
|---|---|---|
| 刚升级完出现告警,网络ping正常无丢包 | 升级打断复制会话 | 执行vcha‑cli resync重新同步 |
| ping存在抖动,延迟经常大于5ms | 物理网络链路质量差 | 优化网络,VCHA不支持跨机房高延迟部署 |
| 端口2012不通,升级后防火墙重置 | 防火墙拦截复制端口 | 确认ESXi、VCSA防火墙放行VCHA端口 |
| resync反复失败,组件版本不一致 | 升级中断,三节点版本不一样 | disable后重新enable VCHA,保证版本统一 |
1、VCHA环境升级VCSA,只能操作Active主节点,升级脚本会自动升级Standby和Witness,不要手动登录备节点执行升级。
2、升级过程禁止关机、断开SSH、网络中断,中断升级极易造成三节点版本不一致。
3、VCHA不支持广域网跨机房部署,延迟超过5ms会持续不健康,不建议强行部署。
4、出现unhealthy告警,vCenter管理功能可用,但是故障切换能力失效,必须修复,不能长期忽略告警。
5、执行resync重同步期间,vCenter性能会有一定压力,尽量业务低峰期执行。
Q:告警unhealthy,我手动执行故障切换可以成功吗?
A:不建议。复制不健康状态下强制切换,备节点数据不完整,切换后会出现vCenter数据库损坏。
Q:升级VCSA之前需要关闭VCHA吗?
A:不需要,官方支持VCHA集群直接在线升级。但升级前建议打快照备份,防止升级异常。
Q:resync同步很久没完成,能重启VCSA服务吗?
A:不要中途中断同步进程,中断会直接损坏复制会话,需要disable重建VCHA。观察磁盘IO,IO过高会拖慢同步速度。
总结:VCSA8.0升级后报vCenter HA status unhealthy告警,优先通过vcha‑cli查看复制状态,检查三节点网络延迟必须低于5ms,无丢包。多数升级后故障直接执行resync重同步即可恢复;同步失败再确认三节点版本完全一致,必要时关闭再重建VCHA集群。严禁在不健康状态下执行故障切换,避免数据库损坏。