18.3. 可升级克隆资源
可升级克隆资源是将 promotable
meta 属性设置为 true
的克隆资源。它们允许实例处于两种工作模式之一;称为 promoted
和 unpromoted
。模式的名称没有特定的含义,除了一个限制,即实例启动时,它必须处于 Unpromoted
状态。
Promoted 和 Unpromoted 角色名称的功能等同于之前的 RHEL 版本中 Master 和 Slave Pacemaker 角色。
18.3.1. 创建可升级的克隆资源 复制链接链接已复制到粘贴板!
您可以用下列单一命令将资源创建为可升级的克隆。
pcs resource create resource_id [standard:[provider:]]type [resource options] promotable [clone_id] [clone options]
pcs resource create resource_id [standard:[provider:]]type [resource options] promotable [clone_id] [clone options]
默认情况下,可升级克隆的名称为 resource_id-clone
。您可以通过为 clone_id 选项指定值来为克隆设置自定义名称。
另外,您可以使用以下命令从之前创建的资源或资源组中创建可升级的资源。
pcs resource promotable resource_id [clone_id] [clone options]
pcs resource promotable resource_id [clone_id] [clone options]
默认情况下,可升级克隆的名称为 resource_id-clone
或 group_name-clone
。您可以通过为 clone_id 选项指定值来为克隆设置自定义名称。
下表描述了您可以为可升级资源指定的额外克隆选项。
项 | 描述 |
---|---|
| 可以升级的资源副本数 ; 默认为 1。 |
| 在一个节点中可升级的资源副本数 ; 默认为 1。 |
18.3.2. 配置可升级资源限制 复制链接链接已复制到粘贴板!
您可以通过为该资源配置约束来确定集群中可升级资源的行为。有关资源约束的常规信息,请参阅 配置集群资源。
可升级资源位置约束
在大多数情况下,可升级的资源在每个活跃的集群节点上都有一个副本。如果情况不同,您可以指定集群使用资源位置约束来优先分配哪些节点。这些限制与常规资源的写法不同。有关位置约束的详情,请参阅 确定资源可在哪个节点上运行。
可升级的资源托管约束
您可以创建一个托管约束,其指定资源是否在升级或未升级的角色中运行。以下命令创建了一个资源托管约束。
pcs constraint colocation add [promoted|unpromoted] source_resource with [promoted|unpromoted] target_resource [score] [options]
pcs constraint colocation add [promoted|unpromoted] source_resource with [promoted|unpromoted] target_resource [score] [options]
有关托管约束的详情,请参考 托管集群资源。
可升级资源排序约束
在配置包含可升级资源的排序约束时,您可以为资源指定的其中一个操作是 promote
的,这表示资源从未升级的角色提升为提升角色。另外,您可以指定 demote
操作,这表示资源从提升角色降级为未升级的角色。
配置顺序约束的命令如下。
pcs constraint order [action] resource_id then [action] resource_id [options]
pcs constraint order [action] resource_id then [action] resource_id [options]
有关资源顺序约束的详情,请参阅 确定集群资源的运行顺序。
18.3.3. 失败时降级升级的资源 复制链接链接已复制到粘贴板!
您可以配置可升级资源,以便在 promote
和 monitor
操作失败时,或者该资源运行的分区丢失仲裁(quorum)时,资源将会降级,但不会完全停止。这可避免在完全停止资源时需要的人工干预。
要将可升级资源配置为在
promote
操作失败时降级,请将on-fail
操作 meta 选项设置为demote
,如下例所示。pcs resource op add my-rsc promote on-fail="demote"
# pcs resource op add my-rsc promote on-fail="demote"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要将可升级的资源配置为在
monitor
操作失败时降级,将interval
设置为非零值,将on-fail
操作 meta 选项设置为demote
,并将role
设置为Promoted
,如下例所示。pcs resource op add my-rsc monitor interval="10s" on-fail="demote" role="Promoted"
# pcs resource op add my-rsc monitor interval="10s" on-fail="demote" role="Promoted"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
要配置集群,当集群分区丢失仲裁时,任何升级的资源都会降级但会继续运行,所有其他资源都将停止,将
no-quorum-policy
集群属性设置为demote
将操作的 on-fail
元属性设为 demote
不会影响如何决定资源的提升。如果受影响的节点仍然具有最高的升级分数,则会选择再次提升。