第 15 章 使用节点属性配置特定于节点的值
Pacemaker 支持配置特定于节点的值,您可以使用 节点属性 指定该值。您可以使用节点属性跟踪与节点相关的信息。例如,您可以为每个节点有多少 RAM 和磁盘空间、每个节点使用什么操作系统,或者每个节点位于哪个服务器机房机架中定义节点属性。
节点属性有三个主要用途:
在用于集群配置的 Pacemaker 规则中
例如,您可以在每个节点上将名为
department
的节点属性设置为accounting
或IT
,具体取决于该节点专用于哪个部门。然后,您可以配置一个位置规则,以确保 accounting 数据库仅在department
设置为accounting
的服务器上运行。有关 Pacemaker 规则中节点属性表达式的详情,请参考 Pacemaker 规则。
在用于特定资源要求的资源代理中
例如,数据库资源代理可以使用一个节点属性来跟踪要在
promote
操作中使用的最新复制位置。在 Pacemaker 之外使用的外部脚本中,
例如,您可以为每个节点设置
data-center
和rack
属性,以供外部清单脚本使用。
定义一个节点属性
您可以使用 pcs node attribute 命令定义一个节点属性。节点属性有一个名称和值,对于每个节点可以有不同的值。
当您使用 pcs node attribute
命令定义节点属性时,node 属性是 permanent。即使集群在节点上重启了,永久节点属性也会保持它们的值。
您可以定义一个 临时节点 属性,该属性保存在 CIB 的 status 部分中,当集群在节点上停止时不会保留。有关定义临时节点属性的详情,请查看您系统上的 crm_attribute
(8)和 attrd_updater
(8)手册页。
流程
-
运行以下命令,为
node1
和node2
定义一个名为rack
的节点属性,为node1
的rack
属性设置值 1 ,为node2
的rack
属性设置值 2。
pcs node attribute node1 rack=1 pcs node attribute node2 rack=2
# pcs node attribute node1 rack=1
# pcs node attribute node2 rack=2