2009年6月16日

CARP on FreeBSD 6.X

Common Address Redundancy Protocol は、CISCOのVRRP互換のレイヤー3IP冗長化プロトコルである。BSDでは、カーネルに実装されているため、カーネルコンフィグレーションが必要となる。

1.カーネルコンフィグレーション
カーネルに以下のdevice を指定し、makeする。


device carp

2.設定


# vi /etc/sysctl.conf
 net.inet.carp.allow=1 #carp受信
 net.inet.carp.preempt=1 #複数のvhidをまとめてフェイルオーバさせたいとき1
 net.inet.carp.log=1
# vi /etc/rc.conf
 cloned_interfaces="carp0 carp1"
 # Master側
 ifconfig_carp0="vhid 1 pass XXX 192.168.0.4/24"
 # Slave側
 ifconfig_carp0="vhid 1 pass XXX advskew 100 192.168.0.4/24"
 # vhid: 仮想ホストを構成する実ホストのグループID。CARP毎に値を設定,carp0はvhid1,carp 1はvhid 2など。
 # advskew:死活監視への応答時間。1/256秒を掛けた値
 # pass: 通信時のパスワード
 # advbase:死活監視の間隔

3.確認
# ifconfig -a

carp0: flags=49 mtu 1500
inet 192.168.255.254 netmask 0xffffff00
carp: MASTER vhid 1 advbase 1 advskew 0

[CARP][FreeBSD] : 2009年6月16日 14:11