文档目录

适用场景

  • 产品:HCI 旗舰版。
  • 组件:通用存储、高性能存储。
  • 版本:ZStone 5.4.0 及之后版本;5.4.30 起,zstnctl inspect 随发布包提供。早于 5.4.30 的环境应先确认单独提供的工具与当前环境兼容。
  • 涉及对象:管理节点、通用存储、高性能存储、硬件、系统和网络。
  • 触发条件:需要开展日常巡检、变更前后状态对比,或收集存储和基础设施异常线索。

本文用于发现和定位异常线索,不替代针对单个故障的处理方案,也不包含硬件固件升级、磁盘更换或数据库修复操作。

问题现象

  • 需要统一检查集群健康、容量、缓存、磁盘、系统服务和网络状态。
  • 巡检报告显示 HEALTH_WARN、NOT_SYNCED、WARNING、NOT_SUPPORT、Unknown 或 ABNORMAL ITEMS FOUND。
  • 需要确认报告中的异常是实际资源异常、历史记录,还是工具采集不完整。

inspect completed. 仅表示巡检命令已完成,不表示集群健康。NOT_SUPPORT、Unknown 或字段为空,也不能直接视为硬件故障或健康检查通过。

判断方法

  1. 在操作节点执行以下命令,确认当前工具提供巡检能力:
   /opt/zstone/bin/zstnctl version
   /opt/zstone/bin/zstnctl inspect --help
  1. 记录管理节点 IP、ZStone VIP、工具版本和本次巡检范围。工具缺少 inspect 子命令时,应先核对工具版本和兼容性,不据此判断集群异常。
  2. 根据实际部署的存储引擎选择巡检模块:
环境存储模块公共模块
仅通用存储cephoverview,hardware,system,network
仅高性能存储zbsoverview,hardware,system,network
同时包含两类存储ceph,zbs 或 alloverview,hardware,system,network
  1. 实际没有部署高性能存储时,ZBS cluster not detected, skip zbs module check. 表示跳过不适用模块;若环境已部署高性能存储,则应继续检查工具识别范围,不能将该提示视为通过。

原因说明

zstnctl inspect 会汇总存储命令、平台记录以及节点硬件、系统和网络检查结果。报告异常可能来自存储资源、时间同步、系统服务、硬件、网络,或 VIP、节点访问和连接参数不匹配导致的采集不完整。异常项目数量用于定位检查项,不能直接换算为故障设备数量。

解决方案

1. 执行前准备

  • 确认本次巡检的管理节点、ZStone VIP、存储引擎和存储池范围。
  • 在当前承载 ZStone VIP 的节点优先执行;在其他节点执行时显式指定 --vip。
  • 默认数据库连接配置不适用时,按当前工具帮助和现场凭据管理要求补充连接参数;不要在交付报告、截图或工单中记录明文凭据。
  • 常规巡检不使用 --yes-operate-db。该参数可能同时操作数据库,当前材料未给出修改范围和恢复方法。

2. 执行完整巡检

在当前承载 ZStone VIP 的节点执行。单管理节点只填写一个 IP,多个管理节点使用英文逗号分隔:

/opt/zstone/bin/zstnctl inspect \
  --master-ips '<管理节点1IP>,<管理节点2IP>'

如果在非 VIP 节点执行,在上述命令中补充实际 ZStone VIP:

/opt/zstone/bin/zstnctl inspect \
  --master-ips '<管理节点1IP>,<管理节点2IP>' \
  --vip '<ZStone VIP>'

命令开始后等待各模块完成。网络检查可能存在采样阶段,实际耗时以环境规模和巡检范围为准。

3. 按存储引擎缩小巡检范围

通用存储与公共检查:

/opt/zstone/bin/zstnctl inspect \
  --master-ips '<管理节点IP列表>' \
  --module overview,ceph,hardware,system,network

高性能存储与公共检查:

/opt/zstone/bin/zstnctl inspect \
  --master-ips '<管理节点IP列表>' \
  --module overview,zbs,hardware,system,network

可使用 --ceph-pools 或 --zbs-pools 指定单个存储池。缩小模块或存储池范围后的报告,只能代表该范围内的检查结果。

4. 保存并解读报告

工具支持 table、json 和 csv 格式,默认格式为 table。例如:

/opt/zstone/bin/zstnctl inspect \
  --master-ips '<管理节点IP列表>' \
  --format json

保存报告时记录工具版本、执行时间、节点和巡检范围。若用于自动化解析,应先确认当前版本的输出不混有进度日志。

报告内容处理建议
Cluster Health: HEALTH_WARN展开具体告警,结合通用存储健康状态继续排查。
Time Sync: NOT_SYNCED使用 chronyc sources 检查同步源和同步状态。
bcache 可用比例低结合 dirty 数据、目标值和业务负载分析,不直接修改缓存参数。
bcache 路径读取失败核对缓存关联、设备和 sysfs 路径,区分采集问题与缓存状态问题。
WITHOUT_CACHE表示该检查项没有缓存,应结合资源设计确认,不自动判定故障。
90 天历史告警 WARNING结合告警发生时间和当前状态判断是否已经恢复。
NOT_SUPPORT、NOT_SUPPORTED、Unknown表示该指标无法直接作为正常或故障结论,应结合厂商工具或现场检查。
寿命字段为 0 或 -1先查看 Message 是否说明不支持,不将该值直接解释为寿命耗尽。
网络丢包、收发错误或丢弃计数结合采样窗口、网卡、业务网络和存储网络持续复核。

验证方法

  • 巡检任务:命令完成,并实际覆盖预期的节点、存储引擎和存储池。
  • 报告完整性:没有未解释的采集错误或不应跳过的模块。
  • 异常复核:逐项记录异常,结合存储原生命令、硬件工具或业务访问确认实际影响。
  • 问题恢复:处理异常后,在相同范围内重新巡检,确认当前状态恢复;历史告警和不支持指标单独说明。

风险与回滚

  • 本文提供的常规巡检命令不应修改业务数据或存储配置,但错误的连接参数可能导致采集失败或报告范围不完整。
  • 不要使用 --yes-operate-db,也不要因巡检结果直接执行固件升级、磁盘更换、数据库修改或资源删除。
  • 若报告提示集群或硬件异常,先保留巡检报告和相关日志,再按对应故障处理方案或官方技术支持建议处理。
HCI 旗舰版通用存储与高性能存储巡检方案 | 技术方案 · KB | ZStack 资源中心