네트워크 bonding설정

네트워크 bonding은 두개의 네트워크 라인을 하나로 묶어서 사용하는 방법으로 mode에 따라 확장과 백업등의 여러가지 용도로 사용할 수 있다.

 
1. /etc/modprobe.conf 파일에 본딩 옵션 추가

 

– RHEL6, CentOS6 버전에서는 /etc/modprobe.d/bonding.conf 에 설정한다.

 

[root@localhost ~]# cat /etc/modprobe.conf
alias eth0 bnx2
alias eth1 bnx2
alias eth2 e1000
alias eth3 e1000
alias scsi_hostadapter cciss
alias scsi_hostadapter1 ata_piix

alias bond0 bonding
options bond0 mode=1 miimon=100
alias bond1 bonding
options bond1 mode=1 miimon=100

 

 

2. /etc/sysconfig/network-scripts/ifcfg-bondX 파일 생성

 

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.100.101
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=no

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
BOOTPROTO=none
IPADDR=192.168.100.102
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=no

 

 

3. slave device 파일 편집
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
HWADDR=00:1B:78:CD:4A:AE
ONBOOT=yes
USERCTL=no

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
HWADDR=00:1B:78:CD:4A:BA
ONBOOT=yes
USERCTL=no

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
HWADDR=00:1B:78:CD:4A:AE
ONBOOT=yes
USERCTL=no

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
HWADDR=00:1B:78:CD:4A:BA
ONBOOT=yes
USERCTL=no

 
4. bonding 모듈 활성화

 

[root@localhost ~]# modprobe bond0
[root@localhost ~]# modprobe bond1

 

 

5. Network Daemon 재시작

 

[root@localhost ~]# service network restart

 
6. bonding 동작 확인

 

[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

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
Link Failure Count: 0
Permanent HW addr: 00:1B:78:CD:4A:AE

Slave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:1B:78:CD:4A:BA
[root@localhost ~]# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:1B:78:CD:4A:AE

Slave Interface: eth3
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:1B:78:CD:4A:BA

– 현재 bond0 에서는 eth0, bond1 에서는 eth2 가 active로 동작하고 있다.
eth0 과 eth2 의 랜케이블을 뽑거나 네트워크 카드에 장애가 발생할 경우,
eth1 과 eth3 이 active로 동작하게 된다.

 
7. bonding mode

 

– bonding mode는 아래와 같이 여러가지가 있으나, 일반적으로 mode 0 과 mode 1 을 많이 쓴다.
mode 0 은 대역폭을 확장하기 위해서 사용하고 mode 1 은 active + standby 로 구성하여 장애를 대비하기 위해서 많이 사용한다.

 

Mode 0 (balance-rr)
Mode 1 (active-backup)
Mode 3 (broadcast)
Mode 4 (802.3ad)
Mode 5 (balance-tlb)
Mode 6 (balance-alb)