OS/Linux

Linux Bonding 구성

acidpop 2011. 6. 1. 11:04
반응형
1. Bonding 개요

  => 본딩이란 여러개의 NIC를 논리적으로 하나로 묶어 NIC의 갯수만큼의 대역폭을 확장하는 기술이다. 예를들어 100Mbps NIC 두개를 묶어 200Mbps의 대역폭으로 구성 할 수 있다.

또한 NIC가 두개 이기 때문에 물리적인 경로또한 두개가 생긴다. 이것은 곧, 네트웍의 이중화라고 말할 수 있다. 하나의 NIC 장애시 남은 하나의 NIC로 통신이 가능하여  Fau lt Tolerance의 역할을 한다.

 

또한 두개의 경로에서 패킷을 적절히 분배할 수 있는 로드밸런싱 기능까지 구현할 수 있다.

 

2. 테스트 환경

    - Machine : VMWARE

    - OS : CentOS 5.2 i386 2.6.18-92.el5 #1 SMP

  

3. Bonding 구성

  3.1 네트웍 환경 구성 파일 설정

    #cd /etc/sysconfig/network-script

    #vi ifcfg-bond0  => ifcfg-bond파일은 존재하지 않으며 새롭게 생성하여 아래의 값을 등록.

                               네트웍 주소부분은 환경에 맞게 설정해주면 된다.

     DEVICE=bond0

     ONBOOT=yes

     BOOTPROTO=static

     IPADDR=192.168.2.100

     NETMASK=255.255.255.0

     NETWORK=10.100.100.0

 

    #vi ifcfg-eth0 => 해당 파일을 열어 아래의 값을 등록하고 남은 부분은 삭제한다.

     DEVICE=eth0

     USERCTL=no => root가 아닌 일반계정이 해당 인터페이스를 비활성화 가능 여부

     MASTER=bond0

     SLAVE=yes
     ONBOOT=yes

     BOOTPROTO=none

 

    #vi ifcfg-eth1 => ifcfg-eth0의 설정과 같에 등록한다. ifcfg-eth0파일을 복사하면 편리하다.

     DEVICE=eth0

     USERCTL=no => root가 아닌 일반계정이 해당 인터페이스를 비활성화 가능 여부

     MASTER=bond0

     SLAVE=yes
     ONBOOT=yes

     BOOTPROTO=none

 

    #cd /etc/sysconfig

    #vi network => 기존내용에서 GATEDEV항목만 새롭게 추가해 준다. 또한 호스트네임 및 게이

                         트웨이 주소는 자신의 환경에 맞게 설정한다.

      NETWORKING=yes

      HOSTNAME=test-test

      GATEWAY=192.168.2.100

      GATEDEV=bond0  => 새롭게 추가되는 항목

   

  3.2 모듈 구성

    #vi /etc/modprobe.conf => 해당 파일을 열어 아래의 값을 추가해 준다.

     alias bond0 bonding 

     options bonding mode=1  => bonding 모드 지정

     options bond0 miimon=100  =>  NIC 상태 체크 시간(1/100 sec) 

     

    [Bonding 모드 종류]

     0 : balance-round robine ( 2개의 NIC 통한 분배 +  Fault Tolerance )

        1 : active-standby ( Active상태의 NIC에 문제 발생시 Fault Tolerance )

     2 : balance-xor ( 0 비슷하지만 xor연산을 이용한 목적지 Mac 근원지 Mac 이용한

                 분배 +    Fault tolerance)

    3 : broadcast ( 2개의 NIC 어떤 규칙 없이 데이터 통신 +  Fault Tolerace)

       4 : 802.3ad (link aggregation) – switch aggregation 그룹생성이 필요

 

  #modprobe bonding

  #lsmod |grpe bonding

   bonding                81197  0

  #service network restart

  #ifconfig => 모두 3개의 인터페이스가 활성화 되었으며, 실제 인터페이스에서는

               "SLAVE"라는 상태 정보가 생성되어 있다.

bond0     Link encap:Ethernet  HWaddr 00:15:17:15:84:12   

          inet addr:192.168.2.100  Bcast:192.168.2.255  Mask:255.255.255.0

          inet6 addr: fe80::215:17ff:fe15:8412/64 Scope:Link

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

          RX packets:139377078 errors:0 dropped:0 overruns:0 frame:0

          TX packets:42875855 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:706627033 (673.8 MiB)  TX bytes:634182662 (604.8 MiB)

 

eth2    Link encap:Ethernet  HWaddr 00:15:17:15:84:12 

          inet6 addr: fe80::215:17ff:fe15:8412/64 Scope:Link

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

          RX packets:88307292 errors:0 dropped:0 overruns:0 frame:0

          TX packets:42875850 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:1545900323 (1.4 GiB)  TX bytes:634182264 (604.8 MiB)

          Base address:0xece0 Memory:fc3e0000-fc400000

 

eth3      Link encap:Ethernet  HWaddr 00:15:17:15:84:12

          inet6 addr: fe80::215:17ff:fe15:8412/64 Scope:Link

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

          RX packets:51069786 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:3455694006 (3.2 GiB)  TX bytes:398 (398.0 b)

          Base address:0xecc0 Memory:fc3a0000-fc3c0000

 

  3.2 구성상태 확인 및 검증

    #cd /proc/net/bonding

    #cat bonding

Ethernet Channel Bonding Driver: v2.6.3 (June 8, 2005)  => Bonding의 버전정보

 

     Bonding Mode: fault-tolerance (active-backup)   => 구성된 Bonding 모드 정보

     Primary Slave: None

     Currently Active Slave: eth2                          

     MII Status: up                                              

     MII Polling Interval (ms): 100                          

     Up Delay (ms): 0

     Down Delay (ms): 0

 

     Slave Interface: eth2

     MII Status: up                                                

     Link Failure Count: 0                                      

     Permanent HW addr: 00:15:17:15:84:12

 

     Slave Interface: eth3

     MII Status: up                                          

     Link Failure Count: 1                                 

     Permanent HW addr: 00:15:17:15:84:13



출처 : http://blog.naver.com/reze2010/20052125671
반응형

'OS > Linux' 카테고리의 다른 글

리눅스 CLI 로 인터넷 속도 측정  (1) 2018.07.13
리눅스 터미널 Ctrl s 입력시 멈춤  (1) 2016.10.12
삼바 설정  (0) 2015.09.01
FTP row CMD 목록  (0) 2014.07.28
CentOS 7 방화벽  (0) 2014.07.14
만능 Makefile  (8) 2014.07.10
Ubuntu 14.04 XRDP - 우분투 14.04 XRDP 설정  (0) 2014.07.02
yum 속도 개선  (0) 2011.10.07