본문 바로가기

Skills/mY Technutz

Failover Bonding

Failover 채널 본딩...

본딩을 아주아주 예전 하드웨어 및 네트워크 상황이

구리디 구리던 시기에 대역폭 향상을 위해 본딩하는것만 했었는데,

요즘엔 HA 서비스를 위해 ( 고 가용성, Failover ) 본딩을 해서 서비스한다..

예전회사들에 있었을땐 미쳐 생각하지 못했던 것들인데....ㅋㅋㅋ

root@ ~] vi /etc/sysconfig/network-scripts/ifcfg-bond0
  DEVICE=bond0
  ONBOOT=yes
  blahblahblah.... ( 일반적인 기존 eth0 설정과 동일하게 함. )

root@ ~] vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  USERCTL=no
  ONBOOT=yes
  MASTER=bond0
  SLAVE=yes
  BOOTPROTO=none

root@ ~] vi /etc/sysconfig/network-scripts/ifcfg-eth1
  DEVICE=eth1
  USERCTL=no
  ONBOOT=yes
  MASTER=bond0
  SLAVE=yes
  BOOTPROTO=none

root@ ~] vi /etc/sysconfig/network
  GATEDEV=bond0

root@ ~] vi /etc/modprobe.conf    ( bonding 모듈 추가 )
  alias bond0 bonding
  options bonding mode=1 primary=eth0 (Active-Standby Mode)
  options bonding miimon=100  ( Interval Time..대략 100정도로 권고.. )
  ( NIC 에서 Link detected 가 지원되야함. ethtool eth0 | grep Link 로 확인. )

root@ ~] modprobe bonding     ( 모듈 적재 )

root@ ~] lsmod | grep bonding   ( 모듈 적재 확인 )
  bonding              47829    0

root@ ~] service network restart

root@ ~] ifconfig    ( bonding 장치 올라오는거 확인 : bond0 )

root@ ~] cat /proc/net/bonding/bond0   ( bonding 설정 내용 확인. )

본딩 옵션들

Mode : 본딩방식을 정하는 옵션.
       0 - RR 방식 로드밸런스. 말 그대로 인터페이스의 라운드로빈.
       1 - Active-Standby ( NIC 의 Failover 를 위한 모드 )
            한개는 대기상태로 기존것이 이상이 생길경우 엑티브.
       2 - XOR 방식. 수신시에는 MAC 어드레스로 맵핑, 송신시 1번 NIC 사용.
       3 - Broadcast 방식 로드벨런스. 모든 Slave NIC 으로 통신.

Miimon : 링크 감시설정 모드. 밀리세컨드단위. 디폴트값 0으로 사용안함이 된다.
         즉 빨리복구한답시고 0으로 설정하면 Failover 가 되지 않는다!!!!

downdelay : 끊어진 인터페이스의 사용불가 까지의 시간을 정해준다.
             Miimon값으 배수로 지정해야하며 디폴트는 0 이다.

updelay : 위에꺼 보면 대충 감 오잖아??? 앙?

arp_interval : arp 모닝터링 주기 설정. 밀리세컨드. mode 0 or 2 의 경우 사용시,
               스위치 설정 필요.

arp_ip_target : 위에꺼 사용시 사용가능. Arp Request 에 대한 IP 주소 지정 가능.
                  16개까지 지정가능. 콤마로 구분.

Primary : 대략 이름대로 본딩된 채널 내에서 주가 될 NIC 설정.
          랜카드 성능이 좀 다를경우, 좀 구린걸 slave로 해서 백업용으로 지정가능.
          ( 멀티 본딩 구성시에는 적용

Multicast : 본딩채널을 두개 이상 사용시 이용.
           0 - 사용 안함.
           1 - 활성화된 슬레이브끼리 멀티캐스팅
           2 - 모든 슬레이브 본딩에 멀티캐스트. ( 디폴트 )

Failover 의 작동상황 여부는 대략 /proc/sys/net/bonding/bond0 등의 파일을 읽었을때,

Failure count 던가...암튼 카운트하는 항목의 변화로 알 수 있다...ethtool에서 나오나??

암튼 대략 이정도... 커널이나 OS 버젼에 따라 몇가지 옵션이 더 있고, 없고 하지만,

일단 기본적인 부분을 기술했다. 잘못됐거나 빠진 부분 있다면 질타 바람....

사실 아직 직접 구성해 보진 않았고, 대략 말만 듣고 테스트겸, 확인겸 정리.

- 송재완이의 참조를 거부합니다 -


'Skills > mY Technutz' 카테고리의 다른 글

CentOS LiveCD 만들기..  (0) 2008.10.14
부팅가능 USB 스틱 만들기...  (0) 2008.09.16
윈도우서버에서 SNMP값이 정확히 안들어올때..  (0) 2008.06.09
Strace  (0) 2008.05.28
SNMP MIB값을 쉽게 찾자.. Getif  (0) 2008.04.23