[Linux] 본딩 ( bonding )
본딩(bonding)이란
여러 개의 NIC를 논리적으로 묶어서 한 개의 NIC의 개수만큼 대역폭을 확장하는 기술입니다.
Fault Tolerance와 같은 기능을 하며 2개의 NIC를 한 개의 NIC로 묶어서 active와 stand by로 구성할 수 있습니다.
※ NIC (Network Interface card)
네트워크에 접속할 수 있게 하기 위해 컴퓨터 내에 설치되는 확장 카드
본딩(bonding) 구성하기
본딩 작업 순서
1. 네트워크 카드 (NIC) 추가
Server-A → Settings → add → Network Adaptor 추가 → 재부팅
2. 추가되었는지 확인하기
확인하는 명령어
# ifconfig -a (all)
eth0 → 기존 NIC
eth1 → 추가 NIC
lo → 루프백 인터페이스
3. ifcfg-eth(0, 1), bond0 파일 생성
네트워크 설정 파일이 위치한 디렉터리로 이동
eth0
eth1
MASTER=bond0 → 본딩을 구성할 장치의 이름
SLAVE=yes → 본딩 구성 멤버로 동작할지 결정
USERCTL=no → 사용자 계정으로 해당 장치를 제어 못하도록 설정
NM_CONTROLLED=no (NM = network manager)
bond0
BONDING_MASTER=yes → 본딩 장치로 동작할지 결정
BONDING_OPTS="mode=1 miimon=100" → 본딩 옵션
- mode=1 (Active/Backup)
- miimon=100 모니터링 주기 (ms)
4. 네트워크 매니저 데몬 중지/비활성화
# service NetworkManager stop
# chkconfig NetworkManager off
5. /etc/modprobe.d/bonding.conf 파일 생성
ifcfg-bond0과 해당파일에 옵션을 설정하여 적용시킬 수 있습니다. (둘 중 하나만 사용해도 됩니다.)
6. 본딩 모듈 사용
# modprobe bond0 → 본딩모듈 bond0(bonding)을 커널에게 적용
# lsmod | grep "bonding" → 현재 커널이 사용하고 있는 모듈 확인
7. 네트워크 데몬 재시작
# service network restart
8. 설정 확인하기
① # ifconfig
(2) # cat /proc/net/bonding/bond0 → 현재 본딩 상태정보를 저장하고 있는 파일
Bonding Mode: fault-tolerance (active-backup) → 본딩 모드 확인
Currently Active Slave: eth0 → 현재 활성화되어있는 인터페이스 : eth0
MII Status: up → 모니터링 상태
MII Polling Interval (ms): 100 → 모니터링 주기
Slave Interface: ethX → 본딩을 구성하는 인터페이스
Link Failure Count: 0 → 링크 비활성화 횟수 (문제가 있을 때 숫자 증가)
Slave queue ID: 0 → 2개의 인터페이스가 활성화되어 있을 경우 먼저 활성화 될 인터페이스를 결정할 때 사용되는 값(우선순위)