34.11.共用地址冗余协议(CARP)
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
通过在 /boot/loader.conf 中添加 carp.ko 内核模块的条目,启用 CARP 的启动时支持:
要在不重启的情况下加载模块:
对于偏好使用自定义内核的用户,在自定义内核配置文件中包含以下行,并按 中的说明编译内核:
通过向 /etc/rc.conf 中添加条目来设置主机名、管理 IP 地址和子网掩码、共享 IP 地址以及 VHID。以下是 hosta.example.org
的示例:
下一组条目用于 hostb.example.org
。由于它是第二个主机,因此使用不同的共享 IP 地址和 VHID。但是,使用 pass
指定的密码必须相同,因为 CARP 只会监听和接受来自具有正确密码的机器的通告。
第三台机器 hostc.example.org
配置为从任意主机处理故障转移。该机器配置了两个 CARP VHIDs,一个用于处理每个主机的虚拟 IP 地址。CARP 通告延迟(advskew
)设置为确保备份主机的通告比主机稍后发出,因为 advskew
控制了当存在多个备份服务器时的优先级顺序。
配置两个 CARP VHIDs 后,hostc.example.org
将监控两个主机的状态。如果任何一个主机无法正常发送通告,备份服务器将接管共享 IP 地址,直到主机重新上线。
注意
完成配置后,可以重启网络服务或重启每台系统。高可用性现已启用。
如果原主机重新上线,hostc.example.org
不会自动将虚拟 IP 地址归还给它。为了实现这一点,必须启用抢占功能。该功能默认禁用,可以通过 变量 net.inet.carp.preempt
来控制。管理员可以强制备份服务器将 IP 地址归还给主机:
CARP 功能可以通过多种 变量进行控制,详细信息请参阅 手册页。其他操作可以通过使用 从 CARP 事件触发。