Linux NIC 在 VLAN 接口上进行绑定吗?

Linux NIC 在 VLAN 接口上进行绑定吗?

是否可以在现有 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

相关内容