반응형

1. 본딩이란?

한대의 서버에 여러개의 랜카드를 이용하여 대역폭 또는 예비 회선으로 사용할 수 있도록 하는 전송 속도의 분배및 대비책으로 사용하기 위한 기술입니다. 윈도우에서는 티밍(teaming)이라고 불리우기도 하는 기술입니다. (본딩=티밍=이더채널=트렁킹)

2. 종류

⓪ : Balance-round robine 정책 : 2개의 NIC를 통한 분배

첫 번째 가능한 슬레이브부터 마지막까지 순차적으로 전송하며

이 모드는 부하분산과 장애 감내를 제공합니다.

① : Active-standby 정책 : Active상태의 NIC에 문제 발생시 Fault Tolerance

bond에서 하나의 슬레이브만 활성화되며 다른 슬레이브는 활성화된 슬레이브가

fail 된 경우에만 활성화 됩니다.

② : Balance-XOR 정책 : 0과 비슷하지만 xor연산을 이용한 목적지 Mac과 근원지 Mac을 이용한 분배

(출발지 MAC 주소와 도착지 MAC 주소의 XOR) modula 슬레이브 1개]에 기초하여 전송합니다.

이것은 도착지 MAC 주소에 대해서 동일한 슬레이브를 선택하게 된다. 이 모드는 부하분산과

장애감지를 제공합니다.

 

③ : Broadcast 정책 : 2개의 NIC에 어떤 규칙 없이 데이터 통신

모든 슬레이브 인터페이스에 모든 것을 전송합니다.

④ : 802.3ad (link aggregation) - switch에 aggregation 그룹생성이 필요함.

IEEE 802.3ad dynamic link aggregation정책을 설정하며

전송과 받는 것은 active aggregator 안에서 모든 slaves 위에서 됩니다.

 

⑤ : balance-tlb(TLB) transmit load 밸런스로써 보내는 패킷만 밸런스 합니다.

outgoing traffic은 각 slave 인터페이스에 현재의 부하에 따라서 분배됩니다.

incoming traffic는 현재의 slave로 받음.

 

⑥ : balance-alb(ALB) receive와 transmit패킷을 밸런스 하며 이때 5,6 은 하나의 스위치에 있을때만 동작합니다. 이 mode는 load balancing를 더하여 balance-tlb를 포함 합니다.

송수신패킷 로드밸런싱, 송수신시 부하가 낮은 NIC를 사용

3. 구성

1) 사양

vmware – CentOs 5.3 32bit

Pentium(R) Dual-Core CPU T4200 @ 2.00GHz

RAM 1024MB

2) 구성 시나리오

1. NIC는 총 4개

2. eth0, eth1, eth2, eth3을 bond0에 모드1로(active-standby) 묶음

3) 구성 절차

① 랜카드 3개 추가

② /etc/sysconfig/network-scripts/ifcfg-bond0 생성하여 vi편집

DEVICE=bond0
IPADDR= /* 자신의 아이피 입력*/
NETMASK= /* 넷마스크 입력*/
GATEWAY= /* 게이트웨이 입력*/
DNS1= /* DNS 입력*/
DNS2=/* 보조 DNS 입력*/
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no

③ ifcfg-eth0 ~ eth3 수정 (디바이스명 eht번호에 맞게 수정)

DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
NM_CONTROLLED=no

ONBOOT=yes

=> 부팅시 자동으로 활성화

BOOTPROTO=none

=> bootp나 dhcp를 사용하지 않음 (static으로 구성)

USERCTL=no

=> 일반 유저가 컨트롤 할 수 없음 (root 권한 필요)

NM_CONTROLLED=no

=> NetworkManager가 컨트롤 할 수 없음

④ /etc/modprobe.d/bonding.conf 생성하여 vi에디터 편집(빨간 글씨는 모드에 맞게 수정)

alias bond0 bonding
options bond0 mode=1 miimon=100

※miimon이란?

mii는 네트워크 인터페이스가 살아있는지 확인하는데 사용. mii링크를 얼마나 자주 감시 할지를 설정. (단위 0.001초) 기본값은 0 이고 0으로 설정시 failover는 비활성화 됩니다

⑤ modprobe bonding 명령으로 본딩 설정을 적용

⑥ 네트워크 재시작 후 cat /proc/net/bonding/bond0으로 본딩 내용과 상태를 체크

'리눅스' 카테고리의 다른 글

Ubuntu 한글 패키지 설치 및 설정  (0) 2022.01.19
[리눅스 방화벽]firewall-cmd  (0) 2021.10.19
DNS 레코드 종류  (0) 2021.10.18
Network Alias 설정  (0) 2021.10.15
리눅스 로그 파일 관련 정리  (0) 2021.10.15

+ Recent posts