Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 11 章 Pacemaker 规则

通过使用规则可以使您的配置更动态。规则的一个用法可能是根据时间将机器分配给不同的处理组(使用 node 属性),然后在创建位置约束时使用该属性。
每个规则都可以包含多个表达式、日期表达式甚至其它规则。表达式的结果根据规则的 boolean-op 字段合并,以确定规则最终评估为 truefalse。接下来的操作要看规则使用的上下文而定。

表 11.1. 规则的属性

描述
role
只有在资源位于该角色时才会应用该规则。允许的值: started、SlaveMaster。注意:带有 role="Master" 的规则无法确定克隆实例的初始位置。它只会影响哪些活跃的实例将会被提升。
分数
规则评估为 true 时要应用的分数。仅限于作为位置约束一部分的规则使用。
score-attribute
如果规则评估为 true,则要查找并用作分数的节点属性。仅限于作为位置约束一部分的规则使用。
boolean-op
如何组合多个表达式对象的结果。允许的值: .默认值为 and.

11.1. 节点属性表达式

节点属性表达式用于根据节点或节点定义的属性控制资源。

表 11.2. 表达式的属性

描述
attribute
要测试的节点属性
type
决定值应该如何进行测试。允许的值: 字符串整数version。默认值为 string
操作
执行的对比。允许的值:
* lt - 如果节点属性 的值小于值,则为 True
* gt - 如果节点属性 的值大于值,则为 True
* LTE - 如果节点属性的值小于或等于值,则为 True
* G TE - 如果节点属性的值大于或等于值,则为 True
* eq - 如果节点属性 的值等于值,则为 True
* ne - 如果节点属性的值不等于值,则为 True
* 已定义 - 如果节点具有命名属性,则为 True
* not_defined - 如果节点没有命名属性,则为 True
value
用户提供用于比较的值(必需)
除了管理员添加的任何属性外,集群还为每个节点定义特殊的内置节点属性,如 表 11.3 “内置节点属性” 所述。

表 11.3. 内置节点属性

名称描述
#uname
节点名称
#id
节点 ID
#kind
节点类型。可能的值有 cluster 、remotecontainer。对于使用 ocf:pacemaker:remote 资源创建的 Pacemaker 远程节点,以及 Pacemaker 远程客户机节点和捆绑包节点 的容器kind 的值是 remote
#is_dc
如果此节点是 Designated Controller(DC),则为 true,否则 为 false
#cluster_name
cluster-name 集群属性的值(如果设置)
#site_name
site-name node 属性的值(如果设置),否则与 #cluster-name相同
#role
此节点上相关的多状态资源的角色。仅在多状态资源的位置约束的规则内有效。