1. Bonding이란
- Linux Kernel에 내장된 기술로 복수의 NIC를 논리적으로 하나의 interface로 묶어서 NIC의 물리적 장애에 대응하거나 처리량을 늘리는 기술이다.
- bonded된 NIC의 동작 방식은 mode의 설정에 달려 있다.
- bonding kernel module을 이용하여 bonding 된 NIC는 channel bonding interface라고 불리운다.
- 기본 round-robbin 방식으로 구성(수신은 2배지만, 발신은 번갈아가며)
- Active - Standby 구성 가능
- 반드시 NetworkManager.Service를 stop 후 설정하여야 한다.
- Windows의 Teaming과 동일한 개념
2. Bonding 설정
- 2개의 Network 확인
- ip a
- NetworkManager Disable
- systemctl stop NetworkManager.service
- systemctl disable NetworkManager.service
- channel bonding interface 설정
- vi /etc/sysconfig/network-scripts/ifcfg-bondN
DEVICE=bond0
BONDING\_OPTS='mode=1 miimon=100'
BRIDGE=INT\_1
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM\_CONTROLLED=no
IPV6INIT=no
BONGDING_OPTS 설정은 bonding이 정상적으로 구성된 후에 설정
- mode값 0 : round-robbin, 1 : active-backup, default : round-robbin
- miimon : active-backup인 환경에서 active 노드의 상태를 체크하는 인터벌
실제 bonding을 수행할 NIC를 bonding interface에 바인딩 해야 한다.
- ifcfg-eht0, ifcfg-eth1 등 바인딩 할 인터페이스의 파일 아래와 같이 수정
MASTER=bond0 SLAVE=yes
- ifcfg-eht0, ifcfg-eth1 등 바인딩 할 인터페이스의 파일 아래와 같이 수정
/etc/modprobe.d/bonding.conf 파일을 생성
- bonding kernel module이 로딩 되도록 modprobe 설정을 변경한다.
확인
- ip a
- bond에 IP, MASTER 적혀 있는 것 확인, 개별 NIC에 SLAVE 있는 것 확인
- cat /proc/net/bonding/bond0
- Bonding Mode, Active node 확인
- ip a
3. Fail-over 테스트
- ping -I bond0 [DSTADDR]
- 원하는 IP로 bond0을 통해 ping 가는지 확인
- cat /sys/class/net/bond0/bonding/active_slave
- 현재 Active 인터페이스를 확인
- ip link set [인터페이스명] down
- Active 인터페이스를 다운
- cat /sys/class/net/bond0/bonding/active_slave
- Active 인터페이스가 변경되었는지 확인
- ping -I bond0 [DSTADDR]
- 변경된 인터페이스로 ping 가는지 확인
'Server > Linux' 카테고리의 다른 글
[Linux] SMTP (0) | 2021.05.14 |
---|