build立 我目前正在使用Pacemaker + Corosync工作的2节点HA集群。 我的节点运行在Debian 8(Jessie)上。 现在,当集群发生更改(资源停止/启动,升级/降级,移动…)时,我将能够得到通知。 由于电子邮件报告是如此,2008年,我想使用Slack。 为此,我创build了一个脚本,使用curl将消息发布到我的团队的Slack频道,使用Slack的webhook 。 我的脚本使用了这里logging的环境variables: Pacemaker – 7.3。 通过外部代理configuration通知 。 该脚本在shell中手动执行时可以正常工作,并且能够在指定的通道上发布。 它也logging到/var/log/ocf-notifier.log 。 问题 基于这个答案 ,我使用Pacemaker的ocf:pacemaker:ClusterMon创build了一个新的资源ocf:pacemaker:ClusterMon资源代理,它调用我的自定义脚本( /usr/local/bin/ocf-notifier )。 但是我注意到,当节点发生更改时(尝试停止资源以及完全closures节点),根本不调用我的脚本。 所以我试图用手工启动crm_mon ,如下所示: $ crm_mon -Arf –interval=2 -E /usr/local/bin/ocf-notifier -e '@jordan' 看看是否可以通过与另一个shell一起玩群集来触发这个事情。 事实certificate, crm_mon能够看到集群中发生的变化(节点脱机,资源被停止/启动…),但我的自定义脚本从来没有眨眼之间。 我的自定义日志文件保持空白,Slack中没有任何内容,因为我相信这个脚本根本就没有被调用。 TL; DR crm_mon不会在集群事件上调用外部代理,因为它应该与-E选项一起使用。 我究竟做错了什么?
尝试使用Hetzner作为托pipe提供程序来实现双节点故障转移群集时,遇到以下问题。 我的corosync.conf如下: # Please read the corosync.conf.5 manual page compatibility: whitetank totem { version: 2 secauth: off interface { member { memberaddr: 144.76.91.XXX } member { memberaddr: 5.9.121.XXX } ringnumber: 0 bindnetaddr: 5.9.121.0 mcastport: 5405 ttl: 1 } transport: udpu } logging { fileline: off to_logfile: yes to_syslog: yes debug: on logfile: /var/log/cluster/corosync.log debug: off […]
我想知道Corosync消息传递软件中多播地址的用途: 由于我们必须将每个networking接口与IP地址和特定端口绑定,并且每个环通过这些IP进行通信, 我不明白为什么我们还必须使用多播地址。 有人可以开导我吗? 谢谢 ! [编辑] 好的,但是当我评论多播地址时,corosync无法启动: [MAIN ] parse error in config: No multicast address specified 这里是我的configuration文件,我从头开始使用指南集群来configuration解决scheme,大部分设置都是默认值。 totem { version: 2 token: 3000 token_retransmits_before_loss_const: 10 join: 60 consensus: 3600 vsftype: none max_messages: 20 clear_node_high_bit: yes secauth: off threads: 0 rrp_mode: passive interface { ringnumber: 0 bindnetaddr: 10.55.54.1 mcastaddr: 226.97.1.2 mcastport: 5409 } interface […]
我在CentOS 7上的corosync堆栈上运行了两个起搏器集群,所有软件包都与发行版/更新软件包保持最新。 两个集群都显示没有命令pcs status集群名称:像这样: 集群名称: 最后更新:2014年11月3日星期一09:55:58 最后更改:2014年10月31日星期五11:09:22通过烧杯上的cibadmin 堆栈:corosync 当前DC:踏板车(2) – 与法定人数的分区 版本:1.1.10-32.el7_0.1-368c726 5节点configuration 21资源configuration /etc/corosync/corosync.conf的totem部分中有一个cluster_name:条目,但我在起搏器CIB中找不到与集群名称相关的任何内容。 群集是使用pcs cluster setup –name clustername node1 node2 node3 node4 node5创build的 – 名称群集名称pcs cluster setup –name clustername node1 node2 node3 node4 node5 (群集名称是群集的预定名称)。 /etc/corosync/corosync.conf是世界上可读的,以及它上面的目录。
我正在使用2个根服务器和1个fail-over-ip的设置(在我们的临时系统上)。 作为软件,我们使用corosync和起搏器。 Corosyncconfiguration为通过端口5405进行多播通信。 – >一切工作正常。 现在我想用failover-ip在2个根服务器上部署这个系统。 那么,组播通信将不起作用,因为根服务器不直接连接; 它们与路由器连接,位于不同的数据中心 现在我根据udpu支持更改了corosync.conf(如示例)。 我正在使用corosync v.1.4.1 corosync.conf: compatibility: whitetank totem { version: 2 secauth: off interface { member { memberaddr: AAAA } member { memberaddr: BBBB } ringnumber: 0 bindnetaddr:AAAA mcastport: 5405 } transport: udpu } logging { fileline: off to_stderr: no to_logfile: yes to_syslog: yes logfile: /var/log/cluster/corosync.log debug: off […]
我正在尝试添加一个Pacemaker虚拟IP地址; 与它,网关,和它在不同的子网上服务的两个虚拟机。 我以前只使用同一个子网上的所有IP,我需要一些帮助。 我在200.xx.xxx.9和200.xx.xxx.10上有两个虚拟机,下面是/etc/network/interfaces auto eth0 iface eth0 inet static address 200.xx.xxx.9 gateway 200.xx.xxx.9 netmask 255.255.255.255 post-up route add yy.yyy.yyy.1 dev eth0 post-up route add default gw yy.yyy.yyy.1 和 auto eth0 iface eth0 inet static address 200.xx.xxx.10 gateway 200.xx.xxx.10 netmask 255.255.255.255 post-up route add yy.yyy.yyy.1 dev eth0 post-up route add default gw yy.yyy.yyy.1 他们都在Pacemaker中出现,看起来好像在沟通。 两个/etc/corosync/corosync.conf文件中的bindnetaddr参数是: […]
我有两台服务器configurationdrbd,corosync与起搏器。 这一切都工作正常,主服务器获得次要的,如果失败,并辅助获取主要。 但是,如果第一台服务器在故障转移后重新启动,drbd将不会再次连接,我必须做一个 drbdadm连接所有 在现在的中学。 这里是从我做的所有inputserver1的日志( https://www.refheap.com/95997 ): root@server1:~# ifdown eth4 Jan 12 08:11:37 server1 kernel: [237958.935578] ixgbe 0000:04:00.0: removed PHC on eth4 Jan 12 08:11:43 server1 kernel: [237965.430849] cib[2877]: segfault at 0 ip 00007f7d342c8aca sp 00007fffaba39e58 error 4 in libc-2.19.so[7f7d34247000+19f000] Jan 12 08:11:44 server1 kernel: [237966.427423] crmd[2878]: segfault at 0 ip 00007eff7d291aca sp 00007fffaae51538 […]
我试图启用故障转移策略,在两台运行由VritualBox创build的openSUSE 12的虚拟机上进行mysql Master-Master复制时使用pacemaker。 我设法完成MySQL双主复制,它似乎工作。 服务器A的IP为192.168.Xb ,服务器B的IP为192.168.Xb 我遵循这里的指令,所以基本上我的corosync.conf看起来像指南中介绍的,除了下面写的接口部分: interface { ringnumber: 0 bindnetaddr: 192.168.Xc mcastaddr: 226.94.1.1 mcastport: 5405 ttl: 1 } 我的第一个问题是:什么是bindnetaddr: 它是我的群集的虚拟IP吗? 如果不是,它应该是其他节点的IP还是它自己的IP? (我的意思是服务器的IP有这个configuration或其他服务器) 我的第二个问题是:什么是mcastaddr和mcastport ,他们应该设置什么? 然后我尝试添加MySQL作为资源,所以我按照这里所述做了 。 但是当我inputcrm configure primitive ip_mysql ocf:heartbeat:IPaddr2 params ip="192.168.Xc"我得到 crm configure primitive ip_my ocf:heartbeat:IPaddr2 params ip='192.168.114.8' crm_verify[23888]: 2012/12/29_12:25:51 WARN: cluster_option: Using deprecated name 'stonith_enabled' for cluster option 'stonith-enabled' Warnings […]
我正在将Heartbeat + Pacemaker安装到openSUSE 12.1。 事实certificate,Heartbeat 不再支持这个平台,因此它不能从官方回购。 切换到Corosync不是一个真正的问题,但我很好奇为什么做出这个特定的决定。 是心跳折旧还是这是一个发行特定的维护问题? 在HA环境中使用Corosync作为消息传递层有什么好处?
我的集群中有两个节点,drbd + pacemaker + corosync当第一个节点出现故障时,第二个节点假定服务正常,但是当我们必须执行故障回复(node1回到在线状态)时,它会显示一些错误,并且集群停止工作。 这是一个内核为2.6.32-504.12.2.el6.x86_64的CentOS 6集群和这些软件包: kmod-drbd83-8.3.16-3,drbd83-utils-8.3.16-1,corosynclib-1.4.7-1,corosync-1.4.7-1,pacemaker-1.1.12-4,pacemaker-cluster-libs- 1.1.12-4,pacemaker-libs-1.1.12-4,pacemaker-cli-1.1.12-4。 Drbdconfiguration: resource r0 { startup { wfc-timeout 30; outdated-wfc-timeout 20; degr-wfc-timeout 30; } net { cram-hmac-alg sha1; shared-secret sync_disk; max-buffers 512; sndbuf-size 0; } syncer { rate 100M; verify-alg sha1; } on XXX2 { device minor 1; disk /dev/sdb; address xx.xx.xx.xx:7789; meta-disk internal; } on XXX1 […]