반응형

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 오류, 링크 flap 여부 확인
② 관련 역할 비활성화
불필요한 NIC, SR-IOV, IPv6, NIC 오프로딩 기능 점검
불필요한 NIC, SR-IOV, IPv6, NIC 오프로딩 기능 점검
③ 포트·프로세스 차단
문제 slave NIC를 임시 offline 후 패스 확인
문제 slave NIC를 임시 offline 후 패스 확인
④ 로그 모니터링 강화
/var/log/messages, dmesg, ethtool -S 등을 통해 링크 안정성 확인
/var/log/messages, dmesg, ethtool -S 등을 통해 링크 안정성 확인
8️⃣ 결론
Linux Bonding은 목적에 따라 모드를 정확히 선택해야 하며, 단순 이중화(active-backup)와 고성능(802.3ad) 구성의 차이를 이해하는 것이 중요합니다.
특히 nmcli를 이용하면 CentOS/Rocky/RHEL 환경에서 안정적인 bond 구성이 가능하며, 문제가 발생할 경우 /proc/net/bonding/bond0 분석이 필수입니다.
반응형
LIST
'지식 공유 > Server' 카테고리의 다른 글
| 네트워크 리트랜스미션(Network Retransmission) 원인 (0) | 2025.11.17 |
|---|---|
| 리눅스 리소스 모니터링 명령어 정리 (top, htop, gotop) (1) | 2025.11.16 |
| 서버 보안: PAM 모듈로 접근 제어·인증 강화 (0) | 2025.11.11 |
| KISA 기반 Rocky Linux 9 보안취약점 점검 (1) | 2025.11.10 |
| GDB를 이용한 코어 덤프(core dump) 분석 가이드 (0) | 2025.11.07 |
