章 9. Pacemaker 規則

規則可被使用來令您的配置更加動態化。一項常見的實例就是在工作期間為 resource-stickiness 設置一個值,以避免資源被移回其最為偏好的位置,而針對週末沒有人會注意到服務中斷的情況另外設置一個值。
規則的另一使用方法就是根據時間將機器指定至不同的處理群組(使用一個節點屬性)然後在建立位置限制式時使用該屬性。
各項規則皆可包含數個表示式甚至是其它規則。表示式的結果會根據規則的 boolean-op 欄位結合,以判斷規則最後結果會是 true 或是 false。接下來會發生的動作則取決於規則所使用於的情況。

表格 9.1. 規則的內容

欄位詳述
role
將規則限制為僅在資源屬於該角色時才套用。允許的值有:StartedSlave,Master。請注意:一項 role="Master" 的規則無法決定複本的初始位置。它僅會影響將被升階的啟用中項目為何。
score
若規則為 true 時所套用的分數值。僅限制使用於屬於位置限制式一部分的規則中。
score-attribute
規則為 true 時所查詢並使用來作為分數值的節點屬性。僅限制使用於屬於位置限制式一部分的規則中。
boolean-op
結合多重表示式物件之結果的方式。允許的值為:andor。預設值為 and

9.1. 節點屬性表示式

節點屬性表示式會被使用來根據節點所定義的屬性來控制一項資源。

表格 9.2. 表示式的內容

欄位詳述
value
使用者所提供來進行比較的值
attribute
欲測試的節點屬性
type
判斷如何測試值。允許的值有:stringintegerversion
operation
欲進行的比較。允許的值有:
* lt - 若節點屬性的值小於 value 則為 true
* gt - 若節點屬性的值大於 value 則為 true
* lte - 若節點屬性的值小於或等於 value 則為 true
* gte - 若節點屬性的值大於或等於 value 則為 true
* eq - 若節點屬性的值等於 value 則為 true
* ne - 若節點屬性的值不等於 value 則為 true
* defined - 若節點含有 named 屬性則為 true
* not_defined - 若節點沒有 named 屬性則為 true