Linux虚拟IP选项

Linux中似乎有很多选项可以为多个主机之间的故障转移提供虚拟IP。 我发现的一些是心跳,vrrpd,鲤鱼和keepalived。

在Linux中,我只有心跳的经验(并在思科使用过HSRP)。 当提供一个虚拟IP作为LAN上主机的网关时,这些不同的select是否有特别的优势。 我想要的一个function是跟踪另一个界面的能力。 例如,如果服务器A上的eth0和服务器B上的eth0共享虚拟IP,如果检测到eth1发生故障,我希望能够故障切换到另一台服务器。 我也想能够设置一个首选的主机。

我发现心跳的主要优点之一是能够定制它以具有多个监测点。 按照默认的推荐configuration,它在串行上行链路和networking监控之间有多个监控点。

例如,可以创build心跳资源脚本来监视守护进程,如果守护进程失败,则启动故障切换。

CARP是基于HSRP的,正如您所识别的那样监控界面。 这当然有一个地方,我喜欢技术,但根据服务器的angular色,你可能会发现心跳是有利的。

我认为可以这样说,即使是那些不支持这种协议的协议也可能会写一些脚本来模仿一些行为,这实际上就是我心跳所描述的。

虽然我从来没有使用过keepalived,但它似乎与ldirectord类似,因为它监视LVS主机并在出现故障时将其从VIP中移除。 我不认为这是与心跳或CARP完全一样的类别。

我们使用基于交换机/负载均衡器的VIP,基于服务可用性testing(例如httpget或类似方法)进行循环。 这将消除服务器的负担和责任 – 他们每个人都认为他们是唯一回应。 然后,对于我们的实际集群(Oracle,WebLogic,ZXTM等)来说,同样的模型是正确的,但是集群应用程序本身确保服务器彼此保持联系,但是面向客户端的IP仍然是“常规”的。 从本质上讲,我们从来没有find除“常规”IP之外的任何理由,但是我有兴趣知道您的计划用例。 哦,然后我们可以使用开关/ LB来定义哪些服务器在服务中。

故障转移很糟糕 – 你永远不知道它是否会工作,直到失败。 就像Chopper3一样,如果可能的话,我总是使用负载均衡。

C。