Failover 채널 본딩...
본딩을 아주아주 예전 하드웨어 및 네트워크 상황이
구리디 구리던 시기에 대역폭 향상을 위해 본딩하는것만 했었는데,
요즘엔 HA 서비스를 위해 ( 고 가용성, Failover ) 본딩을 해서 서비스한다..
예전회사들에 있었을땐 미쳐 생각하지 못했던 것들인데....ㅋㅋㅋ
Failover 의 작동상황 여부는 대략 /proc/sys/net/bonding/bond0 등의 파일을 읽었을때,
Failure count 던가...암튼 카운트하는 항목의 변화로 알 수 있다...ethtool에서 나오나??
암튼 대략 이정도... 커널이나 OS 버젼에 따라 몇가지 옵션이 더 있고, 없고 하지만,
일단 기본적인 부분을 기술했다. 잘못됐거나 빠진 부분 있다면 질타 바람....
사실 아직 직접 구성해 보진 않았고, 대략 말만 듣고 테스트겸, 확인겸 정리.
- 송재완이의 참조를 거부합니다 -
본딩을 아주아주 예전 하드웨어 및 네트워크 상황이
구리디 구리던 시기에 대역폭 향상을 위해 본딩하는것만 했었는데,
요즘엔 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 - 모든 슬레이브 본딩에 멀티캐스트. ( 디폴트 )
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 |