Red Hat Training

A Red Hat training course is available for RHEL 8

30.2. 手动移动集群资源

您可以覆盖集群并强制资源从其当前位置移动。当您要做到这一点时有两个问题:

  • 当某个节点处于维护状态时,您需要将该节点上运行的所有资源移至不同节点
  • 当需要移动单独指定的资源时

要将节点上运行的所有资源移动到另一个节点,需要使该节点处于待机模式。

您可以用下列方式之一移动独立指定的资源。

  • 您可以使用 pcs resource move 命令将资源从当前运行的节点中移出。
  • 您可以使用 pcs resource relocate run 命令将资源移至首选节点,具体由当前的集群状态、限制、资源位置和其他设置决定。

30.2.1. 将资源从其当前节点移动

要将资源从当前运行的节点中移动,请使用以下命令,指定定义的 resource_id。如果要指定在哪个节点上运行您要移动的资源,请指定 destination_node

pcs resource move resource_id [destination_node] [--master] [lifetime=lifetime]
注意

执行 pcs resource move 命令时,这会向资源添加一个约束,以防止其在当前运行的节点中运行。您可以执行 pcs resource clearpcs constraint delete 命令删除约束。这不一定将资源重新移到原始节点 ; 此时可以在哪里运行这些资源取决于您最初配置的资源。

如果您指定 pcs resource move 命令的 --master 参数,则约束的范围仅限于 master 角色,您必须指定 master_id 而不是 resource_id

您可选择为 pcs resource move 命令配置 Life 参数,以指示约束应保留的时间。根据 ISO 8601 中定义的格式指定 Life 参数 的单元,它要求您将单位指定为大写字母,例如 Y(年)、M(月)、W(周)、D(天)、H(小时)、M(分钟)和 S(秒)。

为了将分钟(M)与月(M)区分开,需要在分钟值前添加 PT 来指定。例如,生命周期 参数为 5M 表示 5 个月的间隔,而 PT5M 的生命周期 参数则表示间隔为五分钟。

Life 参数 按照 cluster-recheck-interval 集群属性定义的间隔进行检查。默认值为 15 分钟。如果您的配置需要更频繁地检查这个参数,您可以使用以下命令重置这个值。

pcs property set cluster-recheck-interval=value

您可以选择为 pcs resource move 命令配置 --wait[=n] 参数,以指示在返回 0(资源尚未启动)之前在目标节点上等待资源启动的秒数。如果没有指定 n,将使用默认的资源超时时间。

以下命令将资源 resource1 移到 node example-node2,并阻止它重新移至最初运行 1 小时和 30 分钟的节点。

pcs resource move resource1 example-node2 lifetime=PT1H30M

以下命令将资源 resource1 移到 node example-node2,并阻止它重新移至最初运行 30 分钟的节点。

pcs resource move resource1 example-node2 lifetime=PT30M