출처 : http://community.plusonnet.co.kr/?p=16
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
BOOTPROTO=none
#vi ifcfg-eth1 => ifcfg-eth0의 설정과 같에 등록한다. ifcfg-eth0파일을 복사하면 편리하다.
DEVICE=eth0
USERCTL=no => root가 아닌 일반계정이 해당 인터페이스를 비활성화 가능 여부
MASTER=bond0
SLAVE=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
'IT > Tips' 카테고리의 다른 글
ubuntu setting (0) | 2010.06.07 |
---|---|
find 팁 (0) | 2010.06.07 |
ubuntu 9.10 설정 (0) | 2010.01.27 |
자료형 최소값,최대값 (0) | 2009.12.02 |
gdb fork (0) | 2009.11.27 |