14.3. 资源共存集合

如果您的配置需要您创建一组资源,它们按顺序共处并启动,您可以配置包含这些资源的资源组。然而,在有些情况下,配置需要作为资源组共存的资源是不合适的:

  • 您可能需要托管一组资源,但这些资源不一定要按顺序启动。
  • 您可能有一个资源 C,它必须和资源 A 或 B 在一起,但 A 和 B 之间没有关系。
  • 您可能有资源 C 和 D 必须和资源 A 和 B 在一起,但 A 和 B 之间没有关系,C 和 D 之间没有关系。

在这些情况下,您可以使用 pcs constraint colocation set 命令对一组或几组资源创建共处约束。

您可以使用 pcs constraint colocation set 命令为一组资源设置以下选项。

  • sequential,它可以设为 truefalse,以指示集合成员是否必须相互共处。

    sequential 设为 false ,允许此集合的成员与约束后面列出的另一个集合共处,而无论此集合中哪些成员处于活动状态。因此,只有在约束里列出另一个集合之后,这个选项才有意义,否则约束无效。

  • role,可以被设置为 Stopped, Started, Promoted, 或 Unpromoted

您可以按照 pcs constraint colocation set 命令的 setoptions 参数为一组资源设置以下约束选项。

  • ID,为您定义的约束提供名称:
  • score 表示此约束的首选程度。有关这个选项的详情,请参考 配置位置约束中的 "Location Constraint Options" 表

当列出集合的成员时,每个成员都与其前一个成员共处。例如:"set A B" 表示 "B 与 A 共存"。但是,当列出多个集合时,每个集合都与后面的组在一起。例如:"set C D sequential=false set A B" 表示 "set C D(其中 C 和 D 间没有关系)与 set A B 在一起(其中 B 与 A 在一起)"。

以下命令在一组或一组资源上创建了 colocation 约束。

pcs constraint colocation set resource1 resource2] [resourceN]... [options] [set resourceX resourceY] ... [options]] [setoptions [constraint_options]]

使用以下命令删除带有 source_resource 的共处约束。

pcs constraint colocation remove source_resource target_resource