硬件环境:
服务器无特殊要求,后端存储阵列为NVMe,再添加一块本地硬盘。
软件环境:
OS系统版本:Kylin Linux Advanced Server release V10 (Tercel)
软件包版本:multipath-tools-0.8.4-6.ky10或者multipath-tools-0.7.7-17.ky10
复现步骤:
(1) 服务器和存储建立NVMe over RoCE连接;
(2) 启动多路径服务:systemctl start multipathd.service;
(3) 查看多路径信息:执行命令multipath -ll,没有看到本地盘和NVMe硬盘;
(4) 打开终端执行multipath -v6命令查看多路径日志,可以看到日志“sd[a|b|*] is a local device”、“nvme0n[1|2|3|*] is a local device”。
本地盘被识别为local disk不被聚合成多路径设备的原因是在多路径软件multipath-tools源码中pathinfo()接口少了local disk 的判断处理,导致本地盘不组多路径。
存储阵列中的NVMe硬盘不被聚合成多路径设备的原因是多路径软件multipath-tools源码中只对FC和iSCSI设备进行判断,没有对NVMe设备进行判断,使得NVMe盘返回错误值被标记为local disk,进而不能组成多路径设备。
该问题导致本地硬盘和存储阵列中的NVMe硬盘不能组成多路径设备,不能使用多路径功能。
【要求】:
升级multipath-tools到0.8.4-6.p01.ky10版本
【注意事项】:
升级或者安装软件包后重启multipathd.service服务生效,命令为systemctl restart multipathd.service,并执行命令systemctl status multipathd.service,查看服务是正常的。