2009年6月18日

CARP on CentOS4.7 - ucarp 1.5.1 -

Common Address Redundancy Protocol は、CISCOのVRRP互換のレイヤー3IP冗長化プロトコルである。BSDでは、カーネルランドにて、CARPを実装しているが、Linuxではこの実装がないため、ユーザランドで実装されたucarpを利用する。

1.インストール


% env CFLAGS="-O2" ./configure
% gmake
% gmake check
# gmake install-strip
# cp examples/linux/vip-* /etc
# vi /etc/vip-*.sh
  /sbin/ip addr add "$2"/26 dev "$1"
  /sbin/ip addr del "$2"/26 dev "$1"
※マスク値に注意!
# vi /etc/init.d/ucarp
 . /etc/rc.d/init.d/functions
 INTF=eth0
 VIP=
 RIP=
 PASS=XXXXXX
 prog="ucarp"

 start() {
  echo -n $"Starting $prog: "
  daemon +19 /usr/local/sbin/ucarp -B --interface=${INTF} -v 42 -p ${PASS}\
  -a ${VIP} -s ${RIP} \
  --upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh
  RETVAL=$?
  echo
  return $RETVAL
 }

 stop() {
  if test "x`pidof ucarp`" != x; then
  echo -n $"Stopping $prog: "
  killproc ucarp
  echo
  fi
  RETVAL=$?
  return $RETVAL
 }
 case "$1" in
  start)
  start
  ;;
  stop)
  stop
  ;;
 esac
 exit $RETVAL
# chkconfig --add ucarp

2.設定
/etc/init.d/ucarpに設定
INTF=eth0   #CARPで共有するIPアドレスのインターフェースを指定する。
VIP= #CARPで共有するIPアドレスそのもの
RIP= # INTFで指定したインターフェースのリアルIPアドレス

3.備考
 厳格なマスター・バックアップ指定はない。

[CARP][CentOS] : 2009年6月18日 23:48