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=
RIP=
3.備考
厳格なマスター・バックアップ指定はない。