Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.2. 顺序限制

顺序限制决定资源运行顺序,可配置顺序限制以决定资源的启动和停止顺序。
使用以下命令配置顺序限制。
pcs constraint order [action] resource_id then [action] resource_id [options]
表 6.2 “顺序限制属性” 中总结了配置顺序限制的属性和选项。

表 6.2. 顺序限制属性

描述
resource_id
执行动作的资源名称。
action
在资源中执行的动作。action 属性的可能值为:
* start - 启动该资源。
* stop - 停止该资源。
* promote - 将某个资源从辅资源提升为主资源。
* demote - 将某个资源从主资源降级为辅资源。
如果未指定动作,则默认动作为 start。有关主资源和辅资源的详情请参考 第 8.2 节 “多状态资源:有多个模式的资源”
kind option
如何加强限制。kind 选项的可能值如下:
* Optional - 只可在两个资源均启动和/或停止时使用。有关 optional 排序的详情请参考 第 6.2.2 节 “顾问排序”
* Mandatory - 总是使用该值(默认值)。如果指定的第一个资源停止或无法启动,则必须停止第二个指定的资源。有关 mandatory 排序的详情,请参考 第 6.2.1 节 “Mandatory 排序”
* Serialize - 确定不会对一组资源同时执行 stop/start 操作。
symmetrical 选项
如果使用默认值 true,则以相反的顺序停止这些资源。默认值为:true

6.2.1. Mandatory 排序

强制排序表示如果指定的第一个资源未处于活跃状态,则无法运行指定的第二个资源。这是 kind 选项的默认值。采用这个默认值可保证您指定的第二个资源会在指定的第一个资源更改状态时有所响应。
  • 如果指定的第一个资源正在运行,并已被停止,则指定的第二个资源也会停止(如果该资源正在运行)。
  • 如果指定的第一个资源没有运行,且无法启动,则指定的第二个资源也会停止(如果该资源正在运行)。
  • 如果指定的第一个资源已重启,同时指定的第二个资源正在运行,则指定的第二个资源会停止,然后重启。

6.2.2. 顾问排序

为另一个限制指定 kind=Optional 选项后,可将该限制视为自选,且只在同时停止和/或启动两个资源时才会产生影响。对第一个指定资源进行的任何更改都不会对第二个指定的资源产生影响。
以下命令为资源 VirtualIPdummy_resource 配置一个顾问 排序限制。
# pcs constraint order VirtualIP then dummy_resource kind=Optional 

6.2.3. 按顺序排列的资源集

一般是由管理员创建按顺序排列的资源链,比如资源 A 在资源 B 前启动,资源 B 在资源 C 前提动。可使用以下命令配置按顺序排列的资源链。这些资源会以指定的顺序启动。
可使用 pcs constraint order set 命令为一组或多组资源创建排序限制。
可使用 pcs constraint order set 命令的以下 options 参数为一组资源设定以下选项。
  • sequential,可将其设定为 truefalse,表示一组节点共置限制资源是否为按顺序排列的资源组。
  • require-all,可将其设定为 truefalse,表示是否该组中的所有资源都必须启用。
  • action,可将其设定为 startpromotedemotestop,如 表 6.2 “顺序限制属性” 所述。
  • role,可将其设定为 StoppedStartedMasterSlave。有关多状态资源的详情,请查看 第 8.2 节 “多状态资源:有多个模式的资源”
可使用 pcs constraint order set 命令的以下 setoptions 参数为一组资源设定以下限制选项。
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]
如果有三个名为 D1D2D3 的资源,则可使用以下命令将其配置为按顺序排列的资源集。
# pcs constraint order set D1 D2 D3

6.2.4. 从排序限制中删除资源

使用以下命令从任意排序限制中删除资源。
pcs constraint order remove resource1 [resourceN]...