문제점:
아래 처럼 mode 1 bonding 모드로 /etc/modprobe.conf 파일에 아래와 같이 구성했다.
alias bond0 bonding
option bonding mode=1 miimon=100
또는
install bond0 /sbin/modprobe bonding -o bond0 miimon=100 mode=1
하지만 cat /proc/net/bonding/bond0 의 결과는 아래처럼Mode 0 [Round-robin] 상태로 보여지고 있다.
Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:40:be:67
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:40:be:71
해결방법:
bonding driver를 리로딩 하거나 재부팅해라.
bonding driver를 리로딩 하는 방법은 아래와 같다.
service network stop
modprobe -r -v bonding
또는
modprobe -r -v bonding -o bond0
service network start
이것은 bonding driver를 리로딩할 것이다. cat /proc/net/bonding/bond0 는 Mode 1를 보여준다.:
Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:40:be:67
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:40:be:71
사실 위와 같은 해결안으로 해결되지 않는 경우도 있다. 이러한 경우 다양한 설정법에 따라서 bonding 설정을 시도해 보고 테스트 해야한다.
보통 bonding과 영향이 있는 부분이 아래와 같은 부분이다.
- BONDING 설정방식을 다양하게 시도해 본다.
- 현재 버젼에서 최신의 UPDATE로 올린다. (KERNEL포함)
- 하드웨어 FW/BIOS 를 최신으로 패치한다.
- nic 카드에 따른 옵션 설정을 확인해 본다.
- Bonding mode 를 지원하는 특정 설정 (우선 가장 기본적인 0 또는 1을 통해 시도해 본다.)
- BONDING 관련 INTERFACE에 BROADCAST등이 설정되어 있는지 확인한다.(ifconfig)
- selinux 를 off한다.
- ipv6를 off 한다.
- bonding 모듈이 올라가 있는지 lsmod로 확인한다.
- fail을 check하는 방법을 mii 방법대신 arp 방식으로 option을 지정한다.
- bonding mode를 숫자로 표기한다.
- bonding 파일과 ifcfg-ethx 파일들을 다시 typing 해서 입력한다.(이 파일들에 white space 등이 들어가게 되어 제대로 파일을 읽어들이지 못하는 경우가 있을 수 있음)
- MTU 설정을 기본값으로 변경한다.
- tcp관련 kernel값을 default로 하고 시도해 본다.