CentOS5에서 랜카드2개 Bonding하는거...

김건우   
   조회 15587   추천 0    

웹에서 리얼텍랜카드 2개를 PC에 설치한 후 리눅스를 올려 이렇게 설치된 랜카드2개를 묶어서(bond)
대역폭2배의 효과 혹은 랜케이블이 하나가 빠져도 동작하는거 해볼려고 했는데...

첫째로 커널에서 Network device support 에서 Bonding driver support 가 채크되어야 한다는데
레드햇은 기본이라고 하네요. CentOS5가 레드햇의 클론이라하여 될줄알았는데...확인을 해보려고
make menuconfig 를 했더니, "변경할 규칙이 없음"  이러면서 커널에 접속이 안되네요.

그래서 일단 bonding설정을 다음과 같이 했습니다만... 뭐가 잘못된 것인지...그리고, CentOS5에서
커널에 대한 설정을 확인하려면 어떻게 해야하는지 알려주세요...


1. /etc/sysconfig/network 파일수정
NETWORKING=yes
HOSTNAME=centosx86
GATEWAY=192.168.0.1
GATEWAYDEV=bond0


2. /etc/sysconfig/network-scripts/bond0 생성 및 설정
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.251
NETMASK=255.255.255.0
NETWORK=192.168.0.1 <--- gateway와 동일하게 했습니다.

3-1. /etc/sysconfig/network-scripts/ifcfg-eth0 과 ifcfg-eth1 화일을 각각 생성 및 설정
DEVICE=eth0
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

3-2. /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

4. eth0와 eth1에 대한 모듈업!!
# alias bond0 bonding <---그런데 여기서 에러남. bond0를 만들어줬는데도 없다고 함.
# alias eth0 8139too
# alias eth1 8139too


5. 기타 모듈의 인식!!!
# modprobe bonding
# ifconfig eth0 up 0.0.0.0
# ifconfig eth1 up 0.0.0.0
# ifenslave bond0 eth0 <--- 이것과 바로 아래부분은 이미 slave로 되어있다고 하면서 에러를 발생.
# ifenslave bond0 eth1

6. network 스크립트 재시작 및 확인
./etc/rc.d/init.d/network restart

7. ifconfg
bond0
eth0
eth1
lo
... 된건가? 했는데...

리붓을 해보니....bond0장치(인터페이스)가 없는 거 같습니다. 인터페이스 초기화를 지연합니다.
라는 메세지를 띄워버리면서 bond가 안되고 있습니다.
짧은글 일수록 신중하게.
이지영 2009-03
티밍이나 본딩은 지원 기종만 가능합니다. 대표적인 예로 인텔의 서버군 랜카드가 티밍을 지원합니다.
김건우 2009-03
오...이지영님... 티밍을 한게 아니랍니다. 그리고 웹에서 이미 리얼텍랜카드로 세팅했다는분의 글을 보고 작업한거라는 ....
박우열 2009-03
2. /etc/sysconfig/network-scripts/bond0 생성 및 설정
스크립트 파일명을 ifcfg-bond0 로 하시면 됩니다.
박우열 2009-03
참고로 채널본딩은 타모델로도 다됩니다.
김건우 2009-03
아..박우열님. 오늘 집에가서 함 해보겠습니다.
이현호K 2009-03
윗분 말씀처럼 ifcfg-bond0 rename 하시면 될것 같습니다. 
Script 로딩이 제대로 안되실경우, 그냥 /etc/rc.d/rc.local에다가 순서대로 스크립트 돌리셔도 됩니다.
최종 네트워크 온라인 상태에서 마지막 업데이트로 처리만 하면 적용이 됩니다.

인텔은 자체 자기네 VLAN 모듈 쓰기를 권장해서 속도는 좀 낳겠죠. 얼텍으로 맞추시려면 그냥
뽄?딩. 거시면 됩니다. 용어가 티밍과 본딩이란 용어로 섞어쓰는데 티밍은 업체쪽 얘긴것 같구요.
본딩은 LINUX GNU 드라이버 개발자들이 그냥 용어를 그렇게 정의한것 같습니다.

제가 쓰고 있는 본딩 구성정보 올려 봅니다.


[root@Spring update]# cat ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.10.200
NETMASK=255.255.255.0
NETWORK=
BROADCAST=
USERCTL=no
GATEWAY=192.168.10.1


[root@Spring update]# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.10.200
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
OLDPROTO=static


[root@Spring update]# cat ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.10.1
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
USERCTL=no
MASTER=bond0
SLAVE=yes
OLDPROTO=static



BONDMODE = 1
MIIMON = 100

BONDOPTIONS = mode=1 miimon=100

mode=0 (balance-rr)
mode=1 (active-backup) (* fail-over)
mode=2 (balance-xor)
mode=3 (broadcast)
mode=4 (802.3ad)
mode=5 (balance-tlb)
mode=6 (balance-alb)


# /sbin/modprobe bonding ${BONDOPTIONS}


# /sbin/service network start
# /sbin/ifenslave bond0 eth0
# /sbin/ifenslave bond0 eth1


[root@Spring update]# lsmod 
Module                  Size  Used by
bonding                86516  0


3개의 MacAddress가 동일한지 확인 HWaddr 00:15:17:50:C1:3D 

[root@Spring update]# ifconfig
bond0    Link encap:Ethernet  HWaddr 00:15:17:50:C1:3D 
          inet addr:192.168.10.200  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::215:17ff:fe50:c13d/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:1452 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1545 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:228641 (223.2 KiB)  TX bytes:484094 (472.7 KiB)

eth0      Link encap:Ethernet  HWaddr 00:15:17:50:C1:3D 
          UP BROADCAST RUNNING ALLMULTI SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1452 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1547 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:228641 (223.2 KiB)  TX bytes:484410 (473.0 KiB)

eth1      Link encap:Ethernet  HWaddr 00:15:17:50:C1:3D 
          UP BROADCAST SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

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:371 errors:0 dropped:0 overruns:0 frame:0
          TX packets:371 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:121651 (118.7 KiB)  TX bytes:121651 (118.7 KiB)
이현호K 2009-03
기준이 되는 nic eth0가 반드시? Static으로 잡으셔야 합니다. dhcp로 되어 있으면 잘안됩니다.
김건우 2009-03
4. eth0와 eth1에 대한 모듈업!!
# alias bond0 bonding <---그런데 여기서 에러가 납니다.
bash : alias bond0 : not found
bash : alias bonding : not found
이현호K 2009-03
배포판에 따라서 다소 버그가 있을수도 있습니다. Bug Item<Script/Driver/Kernel>
배포판 체크

두가지 정도 원인일수 있습니다.
1) #modprobe bonding  <Manual 로딩 된다면 커널 드라이버 문제는 아닌듯>
  or
  #insmod /lib/modules/xxxkernel/net/?/bonding.ko   

2) #rpm -qa |grep modpr <modprobe 버전을 체크해 보십시오. 버그가 있어서 modprobe만 패치해야
    할수도 있습니다. rpm find에서 modutil로 찾아 보시면 됩니다.

Bonding 구성에 대한 자세한 설명은 아래 주소가 좀 자세히 기술되어 있습니다.
http://www.linuxfoundation.org/en/Net:Bonding
김건우 2009-03
네..좀더해봐야겠습니다... centos가 final버젼으로 되어있어 안정적이고 잘될줄알았는데...
뭔가 처리해야 할게 많은듯하네요. 페도라를 써서도 한번해보고..그래야 겠네요.일단 이 작업은 한 며칠갈거
같습니다.




QnA
제목Page 3525/5043
2014-04   2943593   회원K
2015-12   15746   백메가
2009-03   10414  
2009-03   4417   차진
2009-03   7143   로그아웃
2009-03   8404   코뿔사냥
2009-03   9997   박동섭
2009-03   5672   이눅스씨앤씨
2009-03   6122   이재덕
2009-03   11111   전근현
2009-03   9507   경박한시민
2009-03   4862   박재영
2009-03   12033   백승철
2009-03   14761   딸기대장
2009-03   4879   곽순현
2009-03   4629   한경도
2009-03   6003   힘내용
2009-03   5057   전요셉
2009-03   7958   차평석
2009-03   7603   akfalles
2009-03   9894   chroma
2009-03   5235   전근현