登录
首页 >  文章 >  linux

Linux多路径配置教程:multipath设置详解

时间:2026-03-30 22:12:28 124浏览 收藏

本文深入解析Linux环境下multipath多路径软件的完整配置流程,直击SAN存储挂载中同一LUN被识别为多个/dev/sd*设备、重启后设备名频繁漂移、ASM或LVM无法稳定识别磁盘等核心痛点,系统性地提供了从安装启用、黑名单精准过滤系统盘、基于WWID绑定持久化别名、iSCSI双路径专项适配,到动态故障注入验证的五步实战方案,每一步均可独立实施且覆盖生产环境关键风险点,助您快速构建高可用、可预测、易维护的存储路径管理体系。

Linux怎么配置多路径multipath_Linux存储多路径配置方法教程【高级】

如果您在Linux主机上挂载SAN存储时发现同一LUN通过多条光纤路径识别为多个/dev/sd*设备,且重启后设备名频繁变动、无法稳定挂载或ASM无法识别持久化磁盘,则需配置multipath多路径软件实现路径聚合与设备名固化。以下是多种可独立实施的配置方法:

一、基础安装与服务启用

该方法适用于最小化安装系统,确保multipath核心组件就位并启动守护进程。multipathd服务是路径监控与故障切换的核心运行实体,必须处于活动状态才能响应路径变化。

1、检查是否已安装device-mapper-multipath包:rpm -qa | grep device-mapper-multipath

2、若无输出,执行安装命令:yum -y install device-mapper-multipath

3、初始化multipath配置文件(生成默认模板):mpathconf --enable --with_multipathd y

4、启动并设为开机自启:systemctl start multipathd && systemctl enable multipathd

二、黑名单精准过滤与系统盘保护

默认配置将所有块设备纳入黑名单,必须显式排除本地磁盘(如sda),否则multipath会错误聚合系统盘导致启动失败或数据错乱。通过devnode和wwid双重过滤可提升安全性。

1、编辑配置文件:vi /etc/multipath.conf

2、在blacklist段内添加以下内容(保留原有注释结构):devnode "^sda"\ndevnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"\ndevnode "^hd[a-z]"\nwwid "36005076b08164f4011ae88b23efb95fe"

3、确认defaults段启用友好名称:defaults { user_friendly_names yes }

4、重载配置并验证黑名单生效:multipath -t | grep -A 10 "blacklist"

三、基于WWID的持久化别名绑定

为关键LUN分配固定别名(如mpath_oradata),可彻底解决设备名漂移问题,使Oracle ASM、LVM等依赖稳定设备路径的组件免于配置失效。该方式通过/var/lib/multipath/bindings文件实现WWID到别名的硬映射。

1、获取目标LUN的WWID:scsi_id -g -u -s /block/sdb(替换sdb为实际路径)

2、手动编辑绑定文件:vi /var/lib/multipath/bindings

3、追加一行格式为:mpath_oradata 3600508b4000c3af700008000002d0000(左侧为自定义别名,右侧为上步获取的WWID)

4、刷新multipath并强制重建映射:multipath -F && multipath -v2

四、iSCSI双路径模拟环境专用配置

在无真实FC-SAN环境下,可通过iSCSI Target绑定双IP模拟双路径。此时需关闭iSCSI客户端的路径自动发现机制,强制multipath接管所有路径,避免iscsid与multipathd冲突。

1、停用iSCSI服务防止干扰:systemctl stop iscsid && systemctl disable iscsid

2、修改multipath.conf,在defaults段添加:find_multipaths yes\npath_grouping_policy multibus

3、在devices段为iSCSI设备指定策略:devices {\n device {\n vendor "IET"\n product "VIRTUAL-DISK"\n path_grouping_policy "multibus"\n features "1 queue_if_no_path"\n no_path_retry 15\n }\n}

4、重新扫描并列出拓扑:iscsiadm -m discovery -t st -p 192.168.1.100\nmultipath -v2 && multipath -ll

五、动态路径刷新与故障注入验证

生产环境中需验证multipath对单路径中断的实时响应能力。通过主动删除路径并观察设备状态变化,可确认failover机制是否正常工作,避免配置存在隐性缺陷。

1、查看当前活跃路径:multipath -ll | grep -A 5 "active"

2、模拟某条路径断开(以sdb为例):echo 1 > /sys/block/sdb/device/delete

3、等待5秒后检查路径状态:multipath -ll | grep -E "(status|failed|ready)"

4、恢复路径并验证reinstate:echo "- - -" > /sys/class/scsi_host/host*/scan\nmultipath -r

今天关于《Linux多路径配置教程:multipath设置详解》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>