본문 바로가기

01. operation/vii. High availability

linux network bonding

linux 네트워크 본딩 (bonding)


본딩의 필요성

 - 본딩을 구성하는 이유는 네트워크 확장(RR) 혹은 네트워크 안정성 향상(AB) 둘중 하나의 목적을 가지고 있습니다.


1. 본딩시 설정을 해야할 파일

/etc - modprobe.conf

/etc/sysconfg - network

/etc/sysconfig/network-scripts - ifcfg-eth0

                                 ifcfg-eth1

                                 ifcfg-bond0



2. modprobe.conf 설정 (추가)

alias bond0 bonding

options bonding mode=1 #mode 1, Active-backup 0, Round-Robin

options bond0 miimon=100 


3. network 설정 (추가)

GATEWAY=게이트웨이주소

GATEDEV=bond0


4. ifcfg-bond0 설정 (일반적으로는 파일을 새로 생성)

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=static

IPADDR=172.21.25.148

NETMASK=255.255.252.0


5. ifcfg-eth* 설정 (추가)

MASTER=bond0

SLAVE=yes


※주의사항

1. BONDING device의 MAC는 Master (eth0)의 디바이스를 가지고 올라온다 (MAC체크하는곳에서는 뻘짓할 확률이 높다)

 -> FAIL OVER시에는 MAC이 변경이 되어진다.


2. 1Gb에서는 eth0 -> eth1의 순서대로 service startup 되어지는데 이 경우 AB가 정상동작을 하지 않을수도 있습니다.

 /etc/sysconfig/network-script/ifdown-eth에서 stop script중 "| tac"를 추가함으로써 처리가 가능합니다.


3. bonding device에 MAC를 박아도 되나 tac를 통한 처리를 해야 나중 mac체크로 인한 오류가 없습니다.


※확인 사살

/sys/class/bond0/net 에서 bonding 관련되어진 내용 확인이 가능합니다.

위 파일 수정시에는 vi는 적용되어지지 않으며 echo "1" > net 을 통한 명령어만 가능합니다.