x-diagnosis-io
专业的 Linux 存储与文件系统在线故障诊断 skill。该 skill 严格限制使用 X-diagnosis 工具栈中的 4 种核心 IO 诊断工具(xd_iolatency, xd_scsiiocount, xd_scsiiotrace, xd_ext4fsstat)进行精准探测。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
专业的 Linux 存储与文件系统在线故障诊断 skill。该 skill 严格限制使用 X-diagnosis 工具栈中的 4 种核心 IO 诊断工具(xd_iolatency, xd_scsiiocount, xd_scsiiotrace, xd_ext4fsstat)进行精准探测。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
通过分析服务器的【系统级离线日志】——iBMC/SEL 带外日志(磁盘在位/热插拔/错误事件)、OS 系统日志(dmesg、syslog、messages)、InfoCollect 采集日志(SMART 信息/RAID 卡日志/性能数据)——并在日志包含有希捷 FARM 底层遥测日志(farmlog)时执行【OS+FARM 联合底层定界】,诊断离线磁盘硬件、RAID 控制器及存储链路故障,做多源时序对齐、物理级根因溯源与冷存储根因定界(R1-R16 R 码:磁头信号退化/磁头飞行异常/盘片介质退化/振动致伤/固件异常/机械电机退化/链路/RAID/EXP/OS 域)。当用户提供 ibmc_logs / messages(dmesg、syslog)/ infocollect_logs / farmlog 等服务器日志包(任意组合),或询问 RAID 掉盘降级(Offline/Degraded)、I/O 超时阻塞(Timeout/Blocked)、SAS/SATA/NVMe 链路不稳定(PHY Reset/ICRC)、物理槽位异常、磁盘巡检/SMART 告警、文件系统因底层存储故障切只读(Read-only)、磁头级退化定位与 Depop 延寿评估需要从日志反查底层根因时,调用本技能。**双模式**:仅有 OS/iBMC/InfoCollect 系统日志时按纯 OS 侧流程定界根因;同时存在 farmlog 时 Step 5 必须执行,输出结合 OS+FARM 的联合分析报告(逐磁头底层细节 + R 码根因定界)。**若用户只提供希捷 FARM 底层日志(farmlog / openSeaChest .json / 华为 disktool .txt),而无任何 OS/iBMC/InfoCollect 系统日志,应改用 `seagate-farm-disktool-health-analysis` 技能。**
专门分析希捷 (Seagate) 硬盘的 FARM (Field-Accessible Reliability Metrics) 【单帧底层遥测日志】——这是本技能唯一的输入,不涉及 OS/iBMC/RAID 卡系统日志。基于 FARM 逐磁头遥测,判定磁盘健康、按 8 类故障部位 (盘片坏扇区 / 磁头读写通道 ECC / 机械马达伺服 / 接口传输 / 温度环境振动 / 寿命工况 / 固件服务区 / SSD 磨损) 定位问题、收敛到具体磁头,并给出机群级处置建议。当用户要做希捷盘 FARM 级健康巡检/多盘体检、定位磁头退化、坏扇区/重分配、不可恢复读、命令超时 (CTO)、飞高 (FAFH) 异常、Mach.2 双致动器 (如 Exos 2X18 / ST20000NM002H) 磁盘诊断时,必须使用本技能。**本技能只读 FARM 单帧遥测,不分析 OS dmesg/syslog/messages、iBMC SEL 或 RAID 卡日志;若需结合服务器系统日志做存储链路/RAID/文件系统只读的时序根因溯源,请改用 `offline-disk-fault-diagnosis` 技能。**
火焰图分析 Skill。当用户提供折叠栈(.folded)、火焰图SVG、perf script输出、Chrome cpuprofile、Go pprof、AsyncProfiler输出等性能采样数据,并提出"CPU为什么高"、"哪里是瓶颈"、"分析锁竞争"、"对比两次采样"、"GC压力"等分析意图时,必须使用此skill。支持多格式输入适配、SVG反向解析、自然语言意图识别、性能模式检测、On-CPU+Off-CPU联合分析,输出Markdown分析报告和可交互HTML火焰图。
页缓存与内存回收异常诊断技能。覆盖 kswapd 高 CPU(频繁回收)、direct reclaim 导致进程 延迟抖动(allocstall 计数飙升)、dirty page writeback 风暴(dirty_ratio/dirty_background_ratio 配置不当)、page cache 过度占用导致可用内存假告警、drop_caches 误用引发 I/O 风暴等场景。 当用户提到 kswapd CPU 高、内存回收、direct reclaim、allocstall、dirty page writeback、 page cache 过高、可用内存不足、drop_caches、I/O 风暴、内存压力、zone reclaim、 kswapd0 CPU 100%、内存抖动等问题时,必须使用此 skill。
块设备 / Device-Mapper / 软 RAID / LVM / multipath 诊断技能。 覆盖 LVM 层(thin pool 满、PV/VG/LV 缺失、snapshot 溢出)、 md 软 RAID 降级/重建/mismatch、multipath 路径失效/抖动与 failover、 块设备 IO 错误传播(EIO)、IO 调度器(mq-deadline/bfq)异常、 request queue 卡死、设备只读切换等场景。 采用"块层 → DM/MD 映射栈 → 物理设备"自上而下定位。 当用户提到磁盘 IO 慢、设备只读、RAID 降级、LVM 异常、multipath 路径失效、 IO 错误、dmesg I/O error、D 状态进程堆积、文件系统卡死怀疑块设备问题时, 必须使用本技能。
Netfilter / iptables / conntrack 防火墙与连接跟踪深度诊断技能(双轨:规则链 + conntrack)。 当用户提到 nf_conntrack 表满、防火墙丢包、iptables DROP、NAT 映射异常、conntrack INVALID 丢包、 nftables 规则误命中、SNAT/DNAT 失败、连接跟踪超时、ipset 匹配异常、ct helper/ALG 问题等关键词时, 必须使用本技能。覆盖场景:nf_conntrack_max 溢出丢包、iptables/nftables 规则误命中导致 DROP/REJECT、 NAT/SNAT/DNAT 映射异常、conntrack 状态(INVALID/UNREPLIED/UNESTABLISHED)丢包、TCP window tracking 异常、 ct timeout 超时、helper/ALG 协议辅助模块异常、ipset 匹配失效。诊断定位路径:规则链遍历 → conntrack 表状态 → NAT 映射验证 → 内核丢包计数点定界。与 network-diagnosis(通用 IP/路由/ARP/接口诊断)和 X-diagnosis-network-analysis(TCP 协议栈工具诊断)区隔。本技能聚焦 Linux 内核 Netfilter 框架本身的问题, 而非通用网络连通性。
| name | X-diagnosis-io |
| description | 专业的 Linux 存储与文件系统在线故障诊断 skill。该 skill 严格限制使用 X-diagnosis 工具栈中的 4 种核心 IO 诊断工具(xd_iolatency, xd_scsiiocount, xd_scsiiotrace, xd_ext4fsstat)进行精准探测。 |
本技能旨在利用 Agent 自动化在目标故障主机上实时执行 X-diagnosis IO 工具栈,采用“时延切片、指令追踪、文件级审计”的手段,精准定位块设备与文件系统的内核级性能瓶颈与异常。
本技能包含在线诊断引导脚本与深度参考资料,结构如下:
X-diagnosis-io/
├── SKILL.md # 本技能的主文档与流程规范
├── scripts/
│ └── show_location_index.sh # [Step 1] 快速问题定位索引 (仅含 xd IO 工具)
└── references/
└── xdiagnosis_reference.md # [手册] 4 种 xd IO/FS 工具详细说明
必须严格按以下顺序执行,禁止跳过或乱序:
Step 0 (现象确认) → Step 1 (索引对标) → Step 2 (深入交互探测) → Step 3 (证据校验) → Step 4 (输出报告)
执行规则:
xdiagnosis_reference.md 中列出的 4 种 xd 工具,严禁使用其他未说明的复杂诊断工具。| Step | 阶段目标 | 主要工具/方法 |
|---|---|---|
| Step 0 | 故障现象初步确认 | iostat, df -h, lsblk, dmesg, mount |
| Step 1 | 场景对标与工具匹配 | 执行 bash scripts/show_location_index.sh 匹配诊断工具 |
| Step 2 | 内核深度专项探测 | 运行选定的 xd_* 工具进行时序与因果分析 |
| Step 3 | 三重交叉质询 | 对比 xd_* 证据与标准 OS 计数器(如 iostat %util) |
| Step 4 | 结构化诊断报告输出 | 按固定格式输出,核心证据需引用 xd_* 结果 |
目标:通过基础 OS 命令快速锁定故障表现,为 Step 1 的工具匹配提供依据。
常用命令示例:
iostat -xz 1 5 (查看 %util, await, svctm)df -h, mount | grep ext4dmesg -T | tail -n 50 (寻找 I/O error, SCSI timeout)lsblk执行动作:
执行以下脚本以获取当前故障场景对应的推荐 xd 工具:
bash scripts/show_location_index.sh
匹配决策树简述:
xd_iolatencyxd_scsiiotracexd_scsiiocountxd_ext4fsstatAgent 必须根据 Step 1 选定的方向,通过专项工具进行深度分析。
执行动作:
references/xdiagnosis_reference.md 确定工具参数。xd_* 工具并捕获关键输出(如各阶段耗时分布、SCSI 返回码、Top 写入文件)。核心框架:IO 传导链重建
xd_iolatency 的结论必须与 iostat 的 await 趋势一致。| 维度 | 校验标准 | 强制证据 |
|---|---|---|
| E1: 链路定界 | 延迟是发生在 OS 内部还是硬件? | xd_iolatency (I2D vs D2C) |
| E2: 范围一致 | 报错磁盘是否为业务受损对应的分区? | lsblk & mount 对应关系 |
| E3: 结果解析 | SCSI 错误码是否指向硬件故障? | xd_scsiiotrace -p 解析结果 |
报告结构要求如下:
xd_* 关键输出,并配合 E1-E3 校验结果。诊断完备性检查清单:
xd_* 核心证据(如 IO 阶段耗时分布)?