Linux & Development

Network Bonding - Rocky/CentOS/RHEL

DaehanCNI 2024. 4. 1. 09:00

 

Rocky Linux 8.x 관련하여 정리 중, Network Bonding 에 대한 내용을 발취하여 정리하였습니다. 

nmtui 또는 nmcli 을 이용하여 설정할수 있으나 고전적인 파일을 편집하여 Network Bonding 하는 방법에 대해 설명하였습니다.

 

Network Bonding 이라함은 여러개의 NIC을 하나의 Interface로 묶어서 사용하는 것을 이야기 합니다. 

Bonding Mode는 0 (Balance-rr) ~ 6 (Balance-alb) 까지 원하는 mode로 설정이 가능합니다. 

 

많이 사용하는 Bonding Options

Option Description
miimon = 100 얼마나 자주 MII Link을 감시할 것인가에 대한 설정으로 NIC가 살아있느지를 확인하는데 사용.
xmit_hash_policy = 1 해쉬값을 이용한 부하분산을 하는 방식으로 Layer3+4IP와 포트값을 가지고 해쉬값을 생성.

 

1. Bonding Node (Bonding Interface) 설정 - Master

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BOOTPROTO=static    
IPADDR=10.0.1.11    
NETMASK=255.255.0.0   
GATEWAY=10.0.0.1    
DNS1=8.8.8.8
DNS2=168.126.63.1
BONDING_OPTS="mode=1 miimon=100"   
ONBOOT=yes
ifconfig bond0 txqueuelen 10000 # 10G 일 경우

 

BONDING_OPT을 이용하여 Bonding 에 필요한 Mode 및 Options 을 설정한다. 

 

2. Interface Node (Network Interface) 설정 - Slave

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp1s0
TYTPE=Ethernet    
DEVICE=enp1s0    
NAME=enp1s0    
BOOTPROTO=none    
MASTER=bond0    
SLAVE=yes    
ONBOOT=yes

 

원하는 추가적인 Options은 설정한다. 

 

3. Network Restart

[root@localhost ~]# systemctl restart NetworkManager.service

 

4. Bonding 결과 확인

  • Bonding Mode 1 (active-backup)
[root@localhost ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp1s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

… … … …

 

  • Bonding Mode 2 (load balancing)
[root@localhost ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (xor)
Transmit Hash Policy: layer3+4 (1)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

… … … … …

 

  • Bonding Mode 4 (link aggregation)
[root@localhost ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer3+4 (1)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

… … … …