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,可以设为 truefalse,以指示资源集合是否可以相互排序。默认值为 true

    sequential 设为 false ,允许一个集合相对于排序约束中的其他集合进行排序,而不对其成员进行相互排序。因此,只有在约束里列出了多个集合时才有意义 ; 否则,约束无效。

  • require-all,它可以设为 truefalse,以指示集合中的所有资源在继续前是否处于活动状态。将 require-all 设为 false ,表示集合中只有一个资源需要启动,然后才能继续下一个集合。将 require-all 设为 false 没有任何作用,除非与未排序的集合一起使用,未排序的集合是那些 sequential 设置为 false 的集合。默认值为 true
  • action,可以被设置为 start, promote, demotestop,如确定群集资源的运行顺序 中" 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]]

如果您有三个名为 D1D2D3 的资源,以下命令将它们配置为排序的资源集。

# pcs constraint order set D1 D2 D3

如果您有六个名为 ABCDE、和 F 的资源,则示例为一组启动的资源配置了排序约束,如下所示:

  • AB 的启动是相互独立的
  • CAB 启动后启动
  • DC 启动后启动
  • D 启动后,EF 的启动是相互独立的

如果设置了 symmetrical=false,则停止的顺序不受这个约束的影响。

# pcs constraint order set A B sequential=false require-all=false set C D set E F sequential=false setoptions symmetrical=false