본딩
: 여러 개의 NIC(Network Interface Card)를 논리적으로 하나로 묶는 기술
본딩 모드
로드 밸런싱 모드
- Round-Robin (Mode 0)
- : 첫 번째 사용 가능한 인터페이스에서 마지막 인터페이스로 패킷을 순차적으로 전송
내결함성 모드 (Mode 1)
- Active-Backup
- : 기본 인터페이스가 Down 시 백업 인터페이스 중 하나가 대체된다.
nmcli 본딩 구성
본딩 인터페이스 생성
[root@control ~]# nmcli con add con-name bond0 type bond ifname bond0 bond.options "mode=active-backup"
모니터링 간격을 0.001초로 설정
[root@control ~]# nmcli con add con-name bond0 type bond ifname bond0 bond.options "mode=active-backup, miimon=1000"
본드에 인터페이스 할당
[root@control ~]# nmcli con modify enp0s3 master bond0
[root@control ~]# nmcli con modify enp0s8 master bond0
본드에 할당한 인터페이스 활성화
[root@control ~]# nmcli con up enp0s3
[root@control ~]# nmcli con up enp0s8
본드 IP 설정
[root@control ~]# nmcli con mod bond0 ipv4.address 172.17.0.100/24 ipv4.gateway 172.17.0.1 ipv4.dns 168.126.63.1 ipv4.method manual
본드 설정 확인
[root@control ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.14.0-284.11.1.el9_2.x86_64
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp0s3
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
Slave Interface: enp0s3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:5b:5f:e6
Slave queue ID: 0
Slave Interface: enp0s8
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:ef:77:b8
Slave queue ID: 0
본딩 삭제
# 본딩 삭제
[root@control ~]# nmcli con del bond0
# NIC 삭제
[root@control ~]# nmcli con del enp0s3
[root@control ~]# nmcli con del enp0s8
NIC 인터페이스가 구성되지 않은 상황에서 본딩 구성
# bond0 생성
[root@control ~]# nmcli connection add con-name bond0 type bond ifname bond0 bond.options "mode=active-backup, miimon=1000"
[root@control ~]# nmcli con mod bond0 ipv4.method manual ipv4.address 172.17.0.100/24 ipv4.gateway 172.17.0.1 ipv4.dns 168.126.63.1
# "bond0"에 nic 생성 및 할당
[root@control ~]# nmcli con add con-name enp0s3 type ethernet slave-type bond ifname enp0s3 master bond0
[root@control ~]# nmcli con add con-name enp0s8 type ethernet slave-type bond ifname enp0s8 master bond0
fail_over_mac
: bond의 MAC 주소를 어떻게 가져갈 지를 정하는 옵션이다.
- 0 or none : (Default) bond 된 인터페이스와 모든 slave 인터페이스들의 MAC이 같은 값으로 설정되는 옵션이다. 일반적으로 가장 첫 번째 MAC 주소를 가진다.
- 1 or active : active 상태인 slave 인터페이스의 MAC 주소를 가져간다.
- 2 or follow : bond 된 인터페이스의 MAC 주소는 고정 값을 가지고(일반적으로 가장 첫 번째 MAC 주소) active 상태가 되는 인터페이스에 해당 MAC 주소를 부여하는 방식이다. failover가 발생할 때 새로 active 상태가 되는 인터페이스의 MAC 주소를 이전의 active 상태였던 인터페이스에 부여하고 bond된 인터페이스의 MAC을 받는다.
가상화(VirtualBox, VMware WorkStation) 서버에서는 fail_over_mac=1 옵션을 사용해야 본딩이 정상 동작한다.
[root@control ~]# nmcli con mod bond0 +bond.options fail_over_mac=1
primary
: 본딩의 기본 장치로 설정한다. primary 된 인터페이스는 failover 되어 다른 백업 인터페이스가 active 되더라도 다시 살아날 경우 primary로 설정된 인터페이스가 active 된다.
[root@control ~]# nmcli con mod bond0 +bond.options primary=enp0s3
'시리즈 > Linux 기초 다지기 2023 (개편 예정) - 시리즈' 카테고리의 다른 글
리눅스 기초 다지기 - 26. resolv.conf (0) | 2025.03.12 |
---|---|
리눅스 기초 다지기 - 25. route (0) | 2025.03.12 |
리눅스 기초 다지기 - 23. NetworkManager (0) | 2025.03.12 |
리눅스 기초 다지기 - 22. ethtool (2) | 2025.03.12 |
리눅스 기초 다지기 - 21. SWAP MEMORY (0) | 2025.03.12 |