NIC Bonding is nothing but it is a term used to describe a way to increase available bandwidth. When bonded, two NICs appear to be the same physical device and they also have the same MAC address. It is a Linux kernel feature that allows to aggregate multiple like interfaces (such as eth0, eth1) into a single virtual link such as bond0. To to the bonding between eth0 and eth1 we will follow below
steps.
BONDING MODES Allows you to specify the bonding policy. The
can be one of:
Balance-rr or 0 — Sets a round-robin policy for
fault tolerance and load balancing. Transmissions are received and sent out
sequentially on each bonded slave interface beginning with the first one
available.
Active-backup or 1 — Sets an
active-backup policy for fault tolerance. Transmissions are received and sent
out via the first available bonded slave interface. Another bonded slave
interface is only used if the active bonded slave interface fails.
Balance-xor or 2 — Sets an XOR (exclusive-or)
policy for fault tolerance and load balancing. Using this method, the interface
matches up the incoming request's MAC address with the MAC address for one of
the slave NICs. Once this link is established, transmissions are sent out
sequentially beginning with the first available interface.
Broadcast or 3 — Sets a broadcast policy for
fault tolerance. All transmissions are sent on all slave interfaces.
802.3ad or 4 — Sets an IEEE 802.3ad dynamic
link aggregation policy. Creates aggregation groups that share the same speed
and duplex settings. Transmits and receives on all slaves in the active
aggregator. Requires a switch that is 802.3ad compliant.
Balance-tlb or 5 — Sets a Transmit Load Balancing
(TLB) policy for fault tolerance and load balancing. The outgoing traffic is
distributed according to the current load on each slave interface. Incoming
traffic is received by the current slave. If the receiving slave fails, another
slave takes over the MAC address of the failed slave.
Balance-alb or 6 — Sets an Active Load Balancing
(ALB) policy for fault tolerance and load balancing. Includes transmit and receive
load balancing for IPV4 traffic. Receive load balancing is achieved through ARP
negotiation.
Steps to follow:-
1. Create a bond0 file in /etc/sysconfig/network-script/ by copying ifcfg-eth0 file as given below
#cp
/etc/sysconfig/network-script/ifcfg-eth0 /etc/sysconfig/network-script/ifcfg-bond0
2. Adjust the bond0 file according to following line:
#vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=xx.xx.xx.xx
GATEWAY= xx.xx.xx.xx
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=xx.xx.xx.xx
GATEWAY=
NETMASK=xx.xx.xx.xx
NAME="System Bond0"
NAME="System Bond0"
BONDING_OPTS=”mode=1
miimon=100”
3. Modify ifcfg-eth0 files as follows:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
NAME="System eth0"
BOOTPROTO=none
NAME="System eth0"
MASTER=bond0
SLAVE=yes
4. Modify ifcfg-eth1 files as follows:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
NAME="System eth1"
BOOTPROTO=none
NAME="System eth1"
MASTER=bond0
SLAVE=yes
5. Create a file with name of bonding.conf inside /etc/modprobe.d/ folder and write alias bond0 bonding inside that and save the file
6. Now stop the NetworkManager service and do the chkconfig off
#/etc/init.d/NetworkManager stop
#chkconfig NetworkManager off
7. Restart the networking service in order to bring up
bond0 interface:
#service network restart
#chkconfig network on
Type the following
command to check the current status of bonding:
#cat /proc/net/bonding/bond0
#cat /proc/net/bonding/bond0
#ifconfig
Sample
outputs:
bond0 Link encap:Ethernet HWaddr 00:0C:29:C6:BE:59
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:2804 errors:0 dropped:0 overruns:0 frame:0
TX packets:1879 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:250825 (244.9 KiB) TX bytes:244683 (238.9 KiB)
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:2804 errors:0 dropped:0 overruns:0 frame:0
TX packets:1879 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:250825 (244.9 KiB) TX bytes:244683 (238.9 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:C6:BE:59
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec6:be59/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2809 errors:0 dropped:0 overruns:0 frame:0
TX packets:1390 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:251161 (245.2 KiB) TX bytes:180289 (176.0 KiB)
Interrupt:11 Base address:0x1400
eth1 Link encap:Ethernet HWaddr 00:0C:29:C6:BE:59inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec6:be59/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2809 errors:0 dropped:0 overruns:0 frame:0
TX packets:1390 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:251161 (245.2 KiB) TX bytes:180289 (176.0 KiB)
Interrupt:11 Base address:0x1400
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec6:be59/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:258 (258.0 b) TX bytes:66516 (64.9 KiB)
Interrupt:10 Base address:0x1480
inet6 addr: fe80::20c:29ff:fec6:be59/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:258 (258.0 b) TX bytes:66516 (64.9 KiB)
Interrupt:10 Base address:0x1480
No comments:
Post a Comment