硬件環境:
服務器無特殊要求,后端存儲陣列為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,查看服務是正常的。