Red Hat Training

A Red Hat training course is available for RHEL 8

30.3. 禁用、启用和禁止集群资源

除了 pcs resource movepcs resource relocate 命令外,您还可以使用各种其他命令来控制群集资源的行为。

禁用集群资源

您可以手动停止正在运行的资源,并使用以下命令防止集群再次启动它。根据其他配置(约束、选项、失败等)配置,资源可能会继续启动。如果您指定了 --wait 选项,pcs 等待 'n' 秒以便资源停止,然后如果资源停止,则返回 0 或 1(如果资源尚未停止)。如果没有指定 'n',则默认为 60 分钟。

pcs resource disable resource_id [--wait[=n]]

从 Red Hat Enterprise Linux 8.2 开始,您可以指定仅在不会影响其他资源时禁用资源。在具有复杂的资源关系时,这可能无法通过手动设置来完成。

  • pcs resource disable --simulate 命令显示在不更改群集配置时禁用资源的效果。
  • pcs resource disable --safe 命令仅在没有任何方式影响任何其他资源时禁用资源,比如从一个节点迁移到另一个节点。pcs resource secure-disable 命令是 pcs resource disable --safe 命令的 别名。
  • pcs resource disable --safe --no-strict 命令仅在没有其他资源无法停止或降级时禁用资源

启用集群资源

使用以下命令来允许集群启动资源。根据其余配置,资源可能会继续停止。如果您指定了 --wait 选项,pcs 等待 'n' 秒以便资源启动,然后如果资源启动,则返回 0 或 1(如果资源尚未启动)。如果没有指定 'n',则默认为 60 分钟。

pcs resource enable resource_id [--wait[=n]]

防止资源在特定节点上运行

使用以下命令来防止资源在指定节点上运行,如果没有指定节点则在当前节点上运行。

pcs resource ban resource_id [node] [--master] [lifetime=lifetime] [--wait[=n]]

请注意,当执行 pcs resource ban 命令时,这会向资源添加 -INFINITY 位置约束,以防止其在指定节点上运行。您可以执行 pcs resource clearpcs constraint delete 命令删除约束。这不一定将资源回指定节点 ; 此时可以在哪里运行这些资源取决于您最初配置的资源。

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

您可选择为 pcs resource ban 命令配置 Life 参数,以指示约束应保留的时间。

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

强制资源在当前节点上启动

使用 pcs resource 命令的 debug-start 参数强制指定资源在当前节点上启动,忽略群集建议并打印启动资源的输出。这主要用于调试资源;群集上启动资源总是(几乎)由 Pacemaker 完成,而不是直接通过 pcs 命令完成。如果您的资源没有启动,这通常是由于资源配置错误(您在系统日志中调试)、阻止资源启动的限制,或者禁用资源。您可以使用这个命令来测试资源配置,但通常不应该用来启动集群中的资源。

debug-start 命令的格式如下:

pcs resource debug-start resource_id