第 31 章 执行集群维护
要在集群的节点上执行维护,您可能需要停止或移动该集群中运行的资源和服务。或者,在不影响服务的同时,您可能需要停止集群软件。pacemaker 提供各种执行系统维护的方法。
- 如果您需要停止集群中的节点,同时继续提供在另一个节点中运行的服务,您可以让该集群节点处于待机模式。处于待机模式的节点无法再托管资源。该节点上任何当前活跃的资源都将移至另一节点,如果没有其他节点有资格运行该资源,则停止。有关待机模式的详情,请参考 将节点置于待机模式。
如果您需要在不停止该资源的情况下将单独的资源从当前运行的节点中移动,您可以使用
pcs resource move
命令将资源移到其他节点。执行
pcs resource move
命令时,这会向资源添加一个约束,以防止其在当前运行的节点中运行。当您准备好重新移动资源时,可以执行pcs resource clear
或pcs constraint delete
命令以移除约束。这不一定将资源回原始节点,因为此时可以在哪里运行这些资源取决于您最初配置的资源。您可以使用pcs resource relocate run 命令将资源重新定位到
首选节点。-
如果您需要停止正在运行的资源并阻止集群再次启动,您可以使用
pcs resource disable
命令。有关pcs resource disable
命令的详情,请参考 禁用、启用和禁止集群资源。 -
如果要防止 Pacemaker 对资源执行任何操作(例如,要在资源维护时禁用恢复操作,或者需要重新加载
/etc/sysconfig/pacemaker
设置),请使用pcs resource unmanage
命令,如 将资源设置为非受管模式 中所述。pacemaker 远程连接资源应该永远不是非受管状态。 -
如果您需要将集群置于不启动或停止服务的状态,您可以设置
maintenance-mode
集群属性。将集群放入维护模式会自动使所有资源为非受管状态。有关将集群置于维护模式的详情,请参考 将集群置于维护模式。 - 如果您需要更新组成 RHEL 高可用性和弹性存储附加组件的软件包,您可以一次在一个节点上或在整个集群上更新软件包,如 更新 RHEL 高可用性集群 中所述。
- 如果您需要在 Pacemaker 远程节点上执行维护,您可以通过禁用远程节点资源从集群中删除该节点,如 升级远程节点和客户机节点 中所述。
- 如果需要在 RHEL 集群中迁移虚拟机,您首先需要停止虚拟机上的集群服务,以从集群中删除该节点,然后在执行迁移后启动集群备份。如 迁移 RHEL 集群中的虚拟机 中所述。
31.1. 把节点设置为待机模式
当集群节点处于待机模式时,节点将不再能够托管资源。该节点上所有当前活跃的资源都将移至另一节点。
以下命令将指定节点设置为待机模式。如果您指定了 --all
,这个命令会将所有节点置于待机模式。
您可以在更新资源的软件包时使用此命令。您还可以在测试配置时使用此命令模拟恢复,而无需实际关闭节点。
pcs node standby node | --all
以下命令将指定节点从待机模式中删除。运行此命令后,指定节点就可以托管资源。如果您指定了 --all
,这个命令会将所有节点从待机模式中删除。
pcs node unstandby node | --all
请注意,当执行 pcs node standby
命令时,这会阻止资源在指定节点上运行。执行 pcs node unstandby
命令时,这允许资源在指定节点上运行。这不一定将资源回指定节点 ; 此时可以在哪里运行这些资源取决于您最初配置的资源。