AntiCollocated 关系的行为

AntiCollocated 关系可以具有 4 个不同的状态。

案例 I

在资源 A 启动时,将其放置在与资源 B 当前正在运行的节点不同的节点上。 "正在运行" 表示资源 B 的 OpState 为 Online , Pending Online , Stuck Online 或 Pending Offline。
图 1。 AntiCollocated 关系,案例 I
AntiCollocated 关系,案例 I
此行为表示标准情境。

AntiCollocated 关系尝试根据未来情境的预测来优化节点选择。 以下是可能的情况:

案例二

资源 B 已启动,并且资源 A 处于 "脱机" , "脱机失败" 或 "未知" 状态。
图 2。 AntiCollocated 关系,案例 II
AntiCollocated 关系,案例 II
通常,您期望资源 B 的节点选择独立于资源 A。 但是,当 System Automation for Multiplatforms 为资源 B 选择节点时,将选择一个节点,该节点允许将来可以在另一个节点上启动资源 A。 此预测方法的原因是它后来简化了资源 A 的启动行为: 如果未发生错误情况,那么将确保在资源 B 启动后,可以在资源 B 未运行的另一个节点上启动资源 A。 这对应于 案例 I 的描述。

案件三

资源 A 已启动,资源 B 处于脱机状态 (脱机,脱机失败)。
图 3。 AntiCollocated 关系,个案 III
AntiCollocated 关系,个案 III
从理论上讲,现在可以将资源 A 放在其节点列表的任何节点上。 在这里,预测方法再次尝试查找资源 A 的节点位置,该位置允许将来在另一个节点上启动资源 B。 因此, System Automation for Multiplatforms 将确定资源 B 的节点位置,即使它将仅启动资源 A 也是如此。

预测方法的摘要为: 如果资源 A 处于脱机状态,并且资源 A 或资源 B 已启动 (请参阅 "案例 II" 和 "案例 III") ,那么 System Automation for Multiplatforms 会先确定资源 A 和资源 B 的不同节点位置,然后再启动其中一个节点位置

正如 Collocated 关系的描述中已经提到的那样,可能会发生基于当前情况的预测随着时间的推移而变得错误。 尽管如此,预测方法在大多数情况下简化了自动化行为。

案件四

资源 A 已处于运行状态 (启动资源 B 时,OpState 为 "联机" , "暂挂联机" , "存根联机" 或 "暂挂脱机")。
图 4: AntiCollocated 关系,案例 IV
AntiCollocated 关系,案例 IV
在启动资源 A 时 (请参阅案例 III) ,资源 B 已选择另一个节点。 如果未发生错误,那么可以在其中启动资源 B。 如果存在导致资源 B 无法再在其先前选择的节点上启动的问题,那么在资源 B 开始时将找到新的节点位置。 这意味着即使在资源 A 已在运行的情况下,也可以在任何位置启动资源 B。
可以定义以下与条件的关系:
  • AntiCollocated/IfOnline

    关系 A ---> AntiCollocated/IfOnline -----> B 表示,只有当资源 B 处于在线状态时,位置关系才有效。 否则,将忽略位置关系。 IfOnline 不包括“在线待定”和“离线待定”等状态。

  • AntiCollocated/IfOffline

    关系 A ---> AntiCollocated/IfOffline -----> B 表示位置关系仅在资源 B 处于离线、离线失败或未知状态时有效。

  • AntiCollocated/IfNotOnline

    关系 A --->AntiCollocated/IfNotOnline -----> B 表示,当资源 B 不在联机状态时,位置关系才有效。

  • AntiCollocated/IfNotOffline

    关系 A ---> AntiCollocated/IfNotOffline -----> B 表示,只有当资源 B 不在离线、离线失败或未知状态时,位置关系才有效。

  • AntiCollocated/IfIWasOnline

    关系 A ---> AntiCollocated/IfIWasOnline -----> B 表示,当资源 B 处于在线状态且资源 A 之前处于在线状态,然后变为离线状态时,位置关系才生效。

  • AntiCollocated/IfIWasNotOnline

    关系 A ---> AntiCollocated/IfIWasNotOnline -----> B 表示,当资源 B 处于在线状态且资源 A 之前未处于在线状态时,位置关系才生效。