是否可以在现有 Vlan 接口上设置绑定(主动/备份)?
假设以下场景:
- 带有 2 个 NIC 的 Linux 服务器连接到单独的交换机
- iSCSI 启动器 + MPIO 利用两个 NIC(冗余 + 吞吐量)
- 每条路径通过单独的 VLAN(例如 VLAN 101+102)
- 现在我需要另一个 VLAN(例如 100)连接到服务器,该 VLAN 应使用 NIC1,但如果 NIC1 失去链接,则故障转移到另一个
像这样:
eth0 --- eth0.101 -- iSCSI IP 1 \ eth0.100 ------------------- __bond100 -- IP地址 eth1 --- eth0.102 -- iSCSI IP 2 / \ eth1.100 -------------------
恐怕这不管用,因为绑定驱动程序无法从 vlan 接口获取链路层信息...
还有其他想法可以解决这个问题吗?
答案1
如果您只想使用绑定来实现冗余(意味着不需要扩展吞吐量),那么您可以使用带生成树的网桥(设置时请确保您知道自己在做什么),或者使用某种路由协议(RIP、OSPF)。尽管这两者在故障转移时都会有一些延迟。
答案2
哪个部分不起作用?MII 监控?
尝试使用 ARP 监控。检查绑定模块的选项和文档以进行设置。
答案3
我感到很惭愧,因为我想要做的事情实际上毫无问题地进行着。
我只是错过了 miimon 选项,该选项默认为零(禁用)。它使用运营商信息(use_carrier=1(默认)),这些信息也反映在 vlan-interfaces 中。
modprobe.conf:
选项绑定模式=1 miimon=100 use_carrier=1