Red Hat Training

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

9.6. 使用和放置策略

Pacemaker 根据资源分配分数来决定在每个节点上放置资源的位置。资源将分配给资源分数最高的节点。此分配分数源自因素的组合,包括 资源限制、资源粘性 设置、各个节点上的资源以前的故障历史记录以及每个节点的利用率。
如果所有节点上的资源分配分数相等,默认的放置策略Pacemaker 将选择一个分配的资源最少的节点来平衡负载。如果每个节点中的资源数量相等,则会选择 CIB 中列出的第一个有资格的节点来运行该资源。
但通常不同的资源使用会对节点容量有很大不同(比如内存或者 I/O)。您始终无法通过只考虑分配给节点的资源数量来平衡负载。另外,如果将资源设置为其合并要求超过提供容量,则可能无法完全启动,或者可能会以降低性能运行。要考虑以上因素,Pacemaker 允许您配置以下组件:
  • 特定节点提供的能力
  • 特定资源需要的容量
  • 资源放置的整体策略
以下小节描述了如何配置这些组件。

9.6.1. 利用率属性

要配置节点提供或需要资源的容量,您可以对节点和资源使用属性。您可以通过为资源设置使用变量,并将值分配给该变量以指示资源需要,然后为节点设置相同的使用变量,并为该变量分配一个值来指示节点提供的内容。
您可以根据喜好命名使用属性,并根据您的配置定义名称和值对。使用属性的值必须是整数。
从 Red Hat Enterprise Linux 7.3 开始,您可以使用 pcs 命令设置使用属性。
以下示例为两个节点配置 CPU 容量的使用属性,命名属性 cpu。它还配置 RAM 容量的使用属性,命名属性 内存。在本例中:
  • 节点 1 定义为提供 2 个 CPU 和 2048 RAM
  • 节点 2 定义为提供 4 个 CPU 和 2048 RAM
# pcs node utilization node1 cpu=2 memory=2048
# pcs node utilization node2 cpu=4 memory=2048
以下示例指定三个不同资源需要的相同的使用属性。在本例中:
  • 资源 dummy-small 需要 1 个 CPU,RAM 容量为 1024
  • 资源 dummy-medium 需要 2 个 CPU,2048 RAM
  • 资源 dummy-large 需要 1 个 CPU 和 3072 RAM
# pcs resource utilization dummy-small cpu=1 memory=1024
# pcs resource utilization dummy-medium cpu=2 memory=2048
# pcs resource utilization dummy-large cpu=3 memory=3072
如果节点有足够的可用容量以满足资源的要求,则节点被视为有资格获得资源。