Articles of corosync

是否可以防止pcs / dlm / crm在节点失败时屏蔽该节点?

是否可以防止pcs / dlm / crm在节点失败时屏蔽该节点? 我只使用集群来构buildGFS2存储,并有我自己的方式来避免裂脑。 所以我不需要诸如fence和dlm-locks之类的东西。 我尝试在CentOS7中通过以下方式configurationon-fail操作:使用pcs resource update dlm/clvmd/gfs2_res op monitor onfail=ignore并编辑文件/etc/corosync/dlm_cfg ,编辑on-fail="ignore"并重启所有节点。 重启后,我可以从pcs cluster cib检查,所有的“fence”都变成了“ignore” 但是当我杀死一个节点中的corosync时,另一个节点仍然试图去阻止它,就像从消息日志中看到的那样。 3月5日10:37:10 node0 stonith-ng [1733]:notice:remote_op_done:node3对node3的操作重启为[email protected]:没有这样的设备 3月5日10:37:10 node0 crmd [1739]:notice:tengine_stonith_notify:对于node3,Peer3没有被node3终止(重新启动):客户端stonith_admin没有这样的设备(ref = a7be5018-4894-4de2-9273-8867d034d7af)。 controld.24862 我只是想知道是否有办法完全避开围栏? 这只是给我的系统带来了很多麻烦。

如何让Corosync / pcs控制nginx?

伙计们, 我试图用多个运行nginx的虚拟机来replace单个老化负载均衡器。 然而,在我安装了centos 7和nginx之后,我意识到心跳已经被弃用了。 所以我开始着眼于corosync和pcs来设置和pipe理HA群集。 我在集群中设置节点,并为每个我想使用的webapp添加一个虚拟ip的资源。 当我检查状态时,问题变得明显 [root@vlb1 nginx]# pcs status Cluster name: webapps Last updated: Thu Mar 5 21:27:03 2015 Last change: Thu Mar 5 16:43:22 2015 via cibadmin on vlb1.domain.com Stack: corosync Current DC: vlb2.domain.com (2) – partition with quorum Version: 1.1.10-32.el7_0.1-368c726 2 Nodes configured 2 Resources configured Online: [ vlb1.domain.com vlb2.domain.com ] […]

在启动时启动Corosync 2.X + Pacemaker 1.1集群(Debian Wheezy)

我找不到在Debian启动时启动群集(corosync + pacemaker)的方法 我在两个节点上使用以下configuration更新了2节点群集: Debian Wheezy 7.7 Corosync v2.3.4 起搏器v1.1.12 Libqb v0.17.1 Cluster-glue v1.0.12 资源代理v3.9.6 crmsh v2.1.0 我已经安装了来自Source的集群软件,在Clusterlabs for Jessie上编译Compiling_on_Debian指南。 在安装之前,我确定没有老的corosync或起搏器的依赖关系。 在所有的configuratins我已经开始corosync和起搏器 /etc/init.d/corosync start /etc/init.d/pacemaker/start 群集已启动并正在运行,但是我无法在启动时find启动群集的方法 我已经尝试添加init.d脚本运行级别,但我得到这个响应,没有任何效果(没有符号链接创build)corosync root@PC:~# update-rc.d corosync defaults update-rc.d: using dependency based boot sequencing 和起搏器上的这个错误 root@PC:~# update-rc.d pacemaker defaults update-rc.d: using dependency based boot sequencing insserv: Service corosync has to be enabled […]

SLES 12高可用性群集 – scsi持续预留防护

我正在试用SLES 12 w / HAE来运行由两个节点组成的文件服务器群集。 想法是使用SCSI持久预留作为使用stonith fence代理的fence_scsi脚本的防护方法。 两个节点(a,b)通过FC连接到同一个LUN,然后通过NFS从主动节点导出。 问题是与fence_scsi crm失败/抱怨nodename /键没有提供。 primitive storage-fence stonith:fence_scsi \ params action=off devices="/dev/mapper/mpath_test" \ op monitor interval=60s timeout=0s 我结束了: storage-fence_start_0 on fs009a 'unknown error' (1): call=18, status=Error, last-rc-change='Wed Jun 17 00:51:40 2015', queued=0ms, exec=1093ms storage-fence_start_0 on fs009b 'unknown error' (1): call=18, status=Error, last-rc-change='Wed Jun 17 00:56:42 2015', queued=0ms, exec=1101ms 和 […]

在Pacemaker集群中,是否有任何方式来设置每个资源的启动失败是致命的?

目前我已经将它设置为集群范围,但是我真的很喜欢将其设置为“true”,而对于只有我的Slave DRBD资源,则设置为false。 使用Pacemaker 1.1.12和Corosync 1.4.8。

待机节点是否参与/投票仲裁 – 起搏器 – Corosync – 第三仲裁只有节点

我正在设置一个简单的第三个虚拟机来join我的HA集群。 此虚拟机不应该运行任何服务,除非参与法定投票。 在Galera集群中有一个很好的守护进程,但是对于Pacemaker来说,它似乎是通过约束来完成的,这意味着我必须手动configuration所有内容,而不是在第三个节点上运行。 这似乎矫枉过正,过于复杂。 我想知道是否可以让一个节点在待机模式下join集群,这将简化这个过程,并作为第三个法定节点工作。 与Pacemaker / Corosync等情况变得更加复杂,所有不同的堆栈存在,我想知道如果一个新的简化的方法已经发展,深埋在谷歌。 我正在使用configurationPCSD的CentOS 7进行configuration。 (这是伟大的,除了很多指南使用CRM等) 在Pacemaker HA群集设置中的简单第三台虚拟机上进行Quorom投票的任何build议?

crm资源清理命令在PC?

在起搏器configuration系统中是否有替代的crm resource cleanup <rsc>命令crm resource cleanup <rsc> ? 我从电脑状态得到以下错误信息,并在不同的网站上发现,一个crm resource cleanup <rsc>可以解决问题。 如果没有其他的命令,是否有另一种方法来提供正确的资源? OS: CentOS 6.4 x86_64 Kernel: 2.6.32 pcs version: 0.9.26 个人身份: Stack: classic openais (with plugin) Current DC: drbd1 – partition with quorum Version: 1.1.8-7.el6-394e906 2 Nodes configured, 2 expected votes 5 Resources configured. Online: [ drbd1 drbd2 ] Full list of resources: […]

2个corosync节点不在线(一个脱机,一个在线)

我目前正在尝试基于本教程设置corosync: http://www.howtoforge.com/how-to-set-up-an-active-passive-postgresql-cluster-with-pacemaker-corosync-and-drbd-centos-5.5-p3 但是,我无法获得我的2个节点连接。 我有2个节点: data-master with IP address LAN: 10.0.0.122, Crossover: 172.16.0.1 data-slave with IP address LAN: 10.0.0.123, Crossover: 172.16.0.2 这是我的/etc/corosync/corosync.conf(与本教程完全相同): 兼容性:whitetank totem { version: 2 secauth: off threads: 0 interface { ringnumber: 0 bindnetaddr: 10.0.0.0 mcastaddr: 226.94.1.1 mcastport: 4000 } } logging { fileline: off to_stderr: yes to_logfile: yes to_syslog: yes logfile: /tmp/corosync.log debug: […]

Corosyncdynamic添加节点

我一直在尝试与心脏起搏器和Corosync HA设置。 我把它安装在两个Ubuntu 14.04 Linode上,经过了很多过时的configuration例子和教程,设法启动并运行。 这主要是因为我必须将它设置为使用UDP单播才能工作(组播和广播不能在Linode的networking上工作) 两个节点都能够看到对方,并且能够检测到另一个节点的状态。 大! 现在我想尝试在集群运行的时候添加第三个节点,所以我要去寻找一些命令来这样做…不…不…这个看似重要而简单的动作是,尽我所能告诉,不可能用一个简单的命令。 要添加节点,您必须将其添加到每个节点的configuration中,然后closures群集,重新加载并重新启动。 高可用性超出了窗口。 dynamic添加我能find的节点的唯一方法是在cmap_keys(8)之下。 我必须先运行一个命令来查找下一个空闲的节点ID。 然后,对于群集中的每个节点,手动将其添加到nodelist.node.x.ringy_addr,依此类推。 即使在重启之后,我也必须手动更新每个configuration文件。 那么我必须复制新的configuration文件到新的节点,并启动它。 可以连接到集群中的任何节点,发出改变现有节点的命令,并添加资源,这些资源将在所有节点之间同步。 但是我不能以同样的方式添加一个新节点? 请有人告诉我,我只是在使用Googlesearch的信息不好,并且有一个简单的命令来添加新的节点,在运行中的HA集群。 有没有我忽略的工具或方法? 感谢您的时间!

将主节点降为从节点时获取运行特定资源的节点的IP地址

build立 我正在为具有2个节点(2个物理服务器)的Web应用程序设置HA群集: node1(当前master节点) node2(当前slave节点) 使用Corosync&Pacemaker我能够创build群集和一些资源代理,包括IP故障转移和Web服务器(apache)。 资源 Failover资源一次仅存在于一个节点上 使用python脚本对我的主机提供商进行API调用,以更新IP故障转移目标 WebServer资源在每个可用节点上都存在(作为克隆) 标准的OCF资源使用Apache的server-status处理程序 约束 有一个约束,说Failover和WebServer必须同时在服务器上运行,以便将其视为可用。 问题 现在我想创build一个自定义资源代理(就像我为IP故障转移所做的那样),它将: 将当前从节点的mysql实例切换到主节点 将当前主节点的mysql实例切换到新主节点的从节点 Redis实例基本上是一样的 理想情况下,资源将仅在一个节点( 主节点)上启动,并在所有其他节点( 从节点)上停止。 因此,启动资源会将当前节点置于master模式,并停止将其置于slave模式。 我做了一个脚本,可以轻松实现所有这些操作。 这是如何工作的。 以主模式打开本地节点: # /usr/local/bin/db_failover_switch.sh master 在从属模式下打开本地节点: # /usr/local/bin/db_failover_switch.sh slave 123.45.67.89 大纲很简单明白。 我面临的问题是,我显然需要设置主IP以使从服务器相应地configurationMySQL和Redis服务。 TL; DR 在故障转移的情况下,我想: 资源在节点2上成为master节点 资源在节点1上成为slave节点 为了停止资源(即将其设置为从属模式),我需要知道正在运行资源的节点的IP地址(主机名将执行)。 有没有一种方法可以让我的dynamic参数Pacemaker将传递给我的资源代理? 或者,也许我可以直接从我的资源代理脚本检索群集信息,以知道哪个节点运行特定的资源?