TLDR:查看主题行。现在来看看动机……
我们现有的一些集群在 Ubuntu 12.04LTS Precise Pangolin 上成功使用了 Heartbeat 3.0.5 和 Pacemaker 1.1.6。
$ man heartbeat | tail -1
Heartbeat 3.0.5 24 Nov 2009
$ man pacemaker | tail -1
Pacemaker 1.1.6 May 2014
它们用于crm configure
设置各种属性等等。
在我们的最新集群上,我们想要“升级”到 Ubuntu 14.04LTS Trusty Tahr。不幸的是,Trusty Tahr 默认附带 Pacemaker 1.1.10:
$ man heartbeat | tail -1
Heartbeat 3.0.5 24 Nov 2009
$ man pacemaker | tail -1
Pacemaker 1.1.10 September 2014
在此版本的 Pacemaker 中,运行crm configure property
会挂起,然后退出(30 秒后),并显示
$ crm configure property stonith-enabled=false
Call cib_apply_diff failed (-62): Timer expired
ERROR: could not patch cib (rc=62)
INFO: offending diff: <diff crm_feature_set="3.0.7">
<diff-removed>
<cib epoch="8"/>
</diff-removed>
<diff-added>
<cib crm_feature_set="3.0.7" validate-with="pacemaker-1.2" admin_epoch="1" epoch="9" num_updates="0" cib-last-written="Tue Jan 27 19:49:12 2015" update-origin="[REDACTED]" update-client="cibadmin"/>
</diff-added>
</diff>
此外,crm_mon -1
报告Current DC: NONE
和我们所有的五个节点都列为OFFLINE
;我不确定这是否相关,但我怀疑是相关的。
查看dmesg | tail
,我可以看到守护进程crmd
在运行crm
命令期间发生了段错误。
$ dmesg | tail
[REDACTED 9 OLD LINES]
[77926.020154] crmd[30900]: segfault at e8 ip 00007fdba24b6861 sp 00007fff57748e78 error 4 in libhbclient.so.1.0.0[7fdba24b4000+a000]
这是由于 pacemaker-1.1.10 中存在以下已知错误:http://notes.retrosnub.co.uk/post/84241160984/heartbeat-pacemaker-in-ubuntu-14-04
无论如何,这对我来说意味着 Pacemaker 1.1.10 完全无法与 Heartbeat 一起使用。
我们有两个选择:继续使用经验更少的 Pacemaker 1.1.11,或者退而求其次使用安全的 Pacemaker 1.1.6。(或者,当然,完全放弃 Heartbeat,但这似乎是一个更冒险的举动。)我们想减少损失并撤退。
我们可以一路退回到 Ubuntu 12.04LTS,但是(出于可能归结为“骄傲和惰性”的原因)我们宁愿坚持使用 Ubuntu 14.04。
在运行 Ubuntu 14.04 Trusty Tahr 的机器上安装 Pacemaker 1.1.6 的最简单方法是什么?是否有官方(apt-get install
able)发行版?如果没有,该怎么做?
如果能提供一步一步、可剪切粘贴的说明,我们将不胜感激。