Bonding 설정 가이드 (active-backup · 802.3ad · Bond Mode 비교)

반응형

Bonding 설정 가이드 (active-backup · 802.3ad · Bond Mode 비교)

Linux Bonding 설정 가이드 (active-backup · 802.3ad · Bond Mode 비교)

Linux Bonding 구성 가이드 (active-backup · 802.3ad · Bond Mode 비교)

Bonding은 서버 네트워크 인터페이스를 묶어 고가용성(HA) 또는 부하 분산(LB)을 제공하는 핵심 기술입니다. 본 문서에서는 nmcli 기반 설정 방법과 bond mode 전체 차이점까지 정리합니다.

1️⃣ Bond0 생성 (active-backup 모드)

active-backup 모드는 하나의 NIC가 active로 동작하고, 나머지는 standby로 대기하는 방식입니다.

📌 Bond0 생성

# nmcli connection add type bond con-name bond0 ifname bond0 \
  bond.options "mode=active-backup,miimon=1000"
  • mode=active-backup : NIC 한 개만 active, 장애 시 자동 failover
  • miimon=1000 : 1000ms(1초) 단위로 링크 모니터링

2️⃣ Slave NIC 추가 (ens32, ens34)

# nmcli connection add type ethernet slave-type bond \
  con-name bond0-ens32 ifname ens32 master bond0

# nmcli connection add type ethernet slave-type bond \
  con-name bond0-ens34 ifname ens34 master bond0

위 두 인터페이스는 bond0의 slave로 묶이며, bond 모드에 따라 역할이 결정됩니다.

3️⃣ Bond0 IP 설정

# nmcli connection modify bond0 ipv4.addresses 192.168.204.220/24
# nmcli connection modify bond0 ipv4.gateway 192.168.204.254
# nmcli connection modify bond0 ipv4.dns 168.126.63.1
# nmcli connection modify bond0 ipv4.method manual

4️⃣ 인터페이스 Up/Down 적용

# nmcli connection down ens32
# nmcli connection down ens34

# nmcli connection up bond0
# nmcli connection up bond0

# cat /proc/net/bonding/bond0

bonding 상태, active NIC, failover 여부 등을 확인할 수 있습니다.

5️⃣ IEEE 802.3ad (LACP) 구성 방법

802.3ad(LACP)는 스위치와 협상(Link Aggregation Control Protocol)을 통해 부하분산 + 대역폭 증가 효과를 얻을 수 있습니다.

📌 Bond0 생성 (802.3ad)

# nmcli connection add type bond con-name bond0 ifname bond0 \
  bond.options "mode=802.3ad,miimon=100,ad_select=stable"

🌐 스위치 조건

  • LACP 지원 필수
  • ens32, ens34 가 연결된 포트가 같은 LAG 그룹에 속해야 함
  • Hash 정책(flow-based, L3+L4) 구성 추천

📌 Slave NIC 구성 동일

6️⃣ active-backup vs 802.3ad 비교

구분active-backup (mode 1)802.3ad (mode 4)
주 목적고가용성 (Failover)부하 분산 + 대역폭 증가
스위치 요구불필요LACP 지원 필수
NIC 사용Active 1개만 사용NIC 전체 사용
Failover 속도miimon, ARP 기반상대적으로 빠름
구성 난이도매우 쉬움중간 ~ 높음
사용 예DB 서버, 안정성 우선 환경웹/대용량 트래픽, LB 환경

7️⃣ Bond Mode 전체 정리 (0~6)

✔ 모드 0: round-robin

  • NIC 간 순차 분배 → 최대 대역폭
  • 스위치 설정 필요

✔ 모드 1: active-backup

  • 한 개 active, 나머지는 standby
  • Failover 안정성 최고

✔ 모드 2: XOR (balance-xor)

  • MAC 기반 해시 분배
  • LACP 필요 없는 Load Balancing

✔ 모드 3: broadcast

  • 모든 NIC로 브로드캐스팅
  • 특수 상황(클러스터링)에서만 사용

✔ 모드 4: 802.3ad (LACP)

  • 정식 Load Balancing + Failover
  • 스위치 LACP 필요

✔ 모드 5: balance-tlb

  • NIC 로드에 따라 송신 자동 조정
  • 스위치 설정 불필요

✔ 모드 6: balance-alb

  • TLB + RLB(수신 부하 분산)
  • 스위치 설정 불필요 & 가장 유연함

스위치 설정이 어렵다면 mode 6(balance-alb)이 가장 효율적입니다.

7️⃣ 기본 오류 대응 4단계

① 외부 노출 확인
케이블/포트 문제, NIC 오류, 링크 flap 여부 확인
② 관련 역할 비활성화
불필요한 NIC, SR-IOV, IPv6, NIC 오프로딩 기능 점검
③ 포트·프로세스 차단
문제 slave NIC를 임시 offline 후 패스 확인
④ 로그 모니터링 강화
/var/log/messages, dmesg, ethtool -S 등을 통해 링크 안정성 확인

8️⃣ 결론

Linux Bonding은 목적에 따라 모드를 정확히 선택해야 하며, 단순 이중화(active-backup)와 고성능(802.3ad) 구성의 차이를 이해하는 것이 중요합니다.

특히 nmcli를 이용하면 CentOS/Rocky/RHEL 환경에서 안정적인 bond 구성이 가능하며, 문제가 발생할 경우 /proc/net/bonding/bond0 분석이 필수입니다.

반응형
LIST