标签: pacemaker

Heartbeat、Pacemaker 和 CoroSync 的替代品?

除了典型的 Heartbeat/Pacemaker/CoroSync 组合之外,在 Linux 上是否还有其他主要的自动故障转移替代方案?特别是,我正在 EC2 实例上设置故障转移,它只支持单播 - 没有多播或广播。我专门尝试处理我们拥有的少数软件,这些软件还没有自动故障转移功能并且不支持多主环境。这包括 HAProxy 和 Solr 等工具。

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

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

起搏器工作得很好,尽管它的功率使其难以设置。Pacemaker 的真正问题在于没有简单的方法来自动化配置。我真的很想启动一个 EC2 实例,安装 Chef/Puppet 并在没有我干预的情况下启动整个集群。

linux high-availability heartbeat pacemaker corosync

27
推荐指数
3
解决办法
4万
查看次数

要使用哪个消息传递层,Heartbeat 还是 Corosync?

刚刚完成我对设置 Web 服务器集群的研究,但我仍未决定与 Pacemaker 一起使用哪个消息传递层。我使用的服务器都是 Fedora,所以这两层都可以通过 YUM 获得,两者都有很好的文档记录,据说可以很好地与 Pacemaker 配合使用。我无法找到的是关于哪个更好的意见。有没有人对这两种方法都有经验,并且对哪一种更好有偏好?是否有更大的社区支持基础?一个比另一个更稳定吗?或者这是一个随意的决定?

cluster heartbeat pacemaker

20
推荐指数
1
解决办法
1万
查看次数

如何在 2 节点主动/被动 linux HA 起搏器集群中设置 STONITH?

我正在尝试使用 corosync 和起搏器设置一个主动/被动(2 个节点)Linux-HA 集群来启动和运行 PostgreSQL 数据库。它通过 DRBD 和 service-ip 工作。如果节点 1 失败,节点 2 应该接管。如果 PG 在 node2 上运行并且失败,则相同。除了 STONITH 之外,一切正常。

节点之间是专用的 HA 连接(10.10.10.X),所以我有以下接口配置:

eth0            eth1            host
10.10.10.251    172.10.10.1     node1
10.10.10.252    172.10.10.2     node2
Run Code Online (Sandbox Code Playgroud)

Stonith 已启用,我正在使用 ssh-agent 进行测试以杀死节点。

crm configure property stonith-enabled=true
crm configure property stonith-action=poweroff
crm configure rsc_defaults resource-stickiness=100
crm configure property no-quorum-policy=ignore

crm configure primitive stonith_postgres stonith:external/ssh \
                params hostlist="node1 node2"
crm configure clone fencing_postgres stonith_postgres
Run Code Online (Sandbox Code Playgroud)

crm_mon -1 显示:

============
Last updated: Mon Mar 19 15:21:11 2012
Stack: openais …
Run Code Online (Sandbox Code Playgroud)

cluster high-availability drbd pacemaker

12
推荐指数
2
解决办法
4万
查看次数

为什么要在 Pacemaker 集群中禁用 DRBD

DRBD 文档(在将 DRBD 与 Pacemaker 集群集成部分)建议在 Pacemaker 集群中禁用 DRBD:

如果您正在使用 DRBD OCF 资源代理,建议您将 DRBD 启动、关闭、升级和降级专门推迟到 OCF 资源代理。这意味着你应该禁用DRBD初始化脚本:chkconfig drbd off

在 systemd 下,这相当于systemctl disable drbd.service.

尽管有此建议,但启用 DRBD 是否有任何危害?这个想法是启用 DRBD,但禁用 Corosync 和 Pacemaker,以便在集群节点出现故障并重新启动后,它将继续接收 DRBD 同步的数据,但将保持“被动”状态。这应该允许在故障节点重新进入集群之前对其进行分析,但同时仍将实时数据保存在两个集群节点上。该建议背后的理由是什么?

drbd pacemaker corosync

8
推荐指数
1
解决办法
1506
查看次数

MySQL:Pacemaker 无法将失败的 master 作为新的 slave 启动?

  • 起搏器-1.0.12-1
  • corosync-1.2.7-1.1

我将按照本指南为 MySQL 复制(1 个主和 1 个从)设置故障转移:https : //github.com/jayjanssen/Percona-Pacemaker-Resource-Agents/blob/master/doc/PRM-setup-guide .rst

这是输出crm configure show

node serving-6192 \
    attributes p_mysql_mysql_master_IP="192.168.6.192"
node svr184R-638.localdomain \
    attributes p_mysql_mysql_master_IP="192.168.6.38"
primitive p_mysql ocf:percona:mysql \
    params config="/etc/my.cnf" pid="/var/run/mysqld/mysqld.pid"
socket="/var/lib/mysql/mysql.sock" replication_user="repl"
replication_passwd="x" test_user="test_user" test_passwd="x" \
    op monitor interval="5s" role="Master" OCF_CHECK_LEVEL="1" \
    op monitor interval="2s" role="Slave" timeout="30s"
OCF_CHECK_LEVEL="1" \
    op start interval="0" timeout="120s" \
    op stop interval="0" timeout="120s"
primitive writer_vip ocf:heartbeat:IPaddr2 \
    params ip="192.168.6.8" cidr_netmask="32" \
    op monitor interval="10s" \
    meta is-managed="true"
ms ms_MySQL p_mysql \ …
Run Code Online (Sandbox Code Playgroud)

failover mysql-replication high-availability pacemaker corosync

7
推荐指数
1
解决办法
1万
查看次数

起搏器 DRBD 资源未在任何节点上提升为主节点

首先,我不是 linux 专家,我一直在学习教程并在 google 的帮助下工作,直到现在这都很好,但目前我遇到了一个问题。
我使用的是 CentOS 6.5 和 DRBD 版本 8.4.4。

我有两个运行起搏器的节点,到目前为止一切正常,我设置了 DRBD,我可以手动将一个节点设置为主节点并挂载 DRBD 资源,这样也可以正常工作。

现在我创建了一个起搏器资源来控制 DRBD,但它无法将两个节点中的任何一个提升为 master,这也阻止了它被挂载。

pcs 状态如下所示:

Cluster name: hydroC
Last updated: Wed Jun 25 14:19:49 2014
Last change: Wed Jun 25 14:02:25 2014 via crm_resource on hynode1
Stack: cman
Current DC: hynode1 - partition with quorum
Version: 1.1.10-14.el6_5.3-368c726
2 Nodes configured
4 Resources configured


Online: [ hynode1 hynode2 ]

Full list of resources:

 ClusterIP      (ocf::heartbeat:IPaddr2):       Started hynode1
 Master/Slave Set: MSdrbdDATA [drbdDATA]
     Slaves: [ hynode1 hynode2 …
Run Code Online (Sandbox Code Playgroud)

drbd pacemaker master-slave

7
推荐指数
1
解决办法
8704
查看次数

Pacemaker Active/Active haproxy 负载均衡

我正在使用 Haproxy 对复制的 mysql 主服务器进行负载平衡。我还使用 Heartbeat 和 Pacemaker 进行 Active/Active ip 故障转移,并在两个负载均衡器上使用两个虚拟 ip,以实现 Web 服务器的高可用性。我使用起搏器中的位置在每个负载均衡器上保留一个 VIP,我使用指向 VIP 的循环 DNS 域来负载均衡负载均衡器。到目前为止一切看起来都很好!

| LB1 : | 循环-->| 1.2.3.4 | 心跳起搏器 | 代理 | 192.168.1.1

          |           |           |             |         |
Run Code Online (Sandbox Code Playgroud)

| LB2 : | 循环-->| 5.6.7.8 | 心跳起搏器 | 代理 | 192.168.1.2

crm配置显示

node $id="394647e0-0a08-451f-a5bf-6c568854f8d1" lb1
node $id="9e95dc4f-8a9a-4727-af5a-40919ac902ba" lb2
primitive vip1 ocf:heartbeat:IPaddr2 \
    params ip="1.2.3.4" cidr_netmask="255.255.255.0" nic="eth0:0" \
    op monitor interval="40s" timeout="20s"
primitive vip2 ocf:heartbeat:IPaddr2 \
    params ip="5.6.7.8" cidr_netmask="255.255.255.0" nic="eth0:1" \
    op monitor …
Run Code Online (Sandbox Code Playgroud)

mysql failover load-balancing pacemaker haproxy

6
推荐指数
1
解决办法
6225
查看次数

资源传输前的 Pacemaker/corosync 超时

这似乎是一个简单的问题,但尽管多次查阅起搏器文档,我似乎还是找不到答案。

我已经使用起搏器设置了 corosync 以共享虚拟 IP。我想要做的就是在备份节点接管资源之前设置一个超时值。如果网络中断 <1-2 分钟,我希望起搏器继续正常运行,而不是触发故障转移,但如果中断超过一定数量,则将其切换。

资源超时 - 但这似乎是等待资源启动的超时,而不是整个集群的超时。

cluster timeout pacemaker corosync

6
推荐指数
1
解决办法
3242
查看次数

在最新的 Centos 6 中找不到 crm 命令(起搏器的集群管理)

我以前做过这样的设置,没有任何问题。现在我无法执行“crm 配置”,因为当前包中没有可用的 crm 命令。

我错过了什么吗?也许它被其他方式/命令取代?

[root@node1 src]# find / -name crm*|grep bin
/usr/sbin/crm_mon
/usr/sbin/crmadmin
/usr/sbin/crm_error
/usr/sbin/crm_shadow
/usr/sbin/crm_ticket
/usr/sbin/crm_failcount
/usr/sbin/crm_resource
/usr/sbin/crm_master
/usr/sbin/crm_diff
/usr/sbin/crm_attribute
/usr/sbin/crm_node
/usr/sbin/crm_simulate
/usr/sbin/crm_standby
/usr/sbin/crm_verify
/usr/sbin/crm_report
Run Code Online (Sandbox Code Playgroud)

linux centos heartbeat pacemaker linux-ha

6
推荐指数
1
解决办法
3万
查看次数

起搏器节点不干净(离线)

我正在关注http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Clusters_from_Scratch/_verify_corosync_installation.html文档以在 AWS 中设置 2 节点集群。两个节点都安装了起搏器并启用了 FW 规则。当我在两个节点上运行 pcs status 命令时,我收到消息说另一个节点是 UNCLEAN(离线)。

我设置的两个节点是 ha1p 和 ha2p。

ha1p 上的输出

[root@ha1 log]# pcs status
Cluster name: mycluster
WARNING: no stonith devices and stonith-enabled is not false
Last updated: Wed Dec 24 21:30:44 2014
Last change: Wed Dec 24 21:27:44 2014
Stack: cman
Current DC: ha1p - partition with quorum
Version: 1.1.11-97629de
2 Nodes configured
0 Resources configured


Node ha2p: UNCLEAN (offline)
Online: [ ha1p ]

Full list of resources:
Run Code Online (Sandbox Code Playgroud)

ha2p 上的输出 …

pacemaker

6
推荐指数
1
解决办法
3万
查看次数