Show Table of Contents
第 8 章 高级资源类型
本章介绍了 Pacemaker 支持的高级资源类型。
8.1. 资源克隆
可以克隆某个资源,以便其在多个节点中处于活跃状态。例如:可以使用克隆的资源配置一个 IP 资源的多个实例,以便在整个集群中分布,保持节点平衡。可以克隆提供资源代理支持的任意资源。一个克隆包括一个资源或一个资源组。
注意
只有能够同时在多个节点中处于活跃状态的资源适合克隆。例如:不应克隆共享内存设备中挂载非集群文件系统(比如
ext4)的 Filesystem 资源。因为集群无法识别 ext4 分区,这个文件系统不适合同时在多个节点中进行读取/写入操作。
8.1.1. 创建及删除克隆的资源
使用以下命令同时创建并克隆某个资源。
pcs resource create resource_id standard:provider:type|type [resource options] \ --clone [meta clone_options]
克隆的名称将是
resource_id-clone。
不能使用单一命令创建并克隆资源组。
另外,还可以使用以下命令克隆之前创建的资源或资源组。
pcs resource clone resource_id | group_name [clone_options]...
克隆的名称为
resource_id-clone 或 group_name-clone。
注意
只需要在一个节点中执行资源配置变更。
注意
配置限制时永远使用该组或克隆的名称。
创建资源克隆时,该克隆会沿用该资源的名称,并在该名称中附加
-clone 字样。以下命令可创建 apache 类型资源,名为 webfarm,并克隆该资源,将其命名为 webfarm-clone。
# pcs resource create webfarm apache clone
使用以下命令删除资源或资源组克隆。这不会删除该资源或资源组本身。
pcs resource unclone resource_id | group_name
有关此选项的详情请查看 第 5.1 节 “创建资源”。
表 8.1 “资源克隆选项” 论述了可为克隆的资源指定的选项。
表 8.1. 资源克隆选项
| 项 | 描述 |
|---|---|
priority, target-role, is-managed
|
从克隆的资源中继承的选项,如 表 5.3 “资源元数据选项” 所述。
|
clone-max
| |
clone-node-max
| |
notify
| |
globally-unique
|
每个克隆副本的功能是否有所不同?允许值为:
false,true
如果这个选项的值为
false,这些资源会在运行时有完全相同的行为,因此每台机器中只需要有一个克隆副本即可。
如果这个选项值为
true,一台机器中运行的克隆副本就与另一个实例不相当,无论该实例是在另一个节点中运行,还是在同一节点中运行。如果 clone-node-max 大于 1,则默认值为 true,否则默认值为 false。
|
ordered
| |
interleave
|
8.1.2. 克隆限制
在大多数情况下,每个克隆在每个活跃集群节点中都有一个副本。但也可以将资源克隆的
clone-max 设定为小于该集群中的节点总数。在这种情况下,可使用资源位置限制选择集群应为哪些节点首先分配副本。这些限制的编写与那些用于常规资源的限制没有什么不同,只是必须使用该克隆的 id。
以下命令可为集群生成位置限制,以便首选将资源克隆
webfarm-clone 分配给 node1。
# pcs constraint location webfarm-clone prefers node1
克隆的排序限制行为稍有不同。在下面的示例中,
webfarm 会等到所有要启动的克隆副本都完成后方开始执行。只有在没有副本可启动时,方可防止 webfarm 启动。另外,克隆将在其停止前等待 webfarm 停止。
# pcs constraint order start webfarm-clone then webfarm
克隆与常规(或组)资源共置表示该资源可在有该克隆活跃副本的任意机器中运行。集群将根据该克隆所运行的位置,以及该资源自身位置属性选择副本。
还可以配置克隆共置。在此类情况下,将一组克隆允许的位置限制为克隆处于活跃状态或将处于活跃状态的节点。然后根据常规执行分配操作。
以下命令创建一个节点共置限制,以保证资源
webfarm 在其克隆的同一节点中运行。
# pcs constraint colocation add webfarm with webfarm-clone8.1.3. 克隆粘性
要取得稳定的分配模式,默认情况下克隆会有一些粘性。如果没有为
resource-stickiness 分配任何数值,则该克隆将使用数值 1。请使用较小的数值,这样对其他资源的 score 计算影响较小,但也足以防止 Pacemaker 在集群中进行不必要的副本移动。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.