我想在两个系统之间使用 CARP,使用 VIP 地址,该 VIP 属于主系统。第二个系统充当备用系统,在第一个系统离线时接管 VIP。
两个系统都有两个接口,一个是公共接口,一个是内部接口。是否可以通过内部接口在两个系统之间运行 CARP,同时在外部接口上管理 VIP?这样,我就可以只使用一个公共地址,即 VIP 本身,而不需要两个额外的真实 IP。
答案1
一句话,不行。无论如何,这都是不明智的,因为如果两台主机都处于运行状态,但您意外断开了属于主服务器的外部接口,则不会强制进行故障转移,因为两台主机仍可以互相看到对方。
当设置carp(4)
接口时,您可以指定一个carpdev
用于传递 CARP 流量的接口,但是,它也是拥有 VIP 的接口,因此,您最终只会将公共 VIP 分配给内部接口,如果系统允许您做到这一点。
然而你能在未编号的接口上运行 CARP,因此您只需确保接口处于打开状态且没有任何 IP 分配地址,然后将单个 VIP 分配给您的carpN
接口。这意味着一台主机没有任何外部连接,这是需要单独解决的问题。