Pacemaker:迁移资源而不在配置中添加“首选”行

Bre*_*bad 6 migration resources pacemaker

在 2 个节点的主/从配置中使用起搏器。
为了执行一些测试,我们希望将 master 角色从node1切换到node2,反之亦然。例如,如果当前主节点node1,则执行

# crm resource migrate r0 node2
Run Code Online (Sandbox Code Playgroud)

确实将资源移动到node2。然后,理想情况下,

# crm resource migrate r0 node1
Run Code Online (Sandbox Code Playgroud)

将迁移回node1。问题是migrate在配置中加了一行来执行切换

location cli-prefer-r0 r0 role=Started inf: node2
Run Code Online (Sandbox Code Playgroud)

为了迁移回来,我必须首先删除该行...

有没有更好的方法将主节点从一个节点切换到另一个节点?

小智 6

我知道这有点老了;但似乎没有人满意地回答这个问题,并且请求者从未发布他的问题是否解决了。所以这里有一个解释。

当您执行:

# crm resource migrate r0 node2
Run Code Online (Sandbox Code Playgroud)

一个cli-prefer-*规则被创建。

现在,当您想将 r0 移回 node1 时,您不要这样做:

# crm resource migrate r0 node1
Run Code Online (Sandbox Code Playgroud)

但你执行:

# crm resource unmigrate r0
Run Code Online (Sandbox Code Playgroud)

自动使用umigrateunmove摆脱cli-prefer-*规则。

如果您尝试在集群配置中手动删除此规则,集群中会发生非常糟糕的事情,或者至少在我的情况下发生了糟糕的事情。