Linux NIC bonding on top of vlan interfaces

bondingiscsilinuxmultipathvlan

Is it possible to set up bonding(active/backup) on top of existing vlan interfaces ?

Assume the following scenario:

  • Linux Server with 2 NICs connected to separate switches
  • iSCSI initiator + MPIO to utilize both NICs (redundancy+throughput)
    • each path via separate VLAN (e.g. VLAN 101+102)
  • now I need another VLAN (e.g. 100) connected to the Server
    that should utilize NIC1 but failover to the other one if NIC1 looses
    it's link

Something like this:

    eth0  --- eth0.101 -- iSCSI IP 1
            \ eth0.100 ------------------- 
                                          \ __ bond100 -- IP
    eth1  --- eth0.102 -- iSCSI IP 2      /
            \ eth1.100 -------------------

I'm afraid this doesnt work, because the bonding driver doesn't get link-layer information from the vlan-interface…

Any other ideas how to solve this ?

Best Answer

if you want to use bonding just for redundancy (meaning no extended throughput required), you can either use bridge with spanning tree (make sure you know what you're doing, when setting this up), or some kind of routing protocol (RIP, OSPF). though both of these have some delay on failover.