Configure Network Bonding on CentOS 6 / RHEL 6
In this tutorial we will configure network bonding on CentOS 6.X and RHEL 6.X , in my case i have two Lan Cards (eth0 & eth1) & will create bond interface (bond0).
Step:1 Create the bond file ( ifcfg-bond0 ) and specify the ip address, netmask & gateway
# vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.1.9 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 TYPE=Bond ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static
Step:2 Edit the files of eth0 & eth1 and make sure you enter the master and slave entry, as shown below
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:5C:A8:8F TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 SLAVE=yes # vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 SLAVE=yes
Step:3 Create the Bond file(bonding.conf)
# vi /etc/modprobe.d/bonding.conf alias bond0 bonding options bond0 mode=1 miimon=100
Different Modes used in bonding.conf file .
balance-rr or 0 — round-robin mode for fault tolerance and load balancing. active-backup or 1 — Sets active-backup mode for fault tolerance. balance-xor or 2 — Sets an XOR (exclusive-or) mode for fault tolerance and load balancing. broadcast or 3 — Sets a broadcast mode for fault tolerance. All transmissions are sent on all slave interfaces. 802.3ad or 4 — Sets an IEEE 802.3ad dynamic link aggregation mode. Creates aggregation groups that share the same speed & duplex settings. balance-tlb or 5 — Sets a Transmit Load Balancing (TLB) mode for fault tolerance & load balancing. balance-alb or 6 — Sets an Active Load Balancing (ALB) mode for fault tolerance & load balancing.
Step:4 Now Restart the network Service
# service network restart
Using below command to Check the bond Interface
root@localhost ~]# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 08:00:27:5C:A8:8F inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe5c:a88f/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:6164 errors:0 dropped:0 overruns:0 frame:0 TX packets:1455 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:482336 (471.0 KiB) TX bytes:271221 (264.8 KiB
Step:5 Verify the Status of bond interface.
[root@localhost ~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:5c:a8:8f Slave queue ID: 0 Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:7f:04:49 Slave queue ID: 0
Note: As per the output shown above , we are currently using active-backup bonding. To do the testing just disable one interface and check whether you are still accessing your machine using the bond ip.