默认黑名单导致multipathd禁用所有设备,须注释devnode "*"黑名单、启用user_friendly_names、排除本地盘、启动服务并执行multipath -F && multipath -v2扫描。

不配 /etc/multipath.conf,multipathd 默认把所有设备拉进黑名单,根本不会聚合任何路径 —— 这是 90% 初次配置失败的根源。
检查 multipath 是否已安装并加载内核模块
先确认基础组件就位,否则后续所有操作都无效:
- 运行
lsmod | grep dm_multipath,无输出说明内核模块未加载;需执行modprobe dm-multipath && modprobe dm-round-robin - 查软件包:
rpm -qa | grep device-mapper-multipath,若为空则用yum -y install device-mapper device-mapper-multipath安装 - 注意:
/etc/multipath.conf文件不存在时,日志里会明确打印/etc/multipath.conf does not exist, blacklisting all devices—— 这不是警告,是直接禁用全部设备
必须修改 /etc/multipath.conf 解除默认黑名单
默认配置把 devnode "*" 写死在黑名单里,相当于“禁止一切”。不改它,multipath -ll 永远为空:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 找到并注释掉这三行(在文件开头附近):
#devnode_blacklist {# devnode "*"#} - 同时启用友好名,取消以下三行的注释:
defaults {user_friendly_names yes} - 务必排除本地系统盘(如
sda),加到blacklist块里:devnode "^sda"或更稳妥地用wwid(通过scsi_id -g -u -s /block/sda获取)
启动服务并强制重扫描路径
改完配置不重启服务、不手动触发扫描,变化不会生效:
- 启动守护进程:
systemctl start multipathd(或service multipathd start) - 立即刷新识别:
multipath -F && multipath -v2——-F清旧映射,-v2强制发现新路径,缺一不可 - 验证结果:
multipath -ll应显示类似mpathb (36005076b08164f4011ae88b23efb95fe) dm-3 IBM,2145的条目;对应设备出现在/dev/mapper/mpathb和/dev/dm-3 - 若仍为空,检查
systemctl status multipathd是否报错,常见原因是dm-multipath模块未加载或/etc/multipath.conf语法错误(比如漏了右括号)
绑定别名和持久化设备名的关键点
/dev/mapper/mpathb 这类名字每次重启可能变,真正稳定的是 wwid,但 wwid 太长难记。靠 /var/lib/multipath/bindings 绑定别名:
- 首次运行
multipath -v2后,该文件会自动生成,内容形如:mpathb 36005076b08164f4011ae88b23efb95fe - 若想固定为
asm_data,需在multipaths块中显式定义:multipaths {multipath {wwid 36005076b08164f4011ae88b23efb95fealias asm_data}} - 改完必须再执行
multipath -F && multipath -v2,否则/dev/mapper/asm_data不会出现
最易被忽略的是:bindings 文件本身不参与运行时逻辑,它只是 multipath 工具生成别名的“参考表”;真正起作用的是配置文件里的 multipaths 块 + 每次 -v2 扫描时的匹配动作。

















