Centos 7.4 Network Bonding 구성하기

2019. 1. 21. 10:24시스템 엔지니어/Linux

Centos 7.4 본딩 가이드

 



본딩 (Bonding)이란?  한개 이상의 네트워크 포트 혹은 네트워크 카드를 묶어 하나의 디바이스로 사용하는 것으로, 

이중화의 개념으로도 사용하며, 여러개의 디바이스를 묶어서 높은 대역폭으로 사용하기도 한다.

  

1. 본딩 구성 할 디바이스를 vi 편집기로 열어 편집합니다.

 [root@Web-Server /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

 [root@WEB-Server /] # vi /etc/sysconfig/network-scripts/ifcfg-eth1


  * 아래와 같이 SLAVE Device를 지정해줍니다.

  DEVICE=eth1 ( OR eth0 )

  USERCTL=no

  ONBOOT=yes

  MASTER=bond0

  SLAVE=yes

  BOOTPROTO=none

  NM_CONTROLLED=no 

 

2. vi 편집기로 Bonding Device를 생성합니다.

[root@Web-Server /]# vi /etc/sysconfig/network-scripts/ifcfg-bond0


 
bond0 아래와 같이 수정합니다.


  * 고정IP로 설정할때

  DEVICE=bond0

  TYPE=bond

  NAME=bond0

  IPADDR=            

  NETMASK=       

  GATEWAY=      

  DNS1=       

  DNS2=     

  USERCTL=no

  BOOTPROTO=none

  ONBOOT=yes

  NM_CONTROLLED=no 

  BONDING_OPTS="mode=5 miimon=100"

  BONDING_MASTER=yes

 

  * DHCP 사용할때

  DEVICE=bond0

  TYPE=bond

  NAME=bond0

  DNS1=      

  DNS2=    

  USERCTL=no

  BOOTPROTO=dhcp

  ONBOOT=yes

  NM_CONTROLLED=no 

  BONDING_OPTS="mode=5 miimon=100"

  BONDING_MASTER=yes


* mode 참고

mode0 = balance-rr : (Round Robin) Load Balancing, 송신할 패킷마다 사용하는 NIC을 바꾼다.

mode1 = active-backup: Failover, bond내에서 한개의 Slave만 사용 포트문제가 생길경우 다른 Slave가 Enable

mode2 = balance-xor : Load Balancing, 소스와 목적지의 MAC을 XOR 연산을 통해 사용할 NIC를 결정하여 분배

mode3 = Broadcast : Fault-Tolerance, 모든 Slave으로 데이터전송(failover), 일반적으로는 잘 사용안함.

mode4 = 802.3ad : Dynamic Link Aggregation, IEEE 802.3ad 프로토콜을 이용하여 동적 Aggregation 작성 대역폭 상승, 부하 분산, Failover 지원

mode5 = balance-tlb(TLB) : 적응형 송신 부하 분산, 송신패킷 로드밸런싱, 송신시 부하가 낮은 NIC이용 수신은 특정 NIC이용

mode6 = balance-alb(ALB) : 적응형 부하 분산, 송수신패킷 로드밸런싱, 송수신시 부하가 낮은 NIC를 사용