Home

VMware vSphere 故障排查实战系列:vSAN 健康告警解读与处理(14)

这篇从运维管理员视角整理 vSAN Skyline Health 告警的处理逻辑。重点不是把面板“刷绿”,而是先守住可用性和重建能力,再处理治理项。

一、先统一概念

为了避免后面误判,先把常见专有名词说清楚:

  • vSAN:VMware 的软件定义存储(Software-Defined Storage)。把多台 ESXi 主机的本地磁盘聚合成一个分布式共享数据存储。
  • Skyline Health:vSAN 的健康检查面板,按网络、磁盘、容量、兼容性等维度给出告警。
  • Disk Group:vSAN 磁盘组。通常由 1 块 cache 设备(缓存层)和多块 capacity 设备(容量层)组成。
  • FTT(Failures To Tolerate):可容忍故障数,决定对象副本或纠删码冗余策略。
  • Resync:对象重同步/重建过程。节点故障、换盘、策略变更后都会触发。
  • HCL(Hardware Compatibility List):硬件兼容性列表,用于确认控制器、磁盘、固件组合是否在官方支持矩阵内。
  • Slack Space:为重建、再平衡、策略调整预留的可用空间。生产上一般建议保留 25-30%。

二、先分层,再动手

Skyline Health 入口:

Cluster -> Monitor -> vSAN -> Skyline Health

我建议先按这三层看告警:

  • P0/P1:可用性或数据安全风险(网络分区、Disk Group 离线、容量危险)
  • P2:治理风险项(HCL 过期、固件偏离、组件压力、Disk Balance)
  • P3:信息或优化项(部分性能服务、时间同步提示)

三、P0/P1:优先处理的故障类告警

1)网络连通 / 分区类

这类是红线。vSAN 网络不稳,重建、维护、对象恢复都会受影响。

先核对:

  1. vSAN VMkernel 接口是否都在、都通
  2. MTU 是否端到端一致(主机、vDS/vSS、物理交换机)
  3. 是否存在间歇丢包或路径抖动

2)Disk Group Offline / Unhealthy

要先区分故障对象:

  • cache 设备异常:通常是磁盘组级风险,优先级高
  • capacity 设备异常:多数为单盘替换 + 对象重建

处理前先看对象健康和 Resync 进度,避免在重建过程中叠加误操作。

3)容量告警

容量高不仅是“空间不够”,更关键是会压缩重建和策略调整的安全窗口。

到高水位后,集群恢复能力会明显变差。

四、P2:治理项

1)HCL DB up-to-date

这项在运行期通常属于 P2,不会直接导致当前业务中断。

但在以下阶段应提升为“门禁项”:

  • 项目建设与验收阶段
  • 升级或大变更前

可以简单记成一句话:运行期是治理项,变更前是门禁项。

2)Controller / Drive Firmware Outdated

短期未必立刻出故障,但会持续累积兼容性风险。建议放进维护窗口,对齐官方推荐版本。

3)Disk Balance / 组件压力

Disk Balance 通常反映容量分布方差超阈值。它需要处理,但优先级通常低于可用性故障。先保稳定,再做平衡。

五、运维管理员决策树

vSAN 告警
 -> 是否红色(Critical)?
    -> 是:
       1) 先做网络连通与 MTU 核查
       2) 再看 Disk Group 与对象健康
       3) 再看容量与重建空间
       4) 集群稳定后再收口治理项
    -> 否(黄色/信息):
       1) HCL、固件偏离 -> 排期治理
       2) Disk Balance、组件压力 -> 计划优化
       3) 维护前复核容量余量与重建进度

六、现场常用命令

A. 基线状态

esxcli vsan cluster get
esxcli vsan health cluster list
esxcli vsan storage list

B. 网络连通与 MTU

esxcli network ip interface list
vmkping -I vmkX <peer_vsan_vmk_ip>
vmkping -I vmkX -d -s 8972 <peer_vsan_vmk_ip>

C. 对象健康与重建进度

esxcli vsan debug object health summary get
esxcli vsan debug object list
esxcli vsan debug resync summary get

D. 换盘前的设备映射校验

esxcli storage core device list
esxcli storage core path list
esxcli vsan storage list

E. 维护前校验

esxcli vsan cluster get
esxcli vsan debug resync summary get
esxcli vsan health cluster list

现场执行顺序建议:

  1. 先网络,确认不是连通层问题
  2. 再对象/重建,确认集群处于什么恢复阶段
  3. 最后再做换盘、维护或策略动作

七、一个现场例子

场景:某集群同时出现 HCL DB out-of-date(黄色)和 unicast connectivity(红色)。

正确顺序:

  1. 先处理网络连通(红色项),因为它直接影响重建和可用性
  2. 集群恢复稳定后,再做 HCL 更新与固件治理

这就是“运行期治理项让位于可用性故障项”的典型场景。

参考与引用

VMware vSphere vSAN 存储 故障排查