Het netwerk word steeds belangrijker en op diverse OS’en worden netwerk kaarten dubbel uitgevoerd om uitval te voorkomen. op Linux word dit bonding (of soms network trunking). wat zijn de mogelijkheden. je hebt een aantal modes. je kan meerdere netwerk kaarten tegelijk op zelfde ip actief hebben en zo dus meer capaciteit krijgen maar je kan ook via een failover methode werken. op dit moment zijn er 7 verschillende modes allemaal met voor en nadelen.
modes: mode=0 (Balance Round Robin) mode=1 (Active backup) mode=2 (Balance XOR) mode=3 (Broadcast) mode=4 (802.3ad) mode=5 (Balance TLB) mode=6 (Balance ALB)
Let op met de verschillende modes, als je een aparte netwerk group hebt overleg dan met die club, een aantal modes vereisen namelijk ook aanpassingen op de switches/configuratie.
uitleg bonding modes (engels)
in dit document word op dit momet alleen mode 1(Active backup) beschreven.
Inhoud
mode 1, RedHat Enterprise
het volgende beschrijft de configuratie voor RHEL systemen. ik heb dit getest op versie 4.x en 5.x, allereerste moeten we er voor zorgen dat we de bonding module kunnen gebruiken. hier voor plaatsen we 2 extra regels in /etc/modprobe.conf.
alias bond0 bonding options bond0 miimon=500 mode=1
het options gedeelte kom je op veel sites ook tegen in /etc/sysconfig/network-scripts/ifcfg-bond0 maar ik heb gemerkt dat je op RHEL5 een warning krijgt. De configuratie lijkt dan wel te werken. bij RHEL4 krijg je de zelfde warning maar ook een fout melding hier werkt de configuratie niet.
# vim /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes USERCTL=no IPADDR=10.233.14.10 NETMASK=255.255.254.0 NETWORK=10.233.14.0 BROADCAST=10.233.15.255 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes ETHTOOL_OPTS="speed 1000 duplex full autoneg on" HWADDR=00:23:7D:3C:7B:6E # vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes ETHTOOL_OPTS="speed 1000 duplex full autoneg on" HWADDR=00:23:7D:3C:7B:6F
Als je alles goed hebt geconfigureerd hoef je alleen het netwerk te restarten, de bond module zal automatische geladen worden.
'”`UNIQ–google-00000001-QINU`”‘
mode 5, Debian/Ubuntu
Hier onder de config zoals je die kan instellen voor een Debian/Ubuntu als eerste hebben de de bonding kernel module nodig. installeer deze op het systeem.
$ sudo apt-get install ifenslave-2.6
Om de kernel module actief te maken tijdens het booten voegen we hem toe aan /etc/modules file,
$ echo "bonding" >> /etc/modules
om hem direct voor deze sessie actief te maken.
$ sudo modprobe bonding
Vervolgens passen we de netwerk config aan.
$ vi /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet manual bond-master bond0 bond-primary eth0 # ik heb 2 dual port netwerk kaarten in dit systeem. auto eth2 iface eth2 inet manual bond-master bond0 # The primary network interface auto bond0 iface bond0 inet static address 10.66.41.10 network 10.66.41.0 netmask 255.255.255.0 gateway 10.66.41.1 dns-search jouwdomein.local dns-nameservers 192.168.53.100 192.168.53.69 bond-mode balance-tlb bond-miimon 100 bond-slaves none
hier na rebooten of het netwerk herstarten.
'”`UNIQ–google-00000003-QINU`”‘
Werking controleren
de werking controleren gaat bij redhat/debian/ubuntu op de zelfde manier. output hier onder is gemaakt op een Redhat machine. kan iets afwijken van een Debian/Ubuntu machine.
Laat de netwerk configuratie zien.
het bond MAC adres komt van de eerste slave interface.
# ifconfig bond0 Link encap:Ethernet HWaddr 00:23:7D:3C:7B:6E inet addr:10.233.14.10 Bcast:10.233.15.255 Mask:255.255.254.0 inet6 addr: fe80::223:7dff:fe3c:7b6e/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:13461 errors:0 dropped:0 overruns:0 frame:0 TX packets:13784 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1769730 (1.6 MiB) TX bytes:3113545 (2.9 MiB) eth0 Link encap:Ethernet HWaddr 00:23:7D:3C:7B:6E UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:13443 errors:0 dropped:0 overruns:0 frame:0 TX packets:13784 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1768578 (1.6 MiB) TX bytes:3113545 (2.9 MiB) Interrupt:74 eth1 Link encap:Ethernet HWaddr 00:23:7D:3C:7B:6E UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:18 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1152 (1.1 KiB) TX bytes:0 (0.0 b) Interrupt:106
Om de status van de bond interface te bekijken.
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.2.4 (January 28, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 500 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:23:7d:3c:7b:6e Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:23:7d:3c:7b:6f
Verder zal je informatie vinden in de messages log, hier komen ook meldingen in als er problemen zijn enkelen voorbeelden, netwerk kabel is uit 1 van de interfaces
# tail -f /var/log/messages kernel: bonding: bond0: link status definitely down for interface eth1, disabling it
Netwerk kabel is weer terug gestoken.
# tail -f /var/log/messages kernel: bonding: bond0: link status definitely up for interface eth1.
'”`UNIQ–google-00000004-QINU`”‘
Extra info
Als je aanpassingen wil maken aan de werking van je bonding interface, bv je wil mode=0 gebruiken (2 interface tegelijk actief. of andere aanpassingen. houd er dan rekening mee dat de optie alleen bij het inlezen van de module worden gezet. maak je een aanpassing stop het netwerk, remove de module. pas /etc/modprobe.conf aan. en start het netwerk opnieuwe. controleer de werking met bovenstaande commando’s
stop het netwerk
/etc/init.d/network stop
remove de module
rmmod bonding
pas je configuratie aan.
alias bond0 bonding options bond0 miimon=500 mode=1
start het netwerk
/etc/init.d/network start
Recente reacties