13.3. 配置排序的资源集
常见的情况是,管理员创建排序资源链,例如资源 A 在资源 C 之前启动。如果您的配置需要创建一组在一起并启动的资源,您可以配置包含这些资源的资源组。
然而,在有些情况下,配置资源需要以指定顺序启动,因为资源组不合适:
- 您可能需要配置资源以启动,而且资源不一定是在一起的。
- 您可能有一个资源 C,它必须在资源 A 或 B 启动后启动,但 A 和 B 之间没有关系。
- 您可能有资源 C 和 D 在资源 A 和 B 启动时必须启动,但 A 和 B 之间没有关系,C 和 D 之间没有关系。
在这些情况下,您可以使用 pcs constraint set 命令在一组或一组资源中创建排序约束。
您可以使用 pcs constraint order set
命令为一组资源设置以下选项。
sequential
,可以设为true
或false
,以指示资源集合是否可以相互排序。默认值为true
。将
sequential
设为false
,允许一个集合相对于排序约束中的其他集合进行排序,而不对其成员进行相互排序。因此,只有在约束里列出了多个集合时才有意义 ; 否则,约束无效。-
require-all
,它可以设为true
或false
,以指示集合中的所有资源在继续前是否处于活动状态。将require-all
设为false
,表示集合中只有一个资源需要启动,然后才能继续下一个集合。将require-all
设为false
没有任何作用,除非与未排序的集合一起使用,未排序的集合是那些sequential
设置为false
的集合。默认值为true
。 -
action
可被设为start
、promote
、demote
或stop
,如 确定集群资源的运行顺序 中"排序约束的属性"表中所述。 -
role
,它可以设为Stopped
、Started
、master
或Slave
。从 RHEL 8.5 开始,pcs
命令行界面接受Promoted
和Unpromoted
作为role
的值。Promoted
和Unpromoted
角色在功能上等同于Master
和Slave
角色。
您可以按照 pcs constraint order set
命令的 setoptions
参数为一组资源设置约束选项。
-
ID
,为您定义的约束提供名称: -
kind
,它表示如何强制实施约束,如 确定集群资源的运行顺序 中"排序约束的属性"表中所述。 -
symmetrical
设置约束的反向是否适用于相反的操作,如在确定 确定集群资源的运行顺序 中"排序约束的属性"表中所述。
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]
如果您有三个名为 D1
、D2
和 D3
的资源,以下命令将它们配置为排序的资源集。
# pcs constraint order set D1 D2 D3
如果您有六种名为 A
、B
、C
、D
、E
和 F
的资源,本例为启动的一组资源配置了排序约束:
-
A
和B
相互独立启动 -
C
在A
或B
启动后启动 -
d
在C
启动后启动 -
D
启动后,E
和F
相互独立启动
停止资源不受此约束的影响,因为设置了 symmetrical=false
。
# pcs constraint order set A B sequential=false require-all=false set C D set E F sequential=false setoptions symmetrical=false