我在运行 Xen 的 OpenSuSE 11.3 上使用 Pacemaker+OpenAIS+Corosync,并尝试确定在共置 Xen domU 资源时看到的行为是否符合预期。
集群节点/dom0:xen01-primary xen01-secondary
Xen domUs / Pacemaker 资源:xen-db01 xen-db02
xen-db01 和 xen-db02 应该不是在同一个 dom0 上运行。Pacemaker 配置可以在http://pastebin.com/5NnPExkm但我有以下主机托管规则: colocation xen-db -inf: xen-db01 xen-db02
启动每个 Xen 资源后,crm_mon 的输出位于http://pastebin.com/vX85TLTP.下面是对观察到的起搏器行为的简要描述。
编辑:由于完整的 cibadmin 输出可能会有帮助,因此我已将其发布在以下位置:http://pastebin.com/h38xCYby
启动第一个 domU 资源后,似乎在启动第二个 domU 资源时,Pacemaker 会尝试在同一个 dom0 上启动它们,然后将其中一个迁移出去。请注意 xen-db01 最初位于 xen01-primary 上,而启动 xen-db02 时,xen-db01 会移动到 xen01-secondary,然后它尝试移回 xen01-primary,但失败了。另外,我很好奇启动第二个 domU 后 crm_mon 输出中显示的错误是否正常。
我有点怀疑这就是它应该如何工作,但在做得太深入之前我想先确定一下。
谢谢,
肯德尔
答案1
好吧,这就是你没有仔细阅读手册时发生的事情。colo 约束
colocation xen-db -inf: xen-db01 xen-db02
意味着 xen-db01 将相对于 xen-db02 放置。因此,实际上我应该先启动 xen-db02,然后再启动 xen-db01。执行
crm resource start xen-db02
crm resource start xen-db01
正常启动资源,将它们放置在相对的节点上,并且无需任何来回迁移。
感谢 Florian Haas 指出这一点。