VMware RHEL 6.9 본딩 구성

728x90

안녕하세요! 

네트워크 본딩(Bonding)은 여러 네트워크 인터페이스를 하나의 논리적인 인터페이스로 묶는 과정입니다.

Acitve / Standby 구조로 작동하여 장애 발생 시에도 네트워크가 끊기지 않도록 합니다.

다음과 같은 목적으로 사용됩니다.

l   고가용성 : 단일 네트워크 인터페이스에 장애가 발생해도, 다른 인터페이스를 통해 네트워크 연결이 유지. 서버의 네트워크 연결 중단 되는 것을 방지.
 
l   부하분산 : 네트워크 트래픽을 여러 인터페이스에 분산시켜 전체 네트워크 성능 향상 가능
 
l   대역폭 증가 :  여러 네트워크 연결을 결합하여 더 폭은 대역폭 제공 가능

 

 

네트워크 어댑터 추가하기

VMware에서 가상 머신을 우 클릭 후 Settings… 클릭합니다.

Add 버튼을 클릭한 후 Network Adapter를 추가합니다.

 

추가된 Network Adpter2를 클릭하여 NAT로 설정합니다.

가상 머신에서 IP를 확인을 통해 Network Adapter가 추가되었는지 확인합니다.

기존 eth0eth1이 추가되었습니다.

 

 

네트워크 본딩(Bonding) 구성하기

네트워크 본딩을 구성하기 위해 네트워크 설정파일을 편집하고, 본딩 설정파일을 생성합니다.

ifcfg-eth0 ifcfg-eth1의 파일의 내용을 아래와 같이 변경합니다.

[root@localhost admin]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
TYPE="Ethernet"
ONBOOT="yes"
MASTER="bond0"
SLAVE="yes"
NM_CONTROLLED="no"
BOOTPROTO="none"
USERCTL="no"

 

 

[root@localhost admin]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE="Ethernet"
ONBOOT="yes"
MASTER="bond0"
SLAVE="yes"
NM_CONTROLLED="no"
BOOTPROTO="none"
USERCTL="no"

l   DEVICE :  네트워크 장치명
l   TYPE : 네트워크 인터페이스 유형
l   ONBOOT : 시스템 부팅시 자동 활성화 여부 지정
l   MASTER : 어떤 본딩 그룹에 속할지 지정
l   SLAVE : 본딩 인터페이스의 슬레이브(종속) 구성 요소 지정
l   NM_CONTROLLED : NetworkManager에 의해 네트워크 인터페이스가 관리되는지 여부 설정
l   BOOTPROTO : 부팅 시 IP 주소를 어떻게 할당받을지 지정 [dhcp, none, static]가 있음
l   USERCTL : 일반 사용자가 네크워크를 활성화하거나 비활성화할 수 있는지 여부를 지정 `no`는 관리자 권한이 필요

 


본딩(Bonding) 설정 파일을 생성 및 편집합니다.

[root@localhost admin]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE="bond0"
TYPE="Ethernet"
ONBOOT="yes"
NM_CONTROLLED="no"
BOOTPROTO="static"
IPADDR=192.168.10.20
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
DNS1=8.8.8.8
BONDING_MASTER="yes"
BONDING_OPTS="mode=1 miimon=100"

 

 

 

 

 

 

 

 

모드 번호 모드 종드 설명
0 balance-rr NIC를 번갈아가며 패킷을 송신
1 active-backup bond NIC 내에 한 개의 랜카드만 사용. 만약 사용중인 랜카드에 이상이 생길 경우 bond내의 다른 NIC로 교체
2 balance-xor 네트워크 부하 분산 통신을 지원. 소스와 목적지 MACXOR 연산하여 사용할 NIC을 결정하여 통신
3 broadcast 모든 Slave NIC를 통해 데이터를 전송
Fault Tolerance 모드
4 802.3ad 네트워크 부하 분산 통신을 지원. 802.3ad 프로토콜을 이용 DyNamic Link Aggregation을 구성
5 balance-tlb 네트워크 부하 분산 통신을 지원. 송신 패킷 부하 분산
6 balance-alb 네트워크 부하 분산 통신을 지원, 송수신 패킷 부하 부산

 

 


본딩을 적용하기 위해 `/etc/modprobe.d/bonding.conf` 파일을 생성하고 네트워크를 재 시작합니다.

[root@localhost admin]# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bond0 mode=1 miimon=100
 
[root@localhost admin]# modprobe bond0
 
[root@localhost admin]# service network restart
 
Shutting down interface bond0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                              [  OK  ]
Bringing up interface bond0:  Determining if ip address 192.168.10.20 is already in use for device bond0...
                                                                                [  OK  ]

본딩 설정을 확인합니다.

 

[root@localhost network-scripts]# 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: eth0                        
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
 
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:8c:31:7e
Slave queue ID: 0
 
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:8c:31:88
Slave queue ID: 0

Bonding Mode: fault-tolerance (active-backup) : 본딩 모드가 Active-Backup인지 확인

Currently Active Slave: eth0 : 현재 Active 상태인 인터페이스를 확인

MII Status: up : 모니터링 및 통신 상태 확인

 

 

본딩 테스트

정상 상태

현재 Active 네트워크는 eth0으로 정상 상태이며 ping을 통해 통신을 확인합니다.

Ifdown으로 하나의 인터페이스 장애를 일으키고 정상으로 작동하는지 번갈아가며 테스트합니다.

   eth0을 종료                                                                                             eth1을 종료

 

active-back 모드로서 네트워크를 다운시켰을 때 번갈아가며 active salve가 변경되는 것을 확인할 수 있습니다.

이상입니다.

728x90
반응형