Red Hat Training

A Red Hat training course is available for RHEL 8

第 17 章 创建在多个节点上活跃的集群资源(克隆的资源)

您可以克隆集群资源,以便在多个节点上激活该资源。例如,您可以使用克隆的资源配置 IP 资源的多个实例来分布到群集中以进行节点均衡。您可以克隆资源代理支持的任何资源。克隆由一个资源或一个资源组组成。

注意

只有同时可在多个节点上活跃的资源才适用于克隆。例如:从共享内存设备挂载非集群文件系统(如 ext4 )的 Filesystem 资源不应克隆。由于 ext4 分区不知道集群,因此此文件系统不适用于同时从多个节点发生的读写操作。

17.1. 创建和删除克隆的资源

您可以同时创建资源和该资源的克隆。

若要通过以下单一命令创建资源和克隆资源:

RHEL 8.4 及更新的版本:

pcs resource create resource_id [standard:[provider:]]type [resource options] [meta resource meta options] clone [clone_id] [clone options]

RHEL 8.3 及更早版本:

pcs resource create resource_id [standard:[provider:]]type [resource options] [meta resource meta options] clone [clone options]

默认情况下,克隆的名称为 resource_id-clone。从 RHEL 8.4 开始,您可以通过为 clone_id 选项指定一个值来为克隆设置自定义名称。

您不能在单个命令中创建资源组以及该资源组的克隆。

另外,您可以使用以下命令创建之前创建的资源或资源组的克隆。

RHEL 8.4 及更新的版本:

pcs resource clone resource_id | group_id [clone_id] [clone options]...

RHEL 8.3 及更早版本:

pcs resource clone resource_id | group_id [clone options]...

默认情况下,克隆的名称为 resource_id-clone 或 group_name-clone。从 RHEL 8.4 开始,您可以通过为 clone_id 选项指定一个值来为克隆设置自定义名称。

注意

您只需要在一个节点中配置资源配置更改。

注意

在配置限制时,始终使用组或克隆的名称。

当您创建资源克隆时,默认情况下,克隆会在资源名称上带有附加至名称的 -clone。以下命令创建名为 webfarm 的类型为 apache 的资源,以及名为 webfarm-clone 的克隆

# pcs resource create webfarm apache clone
注意

当您创建在另一个克隆后排序的资源或资源组克隆时,您应该始终设置 interleave=true 选项。这样可保证当依赖克隆的克隆停止或启动时,依赖克隆的副本可以停止或启动。如果没有设置这个选项,克隆的资源 B 依赖于克隆的资源 A,且节点离开集群,当节点返回到集群并在该节点上启动资源 A,那么所有节点上的资源 B 的副本都将会重启。这是因为,当依赖的克隆资源没有设置 interleave 选项时,该资源的所有实例都依赖于它所依赖的资源的任何正在运行的实例。

使用以下命令删除资源或资源组的克隆。这不会删除资源或资源组本身。

pcs resource unclone resource_id | clone_id | group_name

下表描述了您可以为克隆的资源指定的选项。

表 17.1. 资源克隆选项

描述

优先级, target-role, is-managed

选项从正在克隆的资源继承,如配置资源 meta 选项中的"Resource Meta Options"表中所述。

clone-max

要启动的资源副本数量。默认为集群中的节点数量。

clone-node-max

在一个节点上可以启动资源的副本数 ; 默认值为 1

notify

当停止或启动克隆的副本时,预先并在操作成功时告知所有其他副本。允许的值: falsetrue.默认值为 false

globally-unique

克隆的每个副本是否会执行不同的功能?允许的值: false,true

如果此选项的值为 false,则这些资源在任何位置的行为都相同,因此每台机器只能有一个克隆活跃副本。

如果此选项的值为 true,则在一台机器上运行的克隆的副本不等于另一个实例,无论该实例是在另一个节点上运行还是在同一节点上运行。如果 clone-node-max 值大于一,则默认值为 true ;否则默认值为 false

ordered

是否应该以系列的方式启动副本(而不是并行的)。允许的值: falsetrue.默认值为 false

interleave

更改排序限制的行为(克隆之间)的行为,以便在相同节点中的同一节点中的副本立即启动或停止(而不是等到第二个克隆的每个实例启动或停止)。允许的值: falsetrue.默认值为 false

clone-min

如果指定了值,则在此克隆后排序的任何克隆都将无法在指定数量的原始克隆实例运行后启动,即使 interleave 选项设为 true

要实现稳定的分配模式,默认情况下克隆具有稍微的粘贴性,这意味着它们更喜欢保留在运行的节点中。如果未提供资源 粘性 值,克隆将使用值 1。作为一个小的值,它会对其他资源分数计算最小,但足以防止 Pacemaker 在集群间不必要地移动副本。有关设置 资源粘性 资源 meta-option 的详情,请参考 配置资源 meta 选项