org*_*gie 27 linux high-availability heartbeat pacemaker corosync
除了典型的 Heartbeat/Pacemaker/CoroSync 组合之外,在 Linux 上是否还有其他主要的自动故障转移替代方案?特别是,我正在 EC2 实例上设置故障转移,它只支持单播 - 没有多播或广播。我专门尝试处理我们拥有的少数软件,这些软件还没有自动故障转移功能并且不支持多主环境。这包括 HAProxy 和 Solr 等工具。
我有 Heartbeat+Pacemaker 工作,但我对此并不感到兴奋。以下是我的一些问题:
起搏器工作得很好,尽管它的功率使其难以设置。Pacemaker 的真正问题在于没有简单的方法来自动化配置。我真的很想启动一个 EC2 实例,安装 Chef/Puppet 并在没有我干预的情况下启动整个集群。
Jim*_*imB 17
我更喜欢使用keepalived来实现高可用性。我发现设置(一个守护进程和配置)比心跳和公司更简单。我遇到的唯一缺点是keepalived默认没有单播选项,并且只使用VRRP进行通信(HAProxy的作者已经为keepalived编写了一个单播补丁)
cyb*_*x86 14
我实际上正在研究与您所描述的非常相似的东西(EC2 上的故障转移集群),在尝试了 Heartbeat 之后,我选择了 Corosync 作为我的消息传递层。Corosync 将在多台服务器上运行,并且从 1.3.0 版(2010 年 11 月起)开始支持单播 (UDPU)。我已经在 Amazon 的 EC2 云(使用 Amazon 的 Linux AMI)上设置并测试了 Corosync,并且可以确认它可以正常工作。
示例 udpu 文件安装到 /etc/corosync。
为每个节点的接口部分添加一个成员块,并将传输指定为 updu。(我在下面的示例中使用了与 heartbeat 相同的端口,但您可以根据需要更改它)。
例如:
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
}
Run Code Online (Sandbox Code Playgroud)
(Heartbeat 1.2.3+版本应该支持3+节点集群,不过我个人没试过,不知道Unicast能不能用)。
小智 11
抱歉,关于 Pacemaker 的部分不是真的。Pacemaker 回归和发布测试广泛使用自动化。
要在没有活动集群的情况下进行配置,请为所有命令添加前缀CIB_file=/var/lib/heartbeat/crm/cib.xml或在您的环境中设置它。请确保在启动集群之前删除 .sig 文件。
对于没有仲裁的集群,大多数(如果不是全部)工具都应该支持-f或--force指示集群无论如何都要接受更改。如果您发现没有的工具 - 请提交错误。
| 归档时间: |
|
| 查看次数: |
38244 次 |
| 最近记录: |