4.4 配置资源约束

配置好所有资源只是完成了该作业的一部分。即便群集熟悉所有必需资源,它可能还无法进行正确处理。资源约束允许您指定在哪些群集节点上运行资源、以何种顺序装载资源,以及特定资源依赖于哪些其他资源。

提供三种不同的约束:

Resource Location(资源位置)

位置约束定义资源可以、不可以或首选在哪些节点上运行。

Resource Collocation(资源排列)

排列约束告诉群集资源可以或不可以在某个节点上一起运行。

Resource Order(资源顺序)

排序约束定义操作的顺序。

定义约束时,还需要指定分数。各种分数是群集工作方式的重要组成部分。其实,从迁移资源到决定在已降级群集中停止哪些资源的整个过程是通过以某种方式操纵分数来实现的。分数按每个资源来计算,资源分数为负的任何节点都无法运行该资源。在计算出资源分数后,群集选择分数最高的节点。INFINITY(无穷大)目前定义为 1,000,000。加减无穷大遵循以下 3 个基本规则:

定义资源约束时,也可以指定每个约束的分数。分数表示您指派给此资源约束的值。分数较高的约束先应用,分数较低的约束后应用。通过使用不同的分数为既定资源创建更多位置约束,可以指定资源要故障转移至的目标节点的顺序。

添加或修改位置约束

  1. 部分 4.1, Linux HA Management Client中所述,启动 Linux HA Management Client 并登录到群集。

  2. 在 Linux HA Management Client 主窗口中,单击左窗格中的 Constraints(约束)以查看群集已配置的约束。

  3. 在左窗格中,选择 Constraints(约束)并单击 Add(添加)。

  4. 选择 Resource Location(资源位置)并单击 OK(确定)。

  5. 为约束输入唯一的 ID。修改现有约束时,ID 已经定义并显示在配置对话框中。

  6. 选择要定义约束的资源。列表中显示群集已配置的所有资源的 ID。

  7. 设置约束的分数。正值表示资源可以在以下指定的节点上运行。负值表示资源不能在此节点上运行。值 +/- INFINITY 则由可以变为 must

  8. 选择约束的节点

  9. 如果将 Node(节点)和 Score(分数)字段留为空白,也可以通过单击Add(添加) > Rule(规则)来添加规则。要添加有效期,只需单击 Add(添加) > Lifetime(有效期)即可。

  10. 如果所有参数都按您的需要进行了设置,请单击 OK(确定)完成约束配置。配置对话框关闭,主窗口显示新添加或新修改的约束。

添加或修改排列约束

  1. 部分 4.1, Linux HA Management Client中所述,启动 Linux HA Management Client 并登录到群集。

  2. 在 Linux HA Management Client 主窗口中,单击左窗格中的 Constraints(约束)以查看已为群集配置的约束。

  3. 在左窗格中,选择 Constraints(约束)并单击 Add(添加)。

  4. 选择 Resource Collocation(资源排列)并单击 OK(确定)。

  5. 为约束输入唯一的 ID。修改现有约束时,ID 已经定义并显示在配置对话框中。

  6. 选择要作为排列源的资源。列表中显示群集已配置的所有资源的 ID。

    如果约束无法满足,群集可以决定根本不允许运行资源。

  7. 如果将 Resource(资源)和 With Resource(排列资源)字段都保留为空,也可以通过单击Add(添加) > Resource Set(资源集) 来添加资源集。要添加有效期,只需单击 Add(添加) > Lifetime(有效期)即可。

  8. With Resource(排列资源)中,定义排列目标。群集先决定将此资源放置在什么位置,再决定将此资源放置在 Resource(资源)字段的什么位置。

  9. 定义 Score(分数)可确定两个资源的位置关系。正值表示两个资源应在相同的节点上运行。负值表示两个资源不应在相同的节点上运行。值 +/- INFINITY 则由 should 变为 must。该分数与其他系数结合使用可以决定放置节点的位置。

  10. 如果需要,请指定进一步参数,如 Resource Role(资源角色)。

    根据选择的参数和选项,显示简短描述,解释您正在配置的排列约束的效果。

  11. 如果所有参数都按您的需要进行了设置,请单击 OK(确定)完成约束的配置。配置对话框关闭,主窗口显示新添加或新修改的约束。

添加或修改顺序约束

  1. 部分 4.1, Linux HA Management Client中所述,启动 Linux HA Management Client 并登录到群集。

  2. 在 Linux HA Management Client 主窗口中,单击左窗格中的 Constraints(约束)以查看群集已配置的约束。

  3. 在左窗格中,选择 Constraints(约束)并单击 Add(添加)。

  4. 选择 Resource Order(资源顺序)并单击 OK(确定)。

  5. 为约束输入唯一的 ID。修改现有约束时,ID 已经定义并显示在配置对话框中。

  6. 使用 First(首先)定义必须先于 Then(然后)资源启动的资源。

  7. 使用 Then(然后)定义必须后于 First(首先)资源启动的资源。

  8. 如果需要,定义进一步参数,例如,Score(分数,如果大于零,约束是强制的;否则,约束只是一种建议)或 Symmetrical(对称)(如果为 true,以相反的顺序停止资源。

    根据选择的参数和选项,显示简短描述,解释您正在配置的顺序约束的效果。

  9. 如果所有参数都按您的需要进行了设置,请单击 OK(确定)完成约束的配置。配置对话框关闭,主窗口显示新添加或新修改的约束。

您可以访问和修改在 Linux HA Management Client 的 Constraints(约束)视图下配置的所有约束。

图 4-3 Linux HA Management Client - 约束

有关配置约束的更多信息以及顺序和排列基本概念的详细背景信息,请参考http://clusterlabs.org/wiki/Documentation上提供的以下文档: