Bonding

Linux : 2007. 3. 11. 10:09
반응형
2개의 랜카드 묶어서 2배의 대역폭 (200MB/Sec)
 

이번에는 랜카드 2개를 묶어 하나의 ip를 부여한 다음, 대역폭을 2배로 사용하는 방법에 대해서 강좌를 쓰겠습니다. 요즘 UTP케이블을 사용한 Giga(1000MB/Sec) 랜카드가 많이 나왔습니다. 테스트 결과 150M/Sec 의 성능정도밖에 내지 못했습니다. 그러나 본 강좌에서 사용되는 bonding는 대역폭의 2배 200M/Sec 가 나왔습니다. 물론 Giga bit 에 맞는 케이블을 사용하지 않았는지는 모르지만, 사용된 케이블은 카테고리 6 이였습니다. 현재는 스위치및 허브가 100M 이고, giga bit은 고가입니다.  많은 분들께 도움이 되었으면 좋겠다는 마음으로 이렇게 강좌를 써 내려갑니다.

1. Bonding 이란?
 여러장의 이더넷 카드를 묶어 하나의 ip를 부여하여 그만큼 대역폭을 확보하는 방법 입니다. 물론 케이블 불량을 대비한 고장대비 방법이라고도 볼  수 있습니다.

2. 준비운동.
 랜카드 2장 (난 100M 짜리 2장을 준비했습니다.. )
 커널에서 : Network device support 에서 Bonding driver support 가 채크되어야 합니다..(RedHat은 기본)

3. /etc/sysconfig/network 파일
echo 'NETWORKING=yes
HOSTNAME=fileserver
GATEWAY=192.168.0.1
GATEDEV=bond0
'>/etc/sysconfig/network

위와같이 그대로 입력하면 설정이 바뀝니다. 물론. 중간에"HOSTNAME=호스트이름" 으로 변경하시기 바랍니다. 그리고 "GATEWAY=게이트웨이아이피" 로설정하시기 바랍니다.

4.bond0 설정
echo 'DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
' > /etc/sysconfig/network-scripts/bond0
 이 부분은 서버의 ip를 셋팅합니다. "IPADDR=서버아이피"를 설정하시고, "NETWORK=네트웍아이피"를 설정하시기 바랍니다.

5. ifcfg-ethXX 설정
echo 'DEVICE=eth0
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
'> /etc/sysconfig/network-scripts/ifcfg-eth0
이 부분은 묶일 물리적 장치를 정합니다. eth0 는 첫번째 랜카드입니다. 위와같이 설정합니다.

echo 'DEVICE=eth1
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
'> /etc/sysconfig/network-scripts/ifcfg-eth1
eth1번 은 2번째 랜카드이며 위와같이 설정합니다.

강좌에서 사용된 이더넷카드는 2개 입니다. 하지만, 그 이상을 사용하시려면, 계속 추가 한 다음, eth2, eth3 계속 설정해 주면 끝납니다. 위와같이.

6. 모듈로 binding driver 을 올렸다면, eth0와 eth1 전에 모듈을 올려야 합니다..
alias bond0 bonding
alias eth0 8139too
alias eth1 8139too

  커널 2.4.XX 에서
 /etc/modules.conf
- 그런다음 insmod 로 모듈을 올려 준다.
insmod bonding

  커널 2.6.XX
 /etc/modprobe.conf
modprobe bonding
## 위와같이 모듈을 인식시켜 줍니다.
ifconfig eth0 up 0.0.0.0
 ifconfig eth1 up 0.0.0.0
## 위 방법은 안될때 하는 방법입니다. (생략했을때 문제 생기면 하시기 바랍니다.)

 ifenslave bond0 eth0
 ifenslave bond0 eth1
위왁같은 명령으로 bond0에 eth0와 eth1을 슬레이브로 등록시킵니다.

7. network 스크립트 재 시작.(꼭 로컬에서 하시기 바랍니다.~~)


8. 삽질의 결론
 1. 단점 :
            - 같은 스위치에 꽂혀야 한다.
            - 서버가 못따라 주면 생각만큼 성능이 나오지 않는다.
 2. 장점 :
           - 이론상 속도 2배 (또는 그 이상~~)
           - 둘 중에 선 하나 뽑아두 통신 ~~ 잘한다. (리던던시 기능)


이렇게 강좌를 마칩니다. 물론 하나의 간단한 팁이며.. 알고계시면 많은 되리라 생각하고 강좌를 마무리합니다.
혹시 본 강좌에 개선점이 있으면 아래의 메일 주소로 메일 한통 부탁드립니다.

 2005.10.28 : 전현규님의 개선사항으로 아래 내용 추가합니다.
   혹시 부팅할 때 잘 올라오지 않는다면, 아래와 같이 수정해 보시기 바랍니다.

RedHat 경우, /etc/init.d/network 파일에서,
     # Bring up xDSL and CIPE interfaces 라인 바로 이전에, 
     if [ -x /etc/sysconfig/network-scripts/ifup ]; then
        echo "Bringing up eth0 and eth1..."
        /etc/sysconfig/network-scripts/ifup eth0
        /etc/sysconfig/network-scripts/ifup eth1
     fi

반응형

'Linux' 카테고리의 다른 글

GNU C Library  (0) 2007.03.11
linux 해커스쿨 정리한 내용  (0) 2007.03.11
Xinetd은 무엇인가?  (0) 2007.03.11
Posted by Real_G