31.2. 手动移动集群资源


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

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

要将节点上运行的所有资源移动到另一个节点,需要使该节点处于待机模式。有关将集群节点置于 standby 节点的详情,请参考 将节点置于 standby 模式

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

  • 您可以使用 pcs resource move 命令将当前运行的资源从节点上移出,如从 当前节点移动资源 中所述。
  • 您可以使用 pcs resource relocate run 命令将资源移至首选节点,具体由当前的集群状态、约束、资源位置和其他设置来决定。有关这个命令的详情,请参考 将资源移动到首选节点

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

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

pcs resource move resource_id [destination_node] [--promoted] [--strict] [--wait[=n]]
Copy to Clipboard

当您执行 pcs resource move 命令时,这会为资源添加一个约束,以防止其在当前运行的节点上运行。默认情况下,在资源被移动后,命令创建的位置约束会被自动删除。如果删除约束将导致资源移回到原始节点,就像资源的 resource-stickiness 值为 0 才会发生的那样,那么 pcs resource move 命令将失败。如果您要移动资源并保留生成的约束,请使用 pcs resource move-with-constraint 命令。

  • 如果您指定了 pcs resource move 命令的 --promoted 参数,则约束仅适用于提升资源实例。
  • 如果您指定 pcs resource move 命令的 --strict 参数,则命令将失败,如果命令中指定的其他资源不受影响。
  • 您可以选择为 pcs resource move 命令配置 --wait[=n] 参数,以指示在返回 0(如果资源已启动)或 1(如果资源尚未启动)之前,在目标节点上等待资源启动的秒数。如果没有指定 n,则默认为 60 分钟。

有关位置约束的更多信息,请参阅 确定资源可在哪些节点上运行

31.2.2. 将资源移动到首选节点

由于故障转移或管理员手动移动节点,在资源移动后,即使解决了造成故障转移的情况,它也不一定会迁移到其原始的节点。要将资源重新定位到首选节点,请使用以下命令。首选节点由当前的集群状态、约束、资源位置和其他设置决定,并可能随时间变化。

pcs resource relocate run [resource1] [resource2] ...
Copy to Clipboard

如果没有指定任何资源,则所有资源都会重新定位到首选节点。

此命令在忽略资源粘性时为每个资源计算首选的节点。在计算首选节点后,它会创建位置限制,导致资源移至首选节点。移动资源后,这些限制会自动被删除。要删除由 pcs resource relocate run 命令创建的所有约束,您可以输入 pcs resource relocate clear 命令。要显示资源的当前状态及其忽略资源粘性的最佳节点,请输入 pcs resource relocate show 命令。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat