본문 바로가기

리눅스

CentOS 6에서 NIC Bonding을 구성하는 방법

반응형

CentOS 6에서 네트워크 인터페이스 카드(NIC) Bonding을 구성하는 방법

CentOS 6 환경에서 네트워크 인터페이스 카드(NIC) Bonding을 구성하여, 네트워크 이중화와 부하 분산을 구현하는 방법입니다.

환경 정보

인터페이스 MAC 주소 용도 IP 설정
eth0 08:00:27:5B:BE:D9 bond0 (DHCP) 10.0.2.15 (DHCP)
eth1 08:00:27:A6:82:43 bond1 (Static) 192.168.56.10
eth2 08:00:27:E3:E9:D0 bond0 (DHCP)  
eth3 08:00:27:EA:D7:42 bond1 (Static)  

1. Bonding 인터페이스 설정

ifcfg-bond0

vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=dhcp
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"

ifcfg-bond1

vim /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
BOOTPROTO=static
IPADDR=192.168.56.10
NETMASK=255.255.255.0
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"

2. 개별 NIC 인터페이스 설정

각 인터페이스를 해당 bond 그룹의 slave로 지정합니다.

 

eth0 - bond0 구성(DHCP)

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=dhcp
HWADDR="08:00:27:5B:BE:D9"
NM_CONTROLLED="yes"
ONBOOT="yes"
USERCTL=no
MASTER=bond0
SLAVE=yes

eth1 - bond1 구성(Static)

vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO=none
HWADDR="08:00:27:A6:82:43"
NM_CONTROLLED="yes"
ONBOOT="yes"
USERCTL=no
MASTER=bond1
SLAVE=yes

eth2 - bond0 구성(DHCP)

vim /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
BOOTPROTO=dhcp
HWADDR="08:00:27:E3:E9:D0"
NM_CONTROLLED="yes"
ONBOOT="yes"
USERCTL=no
MASTER=bond0
SLAVE=yes

eth3 - bond1 구성(Static)

vim /etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE="eth3"
BOOTPROTO=none
HWADDR="08:00:27:EA:D7:42"
NM_CONTROLLED="yes"
ONBOOT="yes"
USERCTL=no
MASTER=bond1
SLAVE=yes

3. Bonding 모듈 설정

vim /etc/modprobe.conf
alias eth0 tg3
alias eth1 tg3
alias eth2 tg3
alias eth3 tg3
alias bond0 bonding
alias bond1 bonding
vim /etc/modprobe.d/bonding.conf
alias bond0 bonding
alias bond1 bonding
728x90

4. 네트워크 서비스 재시작

service network restart

5. Bonding 상태 확인

Bonding 마스터 확인

cat /sys/class/net/bonding_masters
bond0 bond1

Bonding 모드 확인

cat /sys/class/net/bond0/bonding/mode
balance-rr 0

인터페이스 상태 확인

ifconfig
bond0     Link encap:Ethernet  HWaddr 08:00:27:5B:BE:D9
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe5b:bed9/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:78 errors:0 dropped:0 overruns:0 frame:0
          TX packets:144 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:40881 (39.9 KiB)  TX bytes:14681 (14.3 KiB)

bond1     Link encap:Ethernet  HWaddr 08:00:27:A6:82:43
          inet addr:192.168.56.10  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fea6:8243/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:4217 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2230 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:391581 (382.4 KiB)  TX bytes:362725 (354.2 KiB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:5B:BE:D9
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:15 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7531 (7.3 KiB)  TX bytes:5347 (5.2 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:A6:82:43
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:3379 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:314419 (307.0 KiB)  TX bytes:360511 (352.0 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:5B:BE:D9
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:63 errors:0 dropped:0 overruns:0 frame:0
          TX packets:95 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:33350 (32.5 KiB)  TX bytes:9334 (9.1 KiB)

eth3      Link encap:Ethernet  HWaddr 08:00:27:A6:82:43
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:839 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:77222 (75.4 KiB)  TX bytes:2214 (2.1 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:76 (76.0 b)  TX bytes:76 (76.0 b)

각 bond 인터페이스와 slave NIC 상태, 트래픽, MAC 주소 등을 확인할 수 있습니다.

Bonding Mode 설명

모드 번호 이름 설명
0 balance-rr Round-robin 방식. 순차적으로 모든 NIC 사용. 부하 분산과 장애 조치 모두 지원
1 active-backup 활성-대기 방식. 하나의 NIC만 사용, 장애 시 다른 NIC로 자동 전환.
2 balance-xor MAC 주소 기반 XOR 연산으로 NIC 선택. 부하 분산 지원.
3 broadcast 모든 NIC에 트래픽을 브로드캐스트. 고가용성에 유리하나 비효율적.
4 802.3ad IEEE 802.3ad(Link Aggregation Control Protocol) 기반. 스위치 LACP 지원 필요.
5 balance-tlb 전송 시 부하 분산, 수신은 하나의 NIC로. 수신 NIC 장애 시 다른 NIC가 MAC 인계.
6 balance-alb 전송 및 수신 부하 분산 모두 지원. ARP 조작으로 수신 부하 분산 구현.

 

참고URL

- IBM Documentation : Bonding modes(All products / Linux on IBM Systems)

 

반응형