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

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

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

在谷歌上搜索后,出现了几个不同的项目,但没有关于它们提供的功能的明确信息。CARP 提供了故障转移的虚拟接口,我不太清楚这是 corosync 所做的,还是 pacemaker 所做的?

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

也许有人可以解释一下以下两者之间的区别:

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

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

编辑:所以我做了更多的锻炼……

Pacemaker 是可以使用 Corosync 和 Pacemaker 的大型项目。Corosync 和 Heartbeat 似乎基本上做同样的事情。因此您可以选择其中一个。

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

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

不幸的是,对于防火墙/路由器故障转移,示例很少。有人找到一些不错的操作指南吗?我找到了一份用西班牙语写的。

答案1

这是我在 keepalived 和 heartbeat 之间做出选择时使用的一般经验法则。

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

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

我成功使用 keepalived 的一个好例子是用于冗余 Nginx 负载均衡器。在这种情况下,如果某个节点发生故障,“浮动 IP”将移至备份节点。

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

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

答案2

你看过乌卡普? 我们使用它的目的与您在我们的 Linux 防火墙上计划的目的相同。

相关内容