네트워크 본딩 설정

2013. 9. 11. 14:15OS/리눅스

반응형

리눅스 본딩 하기.

먼저 본딩이란.

여러개의 네트워크 이더넷을 하나의 가상 이더넷에 묶는 것을 말한다.

서버 사용 중 이더넷이 죽으면 서버도 죽는다.

여러개를 연결을 해놓으면 하나가 죽어도 다른하나가 토스 받아서 계속 살아있다.

이것이 첫번째이고 두번째는 네트워크 대역폭을 늘리는 것이다.

기가비트 이더넷을 하나씩 연결하면 1기가. 끝.

n개 연결하면 n기가.

 

저는 vmware로 이더넷 카드 4개 박았슴다.

4개의 랜카드를 하나로 본딩하는 작업을 했씀다.

설치하고 나서 ifconfig로 보면 이더넷이 안올라 올건데 vi로 /etc/sysconfig/network-scripts/ifcfg-eth* 로 들어가서 onboot = yes 로 바꿔주면 올라옴미다. (* = 0~3)

바꾸고나서 물론 service network restart를 해줘야함.

일단 본딩을 하기 전에 yum install ethtool -y 해주어서 ethtool을 설치 해줍니다.

그리고 touch 명령어로 빈파일들을 생성.

touch /etc/sysconfig/network-scripts/ifcfg-bond0

touch /etc/sysconfig/network-scripts/ifcfg-eth0

touch /etc/sysconfig/network-scripts/ifcfg-eth1

touch /etc/sysconfig/network-scripts/ifcfg-eth2

touch /etc/sysconfig/network-scripts/ifcfg-eth3

touch /etc/modprobe.d/bonding.conf

 

그런 후 vi로 각각의 bond 빈 파일에 다음 내용을 입력합니다.

DEVICE=bond0IPADDR=

...  /* 자신의 아이피를 넣으면됩니다 */ 

NETMASK=○

...  /* 넷마스크 */

GATEWAY=

...○ /* 게이트웨이 */

DNS1=

...○  /* DNS */

DNS2=

...○ /* 보조 DNS */

USERCTL=noBOOTPROTO=noneONBOOT=yesNM_CONTROLLED=no

고정 아이피로 안하시려면 네트워크, ip gw 부분 싹 지우시고 BOOTPROTO를 dhcp로 해주시면됨다.

 

다음으로 랜카드, eth*에 이 내용을 입력해줍니다.

DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=noneNM_CONTROLLED=no디바이스는 각각 마다 다르게 해주셔야 함다. 겹치기 ㄴㄴ해
그리고 아까 생성했던 bonding.conf파일을 수정해 줍니다.경로는 /etc/modprobe.d/ 밑에 있슴다.그리고 

alias bond0 bonding

options bond0 mode=0 miimon=100

이 내용을 입력해줌다.

 

모드는 밑에 내용을 보시고 0~6중에 하나 넣으시면 됨미다.

0. balance-rr : (Round Robin) Load Balancing, 송신할 패킷마다 사용하는 NIC을 바꾼다.1. active-backup: 

Failover, bond내에서 한개의 Slave만 사용. 포트문제가 생길경우 다른 Slave가 Enable

2. balance-xor : Load Balancing, 

소스와 목적지의 MAC을 XOR 연산을 통해 사용할 NIC를 결정하여 분배

3. Broadcast : Fault-Tolerance, 

모든 Slave으로 데이터전송(failover), 일반적으로는 잘 사용안함.

4. 802.3ad : Dynamic Link Aggregation, IEEE 802.3ad 프로토콜을 이용하여 동적 Aggregation 작성. 대역폭 상승, 부하 분산, Failover 지원

5. balance-tlb(TLB) : 적응형 송신 부하 분산, 송신패킷 로드밸런싱, 송신시 부하가 낮은 NIC이용. 수신은 특정 NIC이용

6. balance-alb(ALB) : 적응형 부하 분산, 송수신패킷 로드밸런싱, 송수신시 부하가 낮은 NIC를 사용

그리고 miimon은 mii링크를 얼마나 자주 감시할지 설정하는 것. (단위는 0.001초)

 

vi 로 /etc/sysconfig/network를 열어서

NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=자기호스트이름GATEWAYDEV=bond0

이 내용을 적어줍니다.

modprobe bonding 으로 변경한내용을 적용시키고

service network restart로 네트워크 재시작ㄱㄱ

 

하면

bond0에만 ip가 잡혀있고 나머지는 SLAVE라는 단어가 눈에 띔미다.

이렇게 되면 성공!

여기서 랜카드 두개를 다운시켜도 핑이 나감미다.

원래 세개까지 다운시켜도 나가야 되는거 같은데...

여러번 테스트 결과 vmware의 한계라고 결정지었슴다.

 

cat /proc/net/bonding/bond0을 해보시면 bond0에 대한 자료가 나옴미다.

요렇게.

 

리눅스 본딩작업은 여기서 마치겠슴다.

반응형

'OS > 리눅스' 카테고리의 다른 글

centOS 6.X 64bit 이더넷 좀 보자꾸나  (0) 2013.09.23
CentOS 6.x 64bit에 ssh설치  (0) 2013.09.16
리눅스 portsentry  (0) 2013.09.09
mysql이 실행이 안될때  (0) 2013.09.03
Zend Optimizer  (0) 2013.08.06