Linux bonding 간단히 구성하기(Active-Standby)

      I. Linux Kernel 2.6.x

Ø       Linux 2.6.x 커널에서는 Teaming이라는 용어 대신 Bonding으로 바뀌었으면 2.4.x 커널에서 이용을 할려고 할 경우 ifenslave 를 업데이트를 하거나 2.4.12 커널이상으로 커널 컴파일을 실시하여 하여야 한다.

Ø       Ifenslave 를 업데이트 하여 사용을 할 경우 정상적인 동작을 되지 않을 수 있으므로 2.6.x 의 버전을 설치하는 것을 추천한다.

1. Linux Bonding 세팅(test-web04)

     1)   vi  /etc/sysconfig/network 

         NETWORKING=yes

         HOSTNAME=test-web04

         GATEWAY=10.100.100.1

         GATEDEV=bond0  à 추가사항

     2)  vi  /etc/modprobe.conf 

alias bond0 bonding  à 해당 파일의 가장 최상단에 추가해 준다.

alias eth0 bnx2

alias eth1 bnx2

alias eth2 e1000

alias eth3 e1000

alias scsi_hostadapter megaraid_sas

alias usb-controller ehci-hcd

alias usb-controller1 uhci-hcd

options bonding mode=1  à bonding  방식 지정 : 1=active-standby 방식

options bond0 miimon=100  à NIC Health 체크 시간(1/100 sec)

* bonding mode

Ø  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 그룹생성이 필요

3)      vi  /etc/sysconfig/network-scripts/ifcfg-bond0  à 추가 파일 작성

         DEVICE=bond0

         ONBOOT=yes

         BOOTPROTO=static

         IPADDR=10.100.100.24

         NETMASK=255.255.255.0

         NETWORK=10.100.100.0

        4)  vi  /etc/sysconfig/network-scripts/ifcfg-eth2  à bonding용으로 eth2와 eth3 을 사용

         DEVICE=eth2

         BOOTPROTO=none

         ONBOOT=yes

         USERCTL=no  à 해당 nic 카드를 root가 아닌 다른 사용자가 off 가능하게 할 지 여부

         MASTER=bond0

         SLAVE=yes

         * ifcfg-eth3 도 위와 똑같이 세팅

     5)  4번 작업시 가급적 console에서 작업을 하기 바람.

     6)  modprobe bonding à 모듈을 올려줍니다.

     7)   lsmod | grep bonding  à 모듈이 올라왔는지 확인합니다.

         bonding                64872  0

     9)  /etc/rc.d/init.d/network 재구동

     10) ifconfig 로 확인

bond0     Link encap:Ethernet  HWaddr 00:15:17:15:84:12   à bonding IP 및 MAC

          inet addr:10.100.100.24  Bcast:10.100.100.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  à real nic는 slave로 되어 있어야함

          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  à real nic는 slave로 되어 있어야함

          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

9)       현재 Bonding 구동 현황 파악

    [root@test-web04 sysconfig]# cat /proc/net/bonding/bond0

     Ethernet Channel Bonding Driver: v2.6.3 (June 8, 2005)  à Bonding 버전

     Bonding Mode: fault-tolerance (active-backup)      à Bonding Mode

     Primary Slave: None

     Currently Active Slave: eth2                            à 현재 Active한 Real NIC

     MII Status: up                                               à Link 상태

     MII Polling Interval (ms): 100                           à Fail시 전환

     Up Delay (ms): 0

     Down Delay (ms): 0

     Slave Interface: eth2

     MII Status: up                                                 à Link 상태

     Link Failure Count: 0                                       à O/S startup 이후 Link Fail 건수

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

     Slave Interface: eth3

     MII Status: up                                            à Link 상태

     Link Failure Count: 1                                   à O/S startup 이후 Link Fail 건수

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

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.