防止 Pacemaker 中特定节点的升级

防止 Pacemaker 中特定节点的升级

我有一个包含三个节点的 drbd +pacemaker 集群,其中一个仅是仲裁设备。我正在尝试配置起搏器资源,以便可升级的 drbd-resource 应该在所有三个设备上运行,但永远不应该在仲裁设备上升级。我尝试对资源设置位置限制,但这会导致pacemaker根本无法在仲裁设备上启动资源,因此drbd无法在故障转移时保持仲裁。

期望的状态是:

  • drbd 资源在所有三个节点上启动
  • drbd资源可推广
  • 起搏器永远不会推广法定设备

我在文档中找不到任何内容,但我设想的是像“不在设备 X 上升级”这样的参数,我在 drbd 资源中错过了该参数。

答案1

使用简单的位置约束不足以完成此任务。 Pacemakerrules可以处理所需的更高级表达式。

根据 RHEL/Pacemaker 版本,以下规则之一应该适合您:

# pcs constraint location <clone> rule role=promoted score=-INFINITY node eq <quorum-node-name>

# pcs constraint location <clone> rule role=master score=-INFINITY node eq <quorum-node-name>

相关内容