Tworzę interfejs łączący z 3 kartami sieciowymi w CentOS6.3. Używam trybu = 6, który nie wymaga obsługi sprzętowej przełącznika.
Oto plik spajania:
[root@~]cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth3
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:e0:66:d3:70:b1
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:e0:66:d3:70:b2
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:e0:66:d3:70:b3
Slave queue ID: 0
Używam trzech serwerów Windows do połączenia powiązanego adresu IP. Teoretycznie każdy serwer otrzyma inny adres MAC. Na przykład serwer 1 połączy się z eth1, a serwer 2 połączy się z eth2, a serwer 3 połączy się z eth3. Następnie obciążenie zostanie zrównoważone.
Jednak serwer 1 łączy się z eth2, a serwer 2 łączy się z eth3, ale serwer 3 ponownie łączy się z eth2. eth1 nigdy nie jest używany. Próbowałem wiele razy, ale nie udało mi się. Wreszcie ręcznie wiążę ze sobą adres IP i adres MAC, aby rozwiązać ten problem.
Dlaczego to się dzieje? Czy istnieje sposób, aby każda karta sieciowa była używana? Są podłączone tylko trzy serwery, więc teoretycznie każdy serwer powinien połączyć się z inną kartą sieciową.
Wielkie dzięki!