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作为角色的值。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]]
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