14.3. 资源共存集合
如果您的配置需要创建一组在一起并启动的资源,您可以配置包含这些资源的资源组。然而,在有些情况下,配置需要作为资源组共存的资源是不合适的:
- 您可能需要托管一组资源,但这些资源不一定要按顺序启动。
- 您可能有一个资源 C,它必须和资源 A 或 B 在一起,但 A 和 B 之间没有关系。
- 您可能有资源 C 和 D 必须和资源 A 和 B 在一起,但 A 和 B 之间没有关系,C 和 D 之间没有关系。
在这些情况下,您可以使用 pcs constraint colocation set 命令在一组或一组资源中创建 colocation 约束。
您可以使用 pcs constraint colocation set
命令为一组资源设置以下选项。
sequential
,它可以设为true
或false
,以指示集合成员是否必须相互共处。将
sequential
设为false
,允许此集合的成员与约束后面列出的另一个集合共处,而无论此集合中哪些成员处于活动状态。因此,只有在约束里列出另一个集合之后,这个选项才有意义,否则约束无效。-
role
,它可以设为Stopped
、Started
、master
或Slave
。
您可以按照 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 的 colocation 约束。
pcs constraint colocation remove source_resource target_resource