1. iscsi-initiator-utils
的作用
- 这个软件包提供 iSCSI initiator,也就是 Linux 客户端登录 iSCSI target 的工具(
iscsiadm
)。 - 本身不会和 multipath 冲突,但可能影响 多路径识别 的几个情况:
2. 可能影响 multipath 的因素
已经登录过旧的 iSCSI target
- 如果以前用
iscsiadm
登录过某些 target,但路径未配置 multipath,multipath 可能认为这些设备不属于多路径设备 - 特别是
/etc/iscsi/nodes/
中旧节点信息可能残留,导致 multipathd 扫描不识别新路径
- 如果以前用
设备命名问题
- multipath 通过 WWID 或 SCSI 层信息 来判断哪些设备属于同一个 target
- 如果旧的 iscsi-initiator-utils 会把设备映射到
/dev/sdX
而不是/dev/dm-*
,multipath 扫描可能被 blacklist 或无法合并
session 状态混乱
- multipath 扫描 iSCSI 设备时,如果某条路径已经被 initiator 登录但未被 multipath 管理,会被忽略
- 所以看到
sdb
和sdc
直接出现在lsblk
,说明还没有被 multipath “接管”
3. 排查和解决方案
清理旧的 iSCSI session
sudo iscsiadm -m node --logoutall=all sudo iscsiadm -m node -o delete
重启 multipathd 并刷新
sudo systemctl restart multipathd sudo multipath -F sudo multipath sudo multipath -ll
重新发现并登录新的多路径 target
sudo iscsiadm -m discovery -t sendtargets -p 192.168.0.16:3260 sudo iscsiadm -m discovery -t sendtargets -p 192.168.0.17:3260 sudo iscsiadm -m node -T <IQN> -p 192.168.0.16 --login sudo iscsiadm -m node -T <IQN> -p 192.168.0.17 --login
确认 multipath 配置
blacklist 去掉 sd 拦截
find_multipaths yes
- 再执行
multipath -ll
应该能看到/dev/mapper/mpathX
总结:
- 之前用的
iscsi-initiator-utils
并不会直接阻止 multipath,但 旧的 session/设备信息 + blacklist 会导致 multipath 不识别 iSCSI device - 解决办法就是 清理旧 session → 重新登录 → multipath 扫描