首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >心脏搏动、心脏起搏器和CoroSync的替代品?

心脏搏动、心脏起搏器和CoroSync的替代品?
EN

Server Fault用户
提问于 2011-06-02 03:16:00
回答 9查看 41K关注 0票数 27

除了典型的心跳/心脏起搏器/CoroSync组合之外,在Linux上有什么主要的自动故障转移选择吗?特别是,我在EC2实例上设置故障转移,它只支持单播--不支持多播或广播。我正在特别地尝试处理我们所拥有的几个软件,这些软件还没有自动故障转移,并且不支持多主环境。这包括像HAProxy和Solr这样的工具。

我有Heartbeat+Pacemaker工作,但我对此并不感兴趣。以下是我的一些问题:

  • 心跳本身,仅限于两个节点。我想要3+。
  • 起搏器-不可能自动配置。集群必须以法定量运行,然后仍然需要手动配置。
  • CoroSync -不支持单播。

起搏器工作很好,虽然它的力量使它很难安装。拍起搏器的真正问题是,没有一种简单的方法可以实现配置的自动化。我非常想启动一个EC2实例,安装主厨/傀儡,并在不需要我干预的情况下启动整个集群。

EN

回答 9

Server Fault用户

回答已采纳

发布于 2011-06-02 20:50:09

我更喜欢使用守住来实现高可用性.我发现设置(一个守护进程和配置)比心跳和陪伴更简单。我遇到的唯一缺点是,在默认情况下,保存没有单播选项,而且只使用VRRP进行通信(然而,HAProxy的作者编写了一个单播补丁来保存它)。

票数 17
EN

Server Fault用户

发布于 2011-07-03 07:39:43

实际上,我正在做一些与您描述的非常相似的事情(EC2上的一个故障转移集群),并且在尝试了Heart节拍之后,我决定将Corosync作为我的消息层。Cor产c将在多个服务器上运行,它支持Unicast (UDPU)的版本1.3.0 (来自2010年11月)。我已经在亚马逊的EC2云(使用亚马逊的Linux )上安装和测试了Cor产c,并且可以确认它没有问题地工作。

一个示例udpu文件安装到/etc/cor产c。

将一个成员块添加到每个节点的接口部分,并将传输指定为updu。(在下面的示例中,我使用了与心跳相同的端口,但您可以根据需要更改它)。

例如:

代码语言:javascript
复制
totem {
        version: 2
        secauth: off
        interface {
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                ringnumber: 0
                bindnetaddr: 10.xxx.xxx.xxx
                mcastport: 694
        }
        transport: udpu
}

(心跳应该支持3+节点集群的1.2.3+版本,尽管我从未亲自尝试过,也不知道它是否适用于Unicast)。

票数 14
EN

Server Fault用户

发布于 2011-06-17 07:25:24

抱歉,但关于心脏起搏器的那部分不是真的。起搏器回归和发布测试广泛地使用了自动化。

若要在没有活动群集的情况下进行配置,请在所有命令前面加上CIB_file=/var/lib/heartbeat/crm/cib.xml或在您的环境中设置它。只需确保在启动群集之前删除.sig文件。

对于没有仲裁的集群,大多数(如果不是所有的话)工具都应该支持-f--force,它们将指示集群无论如何接受更改。如果你找到一个没有-请提交一个错误。

票数 11
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/276170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档