1.
角色分為 Provider, Host
Provider 就是設定當Host 失連後可以取得原先在Host 上的ip 的主機
Host 就是我們的Client
2.
先 compile Kernel 加入 ( Provider, Host 都要)
device carp
3.
設定 rc.conf
設定 host
hostname=”hosta.example.org”
ifconfig_fxp0=”inet 192.168.1.3 netmask 255.255.255.0″ ## 原本的網卡設定
cloned_interfaces=”carp0″ ## carp 網卡
ifconfig_carp0=”vhid 1 advskew 10 pass testpass 192.168.1.50/24″ ## vhid 在host/provider 都要一致 pass 的部份 兩台也要一樣
設定 provider
hostname=”provider.example.org”
ifconfig_fxp0=”inet 192.168.1.5 netmask 255.255.255.0″
cloned_interfaces=”carp0″ ## provider 可以不只當做一台host 的 backup
ifconfig_carp0=”vhid 1 advskew 100 pass testpass 192.168.1.50/24″
## advbase
# This optional parameter specifies how often, in seconds, to advertise that we’re a member of the redundancy group.
# The default is 1 second. Acceptable values are from 1 to 255.
## advskew
# This optional parameter specifies how much to skew the advbase when sending CARP advertisements.
# By manipulating advskew, the master CARP host can be chosen.
# The higher the number, the less preferred the host will be when choosing a master. The default is 0.
# Acceptable values are from 0 to 254.
4.
重開機
Host 先重開,再重開Provider
Host 重開機完後應該會取得 192.168.1.50
Host 的 ifconfig 應會如下
carp0: flags=49
inet 192.168.1.50netmask 0xffffff00
carp: MASTER vhid 1 advbase 1 advskew 10
Provider 的 ifconfig 應會如下
carp0: flags=49
inet 192.168.1.50 netmask 0xffffff00
carp: BACKUP vhid 1 advbase 1 advskew 100
5.測試方法
在Master 的那台輸入
ifconfig carp0 down && ifconfig carp0 up
則Backup 應會變成Master
Master 會變Backup
ref.
http://www.freebsd.org/doc/en/books/handbook/carp.html