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]]
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
# 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
# pcs constraint order set A B sequential=false require-all=false set C D set E F sequential=false setoptions symmetrical=false