linux中多路径管理核心是将同一lun的多条fc路径聚合成/dev/mapper/mpatha等逻辑设备,依赖内核dm-multipath模块与multipathd守护进程协同实现故障切换和负载均衡;需先验证hba识别、wwn获取及多路径可见性,再安装配置multipath工具链、编辑/etc/multipath.conf排除本地盘并启用user_friendly_names,最后扫描路径并用multipath -ll确认聚合生效。

Linux 中使用多路径软件管理光纤存储,核心是让系统把通向同一 LUN 的多条 FC 路径聚合成一个稳定、高可用的逻辑设备(如 /dev/mapper/mpatha),避免路径单点故障,同时支持自动故障切换和基础负载均衡。整个过程不依赖第三方驱动,主要靠内核 dm-multipath 模块 + 用户态 multipathd 守护进程协同完成。
确认硬件与路径可见性
在动手配置前,先验证底层物理连接是否就绪:
- 用
lspci | grep Fibre确认 HBA 卡已被识别 - 执行
cat /sys/class/fc_host/host*/port_name获取各 HBA 端口 WWN,用于后续存储端 Zone 和 LUN Masking 配置 - 运行
lsscsi或lsblk,观察同一 LUN 是否出现在多个 SCSI 设备上(例如sdb、sdc、sdd),这是多路径生效的前提 - 检查 HBA 端口状态:
cat /sys/class/fc_host/host*/port_state,正常应为Online
安装并启用 multipath 工具链
不同发行版安装命令略有差异,但目标一致:装齐内核模块、用户工具和服务:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- RHEL/CentOS:运行
yum install -y device-mapper-multipath - Debian/Ubuntu:运行
apt install -y multipath-tools - 安装后加载内核模块:
modprobe dm_multipath && modprobe dm_round_robin - 启动服务并设为开机自启:
systemctl enable --now multipathd - 验证模块加载:
lsmod | grep dm_multipath应有输出
配置 /etc/multipath.conf 并排除干扰设备
默认配置文件常为空或全黑名单,必须显式定义行为规则:
- 生成基础配置:
mpathconf --enable --with_multipathd y(RHEL系)或复制模板:cp /usr/share/doc/multipath-tools/multipath.conf /etc/multipath.conf - 编辑
/etc/multipath.conf,关键修改包括:- 在
defaults段取消注释并设user_friendly_names yes,使设备名为mpatha而非 WWID - 在
blacklist段明确排除本地盘,例如:devnode "^sda"或wwid "26353900f02796769"(用/lib/udev/scsi_id -g -u -d /dev/sda查 WWID) - 若使用 ALUA 存储(如 Dell EMC、NetApp),建议在
defaults中添加prio alua和path_checker tur
- 在
- 保存后重启服务:
systemctl restart multipathd
扫描路径、验证聚合与后续使用
配置生效后需触发设备发现,并确认逻辑设备已就绪:
- 重新扫描所有 HBA:
echo "- - -" > /sys/class/scsi_host/host*/scan - 列出聚合结果:
multipath -ll,应看到类似mpatha (3600a09803830435a00001b8e514f598c) dm-2 DELL,MD3800i的条目,且各路径状态为active或ready - 查看映射设备:
ls /dev/mapper/mpath*,该路径才是业务层应使用的设备 - 后续可直接在此设备上创建 LVM PV、格式化为 XFS/ext4,或作为数据库裸设备;切勿直接使用底层
/dev/sdX










