여러개의 NIC를 논리적으로 묶어서 Active / Standby 형태로 사용 할 수 있고, 혹은 Active / Active 구성으로 대역폭를 합쳐서 사용할 수 있는 기술을 Channel Bonding , 혹은 본딩이라 부른다.
본딩 모드별 다음과 같이 구성할 수 있다
본딩모드 | 설 명 | 비고 |
---|---|---|
0 (balance-round robine) | 2개의 NIC를 통한 분배 + Fault Tolerance | |
1 (active-standby) | Active상태의 NIC에 문제 발생시 Fault Tolerance | |
2 (balance-xor) | 0과 비슷하지만 xor연산을 이용해 source / destination Mac을 이용한 분배 + Fault tolerance | |
3 (broadcast) | 2개의 NIC에 어떤 규칙 없이 데이터 통신 + Fault Tolerace | |
4 (802.3ad, link aggregation) | switch 에 aggregation 그룹생성이 필요 | 4개의NIC이상 묶을때 사용 |
- Active – Standby 형태로 본딩 구성하기
- Active NIC : eth0
- Standby NIC : eth1
- Bond NIC : bond0
- 커널에서 bonding 모듈이 있는지 먼저 확인
$ lsmod | grep bond
bonding 152979 0
* 혹시 없다면 본딩 모듈을 구성해주면 됨
$ modprobe bonding
- eth0에 본딩구성(eth0은 slave이고, master는 bond0으로 선언)
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
BOOTPROTO=none
- eth1에 본딩 구성 (eth1은 slave이고, master는 bond0으로 선언)
$ vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
BOOTPROTO=none
- 본딩 NIC 설정
$ vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
IPV6INIT=no
IPADDR=192.168.10.221
NETMASK=255.255.255.0
BONDING_OPTS="mode=1 miimon=100"
- 네트워크 서비스 재시작 후 본딩구성 확인
$ systemctl restart network (Centos7 이상 버전인 경우 사용)
$ /etc/init.d/network restart (Centos 6이하 버전인 경우에만 사용)
- 본딩 구성정보 확인
$ cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.1.2 (January 20, 2007)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:XX:XX:XX:XX:c2
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:XX:XX:XX:XX:c4