hosta.example.org
和 hostb.example.org
,有一个共享备份,名为 hostc.example.org
。hosta.example.org
:hostb.example.org
。由于它表示第二个主服务器,因此它使用不同的共享 IP 地址和 VHID。但是,然而,与 pass
一起指定的密码必须是相同的,因为 CARP 只会监听和接受来自具有正确密码的机器的广告。hostc.example.org
,被配置为处理来自任一主站的故障切换。这台机器配置了两个 CARPVHID,一个用于处理每个主控主机的虚拟 IP 地址。设置CARP通告 skew (advskew
) 是为了确保备份主机的通告时间晚于主主机,因为当有多个备份服务器时,advskew
控制优先级的顺序。hostc.example.org
将注意到。如果主服务器不能在备份服务器之前发布广告,备份服务器将获得共享的 IP 地址,直到主服务器再次变得可用。hostc.example.org
将不会自动释放虚拟 IP 地址给它。要做到这一点,必须启用抢占功能。该功能默认是禁用的,它通过 sysctl(8) 变量 net.inet.carp.preempt
来控制。管理员可以强制备份服务器将 IP 地址返回给主服务器。# ifconfig em0 vhid 1 state backup
/24
而不是 /32
。下面是 hosta.example.org
的条目。hostb.example.org
上hostc.example.org
配置为处理来自任一主主机的故障转移:hostc.example.org
可能不会将 IP 地址放回给原始内容服务器。管理员可以用命令强制备份服务器将 IP 地址返回给主服务器。# ifconfig carp0 down && ifconfig carp0 up