首页/系统与基础设施/存储速查/存储路径性能不均衡的定位方法
SAN 与光纤通道60 条

存储路径性能不均衡的定位方法

存储路径不均衡表现为同一 LUN 的多条路径只有部分承载流量、吞吐提前见顶。定位要按应用、主机多路径、HBA、fabric、阵列前端端口逐层取证,先确认是 ALUA 设计使然还是策略与队列深度配置不一致,再决定是否调整多路径策略。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌​‌​‌‌​​​‌​​‌‌​​​​‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​​‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​‌‌‌​​‌‌​‌‌‌‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

不均衡的表现与来源

路径不均衡的典型表现是:同一 LUN 的多条路径里只有一条在跑满、吞吐上不去、某条 ISL 或某个前端端口先到瓶颈。根因分布在不同层:多路径策略是轮询还是按队列长度、ALUA 优先级是否只选了优化路径、各路径端口速率与队列深度是否一致、fabric 内 ISL 是否对称、以及应用自身并发度是否太低(单队列下轮询无从谈起)。因此定位顺序应从应用往下走,而不是先怀疑存储。

基本信息

排查层次应用 → 主机多路径 → HBA → fabric → 阵列前端端口 → 后端
常用工具iostat -x、sar、multipathd show paths、交换机 portperfshow 与 porterrshow
判断基准各路径 IOPS/带宽偏差是否超出预期;单路径是否先于其他路径饱和
常见参数path_selector、rr_min_io_rq、queue_depth、ALUA prio
权限要求主机 root/管理员、交换机与阵列只读账号

典型使用场景

  • 应用反馈延迟高但存储侧指标正常,需要确认流量是否集中在单条路径
  • 扩容后前端端口带宽增加,实际吞吐却没有提升
  • 交换机某条 ISL 利用率异常高,需要追溯是哪台主机造成
  • 双控制器阵列上只有一个控制器的前端端口繁忙
  • 调整多路径策略或队列深度前后的效果对比

逐层取证

逐层取证
# 1) 主机侧:逐设备利用率与队列深度,找出忙碌的 sd 设备
iostat -x 5 3
# 2) 多路径侧:路径所属 HBA 通道、状态与优先级
multipathd show paths raw format '%d %w %t %s %p'
# 3) HBA 侧:确认端口速率与队列深度是否一致
cat /sys/class/fc_host/host*/port_name /sys/class/fc_host/host*/speed
# 4) fabric 侧:查看端口与 ISL 的实时吞吐
portperfshow 2
# 5) 阵列侧:核对前端端口利用率与映射关系
# 以阵列管理界面或 CLI 的前端端口性能视图为准

逐层判读要点

层次观察对象不均衡信号
应用并发线程数、iodepth单队列应用使轮询策略无法分散流量
主机各 sdX 的 %util、aqu-sz只有一条路径忙,其余接近空闲
HBA端口速率、队列深度两路速率不同或队列深度配置不一致
fabric端口与 ISL 利用率、BB credit zero单条 ISL 或单端口先饱和,出现信用耗尽
阵列前端端口负载、ALUA 状态流量集中在一个控制器端口组
完全不均衡不一定是故障:ALUA 阵列有意把流量导到优化路径,此时非优化路径空闲属于正常状态,判断标准应改为「优化路径是否被充分使用」而不是「每条路径是否都一样忙」。
调整策略(如从 failover 切换到 round-robin 或 queue-length)属于影响面较大的变更,建议先在单台主机验证,并记录改动前后的路径占用与延迟数据。

易错点

  • 看到某条路径空闲就判定故障,忽视了 ALUA 阵列有意使用优化路径的正常设计
  • 只调多路径策略不看应用并发度,单队列应用下轮询策略同样集中流量
  • 各路径端口速率或队列深度配置不一致,轮询反而把请求分摊到更慢的路径上
  • 用平均值判断均衡性,峰值时段的单端口饱和被均值掩盖
  • 在业务高峰直接改策略验证,缺乏回退方案与前后对比数据,改动效果无法归因

数据来源与参考

  • Linux multipath.conf(5) 中 path_selector 与 rr_min_io_rq 说明
  • Brocade Fabric OS Command Reference(portperfshow、porterrshow)
  • INCITS T10 SPC-4:ALUA 目标端口组与访问状态

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/storage-path-imbalance-diagnosis.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌​‌​‌‌​​​‌​​‌‌​​​​‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​​‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​‌‌‌​​‌‌​‌‌‌‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​