Show Table of Contents
为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。
6.3. 资源节点共置(Colocation)
节点共置限制可根据另一个资源的位置决定某个资源的位置。
在两个资源间创建节点共置限制有一个很重要的负面作用:它会影响为某个节点分配资源的顺序。因为无法将资源 A 放在相对资源 B 的位置,除非您知道资源 B 在哪里。因此当创建节点共置限制时,关键是要考虑是应将资源 A 与资源 B 共置,还是将资源 B 与资源 A 共置。
另一个要记住的是在创建节点共置限制时,假设资源 A 与资源 B 共置,集群会在决定为资源 B 选择哪个节点时考虑资源 A 的属性。
以下命令可创建节点共置限制。
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
有关主资源和辅资源的详情请查看 第 8.2 节 “多状态资源:有多个模式的资源”。
在 表 6.3 “节点共置限制的属性” 中总结了配置节点共置限制的属性和选项。
表 6.3. 节点共置限制的属性
项 | 描述 |
---|---|
source_resource
|
共置资源。如果对该限制不满意,集群会决定根本不允许该资源运行。
|
target_resource
|
共置目标。集群将决定首先将这个资源放在哪里,然后决定在哪里防止源资源。
|
score
|
正数值代表资源应在同一节点中运行。负数值代表资源不应再同一节点中运行。默认值,即 +
INFINITY 值代表 source_resource 必须作为 target_resource 在同一节点中运行。- INFINITY 值代表 source_resource 一定不能作为 target_resource 在同一节点中运行。
|
6.3.1. 强制放置
限制数值为
+INFINITY
或 -INFINITY
时会出现强制性放置。在这种情况下,如果对限制条件不满意,则不允许 source_resource 运行。对于 score=INFINITY
,这包括 target_resource 不活跃的情况。
如果需要
myresource1
一直作为 myresource2
在同一机器中运行,则应添加以下限制:
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
因为使用了
INFINITY
,如果 myresource2
无法在任何集群节点中运行(无论是什么原因),则不允许 myresource1
运行。
另外,您可能想要使用相反的配置,即在某个集群中,
myresource1
无法在同一机器中作为 myresource2
运行。在这种情况下请使用 score=-INFINITY
。
# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
指定
-INFINITY
即可绑定该限制。因此如果最后能运行该资源的位置是 myresource2
所在位置,那么 myresource1
可能无法在任意位置运行。
6.3.2. 建议配置
如果强制配置是有关“一定要”和“一定不要”的配置,那么建议配置则属于“我更喜欢”的备用配置。对已得分大于
-INFINITY
和小于 -INFINITY
的限制,集群会尝试并满足您的要求,但如果备用配置要停止一些集群服务,则集群会忽略他们。建议节点共置限制可与配置的其他元素合并,以起到强制配置的作用。
6.3.3. 资源组共置
可使用
pcs constraint colocation set
命令为一组或多组资源创建节点共置限制。
可使用
pcs constraint colocation set
命令的以下 options
参数为一组资源设定以下选项。
sequential
,可将其设定为true
或false
,表示一组节点共置限制资源是否为按顺序排列的资源组。require-all
,可将其设定为true
或false
,表示是否该组中的所有资源都必须启用。
可使用
pcs constraint colocation set
命令的以下 setoptions
参数为一组资源设定以下选项。
kind
,表示如何强制执行限制。有关这个选项的详情,请查看 表 6.2 “顺序限制属性”。symmetrical
,表示停止资源的顺序。如果为 true(即默认选项),则会以相反的顺序停止资源。默认值为true
。id
,为定义的限制提供名称。
以下命令可在一组或多组资源中创建节点共置限制。
pcs constraint colocation set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]
6.3.4. 删除节点共置限制
使用以下命令删除附带 source_resource 的节点共置限制。
pcs constraint colocation remove source_resource target_resource
为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。