네트워크 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)