Bondig kart sieciwych, znany również jako port trunking, jest mechanizmem mającym zwiększyć niezawodność połączenia sieciowego pomiędzy komputerem a switchem. Polega na połączeniu dwóch lub więcej interfejsów w jedno logiczne urządzenie, zapewniając tym samym redundancję. Efektem ubocznym, w większości trybów, jest dodatkowo zwiększenie przepustowości połączenia.
W kernelu jest dostępnych sześć trybów bondingu: mode=0 (balance-rr), mode=1 (active-backup), mode=2 (balance-xor), mode=3 (broadcast), mode=4 (802.3ad), mode=5 (balance-tlb), mode=6 (balance-alb). Dla potrzeb tego artykułu, użyjemy trybu active-backup, gdyż jako jedyny nie wymaga specjalnego switcha. Dla pozostały wymagane są profesjonalne urządzenia z obsługą trunkingu. Więcej o samym trunkingu:
Musimy zainstalować pakiet ifenslave:
# poldek -i ifenslave
Ustawienie bondingu w PLD jest bardzo proste, musimy mieć conajmniej dwie karty sieciowe, w przykładach będą to eth0 i eth1. Tworzymy pliki konfiguracji interfejsów SLAVE w katalogu /etc/sysconfig/interfaces/, o standardowych dla ethernetu nazwach: ifcfg-eth0 i ifcfg-eth1:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none SLAVE=yes MASTER=bond0 USERCTL=no
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none SLAVE=yes MASTER=bond0 USERCTL=no
Następnie tworzymy plik MASTERA o nazwie ifcfg-bond0:
DEVICE=bond0 IPADDR=199.166.222.111/24 ONBOOT=yes BOOTPROTO=none
Konfigurowanie plików interfejsów zostało opisane szczegółowo w oficjalnej dokumentacji.
Do obsługi bondingu konieczne będzie załadowanie modułu bonding, ten jednak wymaga podania dodatkowych parametrów, mających za zadnie konfigurację naszego bondingu. Parametr mode to oczywiście tryb, o którym na początku, zaś miimon to czas w milisekundach co jaki jest sprawdzany stan interefjsów:
# echo "options bonding mode=1 miimon=100" >> /etc/modprobe.d/modprobe.conf # echo bonding >> /etc/modules
Obsługa sieci jest tradycyjna:
# service network start
Na liście interfejsów powinno się pojawić “urządzenie” bond0.
Z pseudosystemu plików /sys możemy odczytać wiele informacji diagnostycznych o działającym bondingu:
cat /sys/class/net/bond0/bonding/mode cat /sys/class/net/bond0/bonding/slaves