Ethernet Bonding w Centos 7.6

Bonding kart sieciowych służy do tego, aby w dużym skrócie – połączyć ze sobą minimum dwie karty sieciowe w celu zwiększenia przepustowości, niezawodności bądź też – jednocześnie przepustowości i niezawodności sieci na serwerze.

Aby skonfigurować bonding na serwerze – powinniśmy mieć bezpośredni dostęp do konsoli serwera, bądź IPMI i wydajemy polecenia:

nmcli con add type bond ifname bond0 bond.options 
"mode=802.3ad,miimon=100,downdelay=0,updelay=0"
ip4 192.168.100.100/24 gw4 192.168.100.1
ipv4.dns "8.8.8.8 8.8.4.4"

Powyższe polecenie utworzy nowy interfejs bond0 przypisując wybraną adresację. Następnie – do interfejsu bond0 dodajemy karty sieciowe:

nmcli con add type ethernet ifname eth1 master bond0
nmcli con add type ethernet ifname eth2 master bond0

Bonding interfejsów sieciowych pozwala na ustawienie kilku trybów:

  • balance-rr – wysyła pakiety w sposób sekwencyjny z każdej dostępnej karty sieciowej,
  • active-backup – jeden interfejs jest aktywny, drugi oczekuje,
  • balance-xor – rozkłada ruch pomiędzy dwie karty sieciowe na podstawie adresów MAC,
  • broadcast – wysyła każdy pakiet na wszystkich dostępnych kartach sieciowych,
  • 802.3ad – agregacja LACP, łączy obydwa interfejsy w jeden, wymaga wsparcia ze strony switcha,
  • balance-tlb – ruch wychodzący rozdzielany jest automatycznie na podstawie aktualnego obciążenia kart sieciowych,
  • balance-alb – to samo co wyżej + obsługa ruchu przychodzącego.

W moim przypadku – stosuję tę konfigurację na kilkudziesięciu serwerach hostingowych – łącząc dwie karty sieciowe w agregację 802.3ad. Karty sieciowe podłączone są do dwóch osobnych przełączników, spiętych w ramach jednego stosu. Dzięki temu – na co dzień – zyskuję podłączenie serwerów poprzez łącze 2Gb/s, a w razie awarii kabla, karty sieciowej czy pojedynczego przełącznika – brak przerwy w działaniu sieci.