You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu服务器iSCSI多路径异常及LACP与iSCSI结合适用性咨询

Ubuntu服务器iSCSI多路径异常及LACP与iSCSI结合适用性咨询

一、先解决多路径仅显示2条路径的问题

从你的描述来看,iscsiadm已经确认两块网卡都建立了会话,但multipath -ll只识别到NIC1的路径,大概率是多路径配置或链路识别环节出了问题,你可以按以下步骤排查:

  • 验证iSCSI会话的完整性:执行iscsiadm -m session -P 3,仔细查看每个会话对应的本地网卡IP,确认NIC2的IP确实有对应的iSCSI会话存在。如果NIC2的会话是空的,说明iscsi发现环节可能有隐性问题,需要重新执行iscsiadm -m discovery -t st -p <存储IP>(分别指定存储对应两块网卡的IP)。
  • 检查multipath.conf的设备识别配置:Ubuntu默认的multipath配置可能没有针对NetApp LUN做优化,导致无法识别所有路径。你需要在/etc/multipath.conf中添加NetApp的设备规则:
devices {
    device {
        vendor "NETAPP"
        product "LUN"
        path_grouping_policy multibus  # 让所有路径处于活跃状态,实现负载均衡
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
        path_checker tur  # 使用Test Unit Ready检查路径可用性
        failback immediate  # 故障恢复后立即切换回原路径
        no_path_retry queue  # 无路径时持续排队IO,避免中断
    }
}

修改后重启multipath服务:systemctl restart multipathd。

  • 确认路由配置正确性:确保NIC2的IP段有到存储对应端口IP的路由。可以用ip route get <存储IP>测试,看返回的出口网卡是否包含NIC2。如果没有,需要添加静态路由:ip route add <存储IP段> dev <NIC2名称>,并写入/etc/netplan/配置文件(Ubuntu用netplan的话)永久生效。
  • 重新扫描路径并刷新多路径:先执行iscsiadm -m node --rescan重新扫描iSCSI设备,然后执行multipath -F清空现有多路径映射,再执行multipath -v2重新生成路径,最后用multipath -ll查看是否识别到4条路径。

二、关于LACP与iSCSI结合的适用性

不推荐将LACP二层绑定用于iSCSI场景,原因如下:

  • iSCSI与LACP的适配性不佳:iSCSI基于TCP协议,LACP的负载均衡策略(比如源IP/目的IP哈希)容易导致流量分布不均,而且当某条链路故障时,TCP会话需要重新建立,会造成短暂的IO中断;而MPIO(多路径)是在块设备层面做故障切换和负载均衡,对上层应用/数据库的影响极小,更适合存储高可用场景。
  • MPIO本身已满足需求:通过multibus策略的多路径配置,已经可以让两块网卡同时承载iSCSI流量,实现冗余和负载均衡,不需要额外依赖LACP。
  • 增加复杂度:使用LACP需要服务器和存储端同时配置LACP端口,一旦配置不当反而会引入新的故障点,而MPIO的配置逻辑更简单直接,针对存储设备的兼容性也更好。

总结建议

优先排查并修复多路径配置问题,让MPIO正常识别4条路径,通过multibus策略实现两块网卡同时承载流量;放弃LACP二层绑定的方案,MPIO才是iSCSI存储高可用的标准最佳实践。

备注:内容来源于stack exchange,提问作者xtremerkr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 13:19:52