NIC bonding
Van MandrivaClub.NL Wiki
NIC Bonding is een manier om twee (of meer) netwerkkaarten 'samen te voegen' tot een team. Als één van de kaarten uitvalt (door kabelbreuk bijvoorbeeld) wordt het werk door de andere kaart(en) overgenomen. Dit is een configuratie die in servers vaak gebruikt wordt om een hoge netwerk betrouwbaarheid te bewerkstelligen. In Linux wordt voor het teamen van netwerkkaarten de term 'bonding' gebruikt, dus laten we het vanaf hier ook maar zo noemen. In deze how-to beschrijf ik hoe ik 2 nic's aan elkaar bond op Mandriva 2007.0, echter vermoed ik dat dit op een andere distro niet anders zal gaan.
Inhoud |
[bewerk] Eerste controle
In de Mandriva kernel zat de 'bonding' driver al ingebakken. Met het volgende commando controleer je of dat op jouw machine ook het geval is.
lsmod | grep bonding
Als je hierop geen output krijgt, zit de driver er dus niet in. Dit is de eerste vereiste voor het aan de praat krijgen van bonding, omdat dit de virtuele netwerkdriver is waaraan we de nics gaan verbinden
[bewerk] De module activeren
Vervolgens gaan we de bonding module activeren. Hiervoor moet het bestand /etc/modprobe.conf worden aangepast.
Als het goed is heb je de volgende regels al in dit bestand staan:
alias eth0 e1000 alias eth1 e1000
In bovenstaand voorbeeld is e1000 de module die als driver wordt geladen voor de beide netwerkkaarten.
Voeg nu de volgende regels daaraan toe:
alias bond0 bonding options bond0 max_bonds=2 miimon=100 mode=1
Waarin bond0 de naam van de virtuele adapter is en bonding de kernel module die als driver voor bond0 geladen wordt.
[bewerk] De adapters configureren
Vervolgens nemen we een kijkje in de directory /etc/sysconfig/network-scripts/ Hierin heb je als het goed is al de bestanden 'ifcfg-eth0', en 'ifcfg-eth1' staan. Dit zijn de configuratie-bestanden van de beide netwerkkaarten.
Ikzelf heb deze bestanden hernoemd, naar old.ifcfg-eth0 en old.ifcfg-eth1. Vervolgens heb ik deze bestanden opnieuw aangemaakt, met daarin de volgende inhoud:
DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none MII_NOT_SUPPORTED=yes
Het hierboven genoemde 'DEVICE=' moet overeen komen met de naam van de netwerk interface.
Nu maken we nog een bestand aan, genaamd 'ifcfg-bond0', met daarin de volgende inhoud.
DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no MII_NOT_SUPPORTED=yes
Nu wilde ik graag de interface een ip-adres via DHCP laten toewijzen. Hiervoor verwijderde ik de IPADDR en NETMASK regels, en wijzigde ik de regel
BOOTPROTO=none
naar
BOOTPROTO=dhcp
[bewerk] De verbinding activeren
Nu alles goed is ingesteld, kunnen we de verbinding gaan activeren.
Volgens de how-to waar ik mijn informatie uit heb, is de verbinding nu te activeren door simpelweg 'service network restart' in te tikken. Echter was in mijn geval toch een reboot noodzakelijk.
[bewerk] Bron en andere links
Mijn eigenlijke bron was deze how-to[1]
Bonding SF.net project pagina [2] - De thuisbasis van de bonding module
Bonding (Port Trunking) [3] - Informatie over de diverse bonding modes.
Linux Ethernet Bonding Driver mini-howto [4] - Een korte how-to.

