keepalived和corosync有什么区别,其他的?

hoo*_*enz 11 linux high-availability

我正在为服务器集群构建故障转移防火墙并开始查看各种选项。我对freebsd上的carp比较熟悉,但是这个项目需要使用linux。

搜索 google 产生了几个不同的项目,但没有关于它们提供的功能的明确信息。CARP 为虚拟接口提供了故障转移功能,我不太清楚这是 corosync 的作用,还是起搏器的作用?

另一方面,我确实设法让 keepalived 工作。但是,我注意到 corosync 为 infiniband 提供了本机支持。这对我很有用。

也许有人可以阐明以下之间的差异:

  1. 同步
  2. 活着
  3. 起搏器
  4. 心跳

哪种产品最适合路由器故障转移?

编辑:所以我锻炼了一点......

Pacemaker 是可以使用 Corosync & Pacemaker 的更大项目。似乎 Corosync & Heartbeat 基本上做同样的事情。所以你选择其中之一。

Heartbeat 似乎是一个较旧的项目,但仍在进行中。

另一方面,Keepalive 是一个完全不同的项目,它实现了 VRRP 协议。它具有比其他酒糟的特征。它似乎仍然被广泛使用,但缺少最近的文档。

不幸的是,关于防火墙/路由器故障转移的例子很少。有没有人找到一些不错的方法?我找到了一篇用西班牙语写的。

小智 15

这是我在决定 keepalived 和 heartbeat 时使用的一般经验法则。

当您想要真正的活动/备用集群设置(其中只有一个节点实际“启动”)时,通常会使用 Heartbeat。想想 NFS。通常带有 Heartbeat 前和后脚本操作用于启动和停止服务。

Keepalived 更简单,通常用于热备使用(即以冗余方式保持服务运行。)

我已经成功使用 keepalived 的一个很好的使用示例是冗余 Nginx 负载均衡器。在这种情况下,如果一个节点出现故障,“浮动 ip”将转移到备份节点。

Keepalived 很简单,但它允许您创建自己的检查脚本(这将触发故障转移等)一些信息:https : //tobrunet.ch/2013/07/keepalived-check-and-notify-scripts/

哪种最适合您取决于您​​的情况:keepalived 非常适合路由器故障转移。