13.3. 配置排序的资源集
管理员创建排序的资源链的一个常见情况,例如,资源 A 在资源 B 之前启动,而资源 B 在资源 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
,如确定群集资源的运行顺序 中" Order Constraint"表中的"属性"中所述。 -
role
,可以被设置为Stopped
,Started
,Promoted
, 或Unpromoted
。
您可以按照 pcs constraint set
命令的 setoptions
参数,为一组资源设置以下约束选项。
-
ID
,为您定义的约束提供名称: -
kind
,代表如何强制约束,如确定集群资源的运行顺序中的 "Properties of an Order Constraint" 表所述。 -
symmetrical
,设置约束的反向是否适用于相反操作,如在确定集群资源运行顺序 中" Order Constraint"表中的"Properties 所述。
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