关闭或重引导某个群集节点(或停止节点上的 Pacemaker 服务)时,将触发以下过程:
该节点上运行的资源将会停止,或被移出该节点。
如果停止资源的操作失败或超时,STONITH 机制将屏蔽该节点并将其关闭。
如果您的目的是先按顺序将服务移出节点,然后再关闭或重引导该节点,请执行以下操作:
在要重引导或关闭的节点上,以 root
或同等的身份登录。
将节点置于 standby
模式:
root #
crm node standby
如此即可将服务迁移出节点,而不会受限于 Pacemaker 的关闭超时。
使用以下命令检查群集状态:
root #
crm status
此命令显示相关节点处于 standby
模式:
[...] Node bob: standby [...]
停止该节点上的 Pacemaker 服务:
root #
systemctl stop pacemaker.service
重引导该节点。
要再次检查节点是否已加入群集,请执行以下操作:
以 root
或同等身份登录到该节点。
检查 Pacemaker 服务是否已启动:
root #
systemctl status pacemaker.service
如果未启动,请将其启动:
root #
systemctl start pacemaker.service
使用以下命令检查群集状态:
root #
crm status
此命令应该会显示节点已重新联机。
Pacemaker 提供了各种选项用于执行系统维护:
使用全局群集属性 maintenance-mode
可以一次性将所有资源置于维护状态。群集将停止监视这些资源,因此不知道它们的状态。
此选项可以一次性将特定节点上运行的所有资源置于维护状态。群集将停止监视这些资源,因此不知道它们的状态。
处于待机模式的节点不再能够运行资源。该节点上运行的所有资源将被移出或停止(如果没有其他节点可用于运行资源)。另外,该节点上的所有监视操作将会停止(设置了 role="Stopped"
的操作除外)。
如果您需要停止群集中的某个节点,同时继续提供另一个节点上运行的服务,则可以使用此选项。
为某个资源启用此模式后,将不会针对该资源触发监视操作。
如果您需要手动调整此资源所管理的服务,并且不希望群集在此期间对该资源运行任何监视操作,则可以使用此选项。
使用 is-managed
元属性可以暂时“释放”某个资源,使其不受群集堆栈的管理。这意味着,您可以手动调整此资源管理的服务(例如,调整任何组件)。不过,群集将继续监视该资源,并继续报告任何错误。
如果您希望群集同时停止监视该资源,请改为使用按资源维护模式(请参见将资源置于维护模式)。
如果您需要执行测试或维护工作,请执行下面的一般步骤。
如果不执行,有可能会产生不利的负面影响,例如,资源不按顺序启动、CIB 在群集节点之间不同步,甚至丢失数据。
在开始之前,请选择第 16.2 节中所述的适合您情况的选项。
请使用 Hawk2 或 crmsh 应用此选项。
执行维护任务或测试。
完成后,请将资源、节点或群集恢复“正常”工作状态。
要在 crm 外壳中将群集置于维护模式,请使用以下命令:
root #
crm
configure property maintenance-mode=true
要在完成维护工作后将群集恢复正常模式,请使用以下命令:
root #
crm
configure property maintenance-mode=false
按第 7.2 节 “登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择
。在
组中,从空下拉框中选择 属性,然后单击加号图标添加该属性。
要设置 maintenance-mode
,请选中 maintenance-mode
旁边的复选框,并确认您所做的更改。
完成整个群集的维护任务之后,取消选中 maintenance-mode
属性旁边的复选框。
此后,High Availability Extension 将再次接管群集管理工作。
要在 crm 外壳中将节点置于维护模式,请使用以下命令:
root #
crm
node maintenance NODENAME
要在完成维护工作后将节点恢复正常模式,请使用以下命令:
root #
crm
node ready NODENAME
按第 7.2 节 “登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择
。在其中某个节点视图中,单击节点旁边的扳手图标,然后选择
。完成维护任务后,单击节点旁边的扳手图标,然后选择
。要在 crm 外壳中将节点置于待机模式,请使用以下命令:
root #
crm node standby NODENAME
要在完成维护工作后将节点恢复联机状态,请使用以下命令:
root #
crm node online NODENAME
按第 7.2 节 “登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择
。在其中某个节点的视图中,单击节点旁边的扳手图标,然后选择
。完成节点的维护任务。
要停用待机模式,请单击节点旁边的扳手图标,然后选择
。要在 crm 外壳中将资源置于维护模式,请使用以下命令:
root #
crm
resource maintenance RESOURCE_ID true
要在完成维护工作后将资源恢复正常模式,请使用以下命令:
root #
crm
resource maintenance RESOURCE_ID false
按第 7.2 节 “登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中,选择
。选择要置于维护模式或不受管理模式的资源,单击该资源旁边的扳手图标,然后选择
。打开
类别。从空下拉框中,选择
属性,然后单击加号图标添加该属性。
选中 maintenance
旁边的复选框,以将 maintenance 属性设置为 yes
。
确认更改。
完成该资源的维护任务之后,取消选中该资源的 maintenance
属性旁边的复选框。
此后,资源将再次由 High Availability Extension 软件管理。
要在 crm 外壳中将资源置于不受管理模式,请使用以下命令:
root #
crm
resource unmanage RESOURCE_ID
要在完成维护工作后再次将资源置于受管模式,请使用以下命令:
root #
crm
resource manage RESOURCE_ID
按第 7.2 节 “登录”中所述,启动 Web 浏览器并登录到群集。
在左侧导航栏中选择
,然后转到 列表。在
列中,单击要修改的资源旁边的向下箭头图标,然后选择 。资源配置屏幕即会打开。
在
下面,从空下拉框中选择 项。
将其值设置为 No
,然后单击 。
完成维护任务后,将 Yes
(默认值)并应用更改。
此后,资源将再次由 High Availability Extension 软件管理。
如果群集或某个节点处于维护模式,您可以根据需要停止或重启动群集资源 — High Availability Extension 不会尝试重启动它们。如果您停止节点上的 Pacemaker 服务,所有守护程序和进程(最初作为 Pacemaker 管理的群集资源启动)将继续运行。
如果您在群集或某个节点处于维护模式的情况下尝试启动该节点上的 Pacemaker 服务,Pacemaker 将针对每个资源启动一次性的监视操作(“探测”),以确定哪些资源当前正在该节点上运行。但是,它只会确定资源的状态,而不执行其他操作。
如果您要在群集或某个节点处于维护模式
时关闭该节点,请执行以下操作:
在要重引导或关闭的节点上,以 root
或同等的身份登录。
检查是否存在 ocf:pacemaker:controld
类型的资源,或者任何依赖这种资源的资源。ocf:pacemaker:controld
类型的资源是 DLM 资源。
如果存在,请明确停止 DLM 资源以及依赖于它们的所有资源。
crm(live)resource#
stop RESOURCE_ID
这是因为,停止 Pacemaker 也会停止 DLM 对其成员资格和讯息交换服务有依赖的 Corosync 服务。如果 Corosync 停止,DLM 资源将假设一种节点分裂情况并触发屏蔽操作。
如果不存在,请继续执行步骤 3。
停止该节点上的 Pacemaker 服务:
root #
systemctl stop pacemaker.service
关闭或重引导节点。