除了典型的心跳/心脏起搏器/CoroSync组合之外,在Linux上有什么主要的自动故障转移选择吗?特别是,我在EC2实例上设置故障转移,它只支持单播--不支持多播或广播。我正在特别地尝试处理我们所拥有的几个软件,这些软件还没有自动故障转移,并且不支持多主环境。这包括像HAProxy和Solr这样的工具。
我有Heartbeat+Pacemaker工作,但我对此并不感兴趣。以下是我的一些问题:
起搏器工作很好,虽然它的力量使它很难安装。拍起搏器的真正问题是,没有一种简单的方法可以实现配置的自动化。我非常想启动一个EC2实例,安装主厨/傀儡,并在不需要我干预的情况下启动整个集群。
发布于 2011-06-02 20:50:09
我更喜欢使用守住来实现高可用性.我发现设置(一个守护进程和配置)比心跳和陪伴更简单。我遇到的唯一缺点是,在默认情况下,保存没有单播选项,而且只使用VRRP进行通信(然而,HAProxy的作者编写了一个单播补丁来保存它)。
发布于 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。(在下面的示例中,我使用了与心跳相同的端口,但您可以根据需要更改它)。
例如:
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)。
发布于 2011-06-17 07:25:24
抱歉,但关于心脏起搏器的那部分不是真的。起搏器回归和发布测试广泛地使用了自动化。
若要在没有活动群集的情况下进行配置,请在所有命令前面加上CIB_file=/var/lib/heartbeat/crm/cib.xml或在您的环境中设置它。只需确保在启动群集之前删除.sig文件。
对于没有仲裁的集群,大多数(如果不是所有的话)工具都应该支持-f或--force,它们将指示集群无论如何接受更改。如果你找到一个没有-请提交一个错误。
https://serverfault.com/questions/276170
复制相似问题