多路径的三条实现路径
iSCSI 多路径的本质是让主机到同一 LUN 存在多条独立端到端通路,实现方式有三类:在同一网卡上对同一目标建立多条会话、用多块网卡(多门户)分别登录、以及配合 iSNS 或目标端多门户自动展开。主机侧再由多路径软件(Linux dm-multipath、Windows MPIO 配合 iSCSI DSM)把这些会话聚合成一个逻辑设备。关键点是路径必须在网络层真正独立:双网卡接同一台交换机同一网段,冗余度远低于双网段双交换机。
基本信息
| Linux 实现 | 多 iface 或多门户登录 + dm-multipath |
|---|---|
| Windows 实现 | iSCSI 发起程序多会话 + MPIO 与 iSCSI DSM |
| 独立性要求 | 独立网段、独立网卡、独立交换机端口,尽量避免共用上行 |
| 聚合层 | 多路径软件决定路径选择与故障切换 |
| 权限要求 | 主机管理员,网络与存储侧配合 |
典型使用场景
- 主机双网卡接入双控制器存储,要求单网卡或单控制器故障时业务不中断
- 虚拟化平台多台主机共享存储,需统一多路径配置以保证行为一致
- 排查路径数不足:发现会话存在但聚合后只有一条路径
- 链路维护窗口内主动停用一侧网络,验证流量是否平滑转移
- 提升吞吐:多条会话分摊 I/O,缓解单条 TCP 流的性能上限
Linux 侧多 iface 与聚合检查
iface 名称与网卡对应关系需按现场命名核对;不同发行版对 iface 命令的写法可能略有差异,以 open-iscsi 文档为准。
路径独立性判读
| 结构 | 冗余程度 | 说明 |
|---|---|---|
| 双网卡 + 双网段 + 双交换机 | 高 | 接近端到端独立,单侧故障不影响 |
| 双网卡 + 同一网段同一交换机 | 低 | 交换机或 VLAN 故障同时影响两侧 |
| 单网卡多会话 | 中 | 可分摊负载,网卡故障仍会全断 |
| 网卡绑定(bond)+ 单门户 | 低 | 只提供链路冗余,不提供端到端路径冗余 |
用链路聚合代替多路径是常见误区:聚合只保证本端链路冗余,主机到目标之间仍是一条逻辑通路,目标端或交换机侧故障照样中断业务。