multipath 多路径设备路径频繁切换或 active 路径不对称的配置坑
发布时间 - 2026-01-19 00:00:00 点击率:次Linux multipath路径切换异常主因是配置不匹配:priority未对齐ALUA权重、pgpolicy与failback策略冲突、path_checker误判、ALUA状态同步延迟、WWID绑定冲突;需启用alua插件、设group_by_prio+failback 30、用tur检测、清bindings并校验WWID。
Linux 下 multipath 多路径设备路径频繁切换或 active 路径不对称,通常不是硬件故障,而是配置不匹配或策略未对齐导致的。核心问题往往出在 路径优先级(priority)、路径组策略(pgpolicy)、failover 模式、以及底层存储侧的 ALUA 状态识别 上。
priority 设置未对齐存储真实路径权重
multipath 默认使用 const 优先级,所有路径权重相同,无法反映存储侧主备路径差异。若存储阵列(如 Dell EMC、HPE 3PAR、NetApp)已通过 ALUA 标明了 optimized/non-optimized 路径,但 multipath 未启用对应 priority 插件(如 alua 或 emc),就会导致路径权重恒定,负载无法自动倾向最优路径,甚至因探测抖动触发误切换。
- 确认存储是否支持 ALUA:
sg_inq -p 0x83 /dev/sdX查看 device identifier,再用sg_rtpg /dev/sdX观察 TPID 和状态 - 在
/etc/multipath.conf中为对应 vendor/product 启用插件:
defaults {
user_friendly_names yes
find_multipaths yes
}
devices {
device {
vendor "DGC"
product ".*"
pa
th_grouping_policy multibus
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
features "2 pg_init_retries 50"
hardware_handler "1 alua"
path_checker tur
priority alua
failback immediate
rr_weight priorities
}
} - 重启服务并重载配置:
systemctl restart multipathd && multipath -r
pgpolicy 与 failback 不匹配引发路径震荡
使用 multibus 策略但 failback 设为 manual,会导致某条路径恢复后不会自动切回 preferred group;而设为 immediate 又可能在链路瞬断时反复切换 active group,尤其当底层 HBA 或交换机启用了快速链路检测(如 FCoE FIP keepalive 或 FC E_D_TOV 超时过短)时更明显。
- 生产环境推荐组合:
–path_grouping_policy group_by_prio(按 priority 自动分组)
–failback 30(30 秒延迟回切,避免瞬断干扰)
–rr_min_io_rq 1(避免 IO 聚集在单路径) - 禁用无意义的 path_checker:例如对 ALUA 存储使用
tur是合适的,但若用readsector0,在 LUN mask 变更或 ACL 切换时易返回 false negative,触发误 down 路径
底层路径状态未同步(ALUA state stale)
multipathd 默认每 30 秒轮询一次 ALUA 状态,但某些存储固件在 LUN 所属控制器切换后,ALUA target port group state 更新延迟或未广播,导致 multipath 仍认为原路径是 optimized,继续发 IO,直到 timeout 后才 failover —— 此过程表现为“active 路径长期不对称”且无日志报错。
- 手动刷新 ALUA 状态:
multipathd -k"switch group"或multipathd -k"reconfigure" - 缩短探测间隔(谨慎):
defaults { polling_interval 10 },但不宜低于 5 秒,否则增加 SCSI 总线压力 - 检查存储端是否开启 ALUA implicit transition:部分阵列需显式启用该模式,否则只响应 explicit 命令,multipath 的
alua插件无法感知动态变化
udev 规则或 WWID 冲突干扰路径识别
当主机曾连接过同型号但不同 LUN 的存储,或更换 HBA 卡后未清理旧路径,/var/lib/multipath/bindings 中残留的 WWID 映射可能导致新设备被错误分配别名(如 mpatha → mpathz),进而使 dm-multipath 表项与实际路径拓扑脱节,表现为 “active 路径数正确但 I/O 全走某两个物理路径”。
- 清空绑定缓存:
rm /var/lib/multipath/bindings && systemctl restart multipathd - 验证 WWID 唯一性:
scsi_id --whitelisted --device=/dev/sdX对每条路径执行,确保同一 LUN 下所有路径返回相同 WWID - 禁用自动生成别名(可选):
user_friendly_names no,直接用 WWID 命名(如mpath-3600a09803830455a0000000000000000),排除命名混淆
# linux
# app
# ai
# switch
# red
# const
# var
# transition
# 设为
# 不匹配
# 表现为
# 绑定
# 不对称
# 链路
# 就会
# 能在
# 可选
# 再用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
网站页面设计需要考虑到这些问题
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何用免费手机建站系统零基础打造专业网站?
Firefox Developer Edition开发者版本入口
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
昵图网官方站入口 昵图网素材图库官网入口
如何撰写建站申请书?关键要点有哪些?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何在建站宝盒中设置产品搜索功能?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
如何用AWS免费套餐快速搭建高效网站?
Android 常见的图片加载框架详细介绍
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何将凡科建站内容保存为本地文件?
如何快速上传自定义模板至建站之星?
中国移动官方网站首页入口 中国移动官网网页登录
JS实现鼠标移上去显示图片或微信二维码
Python文件流缓冲机制_IO性能解析【教程】
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何在企业微信快速生成手机电脑官网?
用yum安装MySQLdb模块的步骤方法
javascript中对象的定义、使用以及对象和原型链操作小结
如何快速生成高效建站系统源代码?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel如何配置Horizon来管理队列?(安装和使用)
海南网站制作公司有哪些,海口网是哪家的?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
简单实现Android验证码
南京网站制作费用,南京远驱官方网站?
iOS中将个别页面强制横屏其他页面竖屏
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
JS弹性运动实现方法分析
Laravel如何使用Telescope进行调试?(安装和使用教程)
JavaScript模板引擎Template.js使用详解
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
如何有效防御Web建站篡改攻击?
如何安全更换建站之星模板并保留数据?
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
如何在IIS服务器上快速部署高效网站?
Laravel Session怎么存储_Laravel Session驱动配置详解
阿里云高弹*务器配置方案|支持分布式架构与多节点部署


