sdf 设备总是加不到 multipath 下,配置没问题,重启 multipathd 也不行。根因是 /etc/multipath/wwids 被人手动加了个 # 注释,导致对应的盘一直加载不上。
现象
sdf 的设备总是加不到 multipath 下。
/etc/multipath.conf 的配置没有问题,重启 multipathd 依然不行,报错也不明显。
排查
后来发现是 /etc/multipath/wwids 下有人手动改了:
# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/wwid-example-0001/
/wwid-example-0002/
/wwid-example-0003/
#wwid-example-0004/ # 这里多一个 # 导致对应的 sdf 一直记载不上
/wwid-example-0005/
/wwid-example-0006/
问题就出在那一行多了一个 #,导致对应的 sdf 一直加载不上。
根因
正常来说,我们配置 /etc/multipath.conf 的 multipaths 部分,wwids 里的内容是自动生成的。
这个文件是 multipath 和 multipathd 自动维护的,正常情况下不需要手动编辑。
一旦有人手动改了(比如加了个 # 注释),multipath 就会认为这个盘不在 wwids 列表里,从而不把它加入 multipath。
小结
/etc/multipath/wwids是自动维护的,正常情况下不要手动编辑;- 盘加不到 multipath 下,优先检查 wwids 是否被手动改过;
- 一个多余的
#注释,就可能导致对应的盘一直加载不上; - 排查问题要从源头入手,配置没问题不代表文件没问题。