起搏器自动清除失败操作

起搏器自动清除失败操作

我已经使用 Pacemaker / Corosync / drbd 创建了一个主动/被动集群,并“模拟”了 Apache 故障pkill httpd,尽管 Pacemaker 从“故障”中恢复过来并启动了 httpd,但执行时pcs status我得到:

Failed Actions:
* apache_monitor_60000 on server1 'not running' (7): call=39, status=complete, exitreason='none',
    last-rc-change='Wed May  9 09:55:45 2018', queued=0ms, exec=0ms

为什么起搏器在成功恢复后不清除失败的操作?或者除了手动之外还有其他方法可以清除失败的操作吗?

答案1

这是设计使然。包括我在内的一些管理员喜欢查看错误,以便我们了解错误发生的时间并进行调查。此外,pacemaker 需要跟踪这些错误,以便决定从何处启动资源最好。

不过,如果没有发生新的故障,Pacemaker 确实有一种方法可以在指定时间后清除故障。这称为故障超时。这可以针对每个资源进行配置,但下面是如何使用 crm shell 将其指定为集群范围的资源默认值。我希望 pcs 也有一种方法来定义它。

crm configure rsc_defaults failure-timeout=15m

请注意,这仅在 cluster-recheck-interval 上进行检查,默认情况下为每 15 分钟一次。如果将故障超时设置为 15 分钟,则根据故障发生的具体时间,可能需要 29 分 59 秒才能清除。

答案2

您也可以手动清除错误状态(“清理”):

crm_resource -C -r apache -N server1 -n monitor

显然你指定资源名称, 这节点手术

如果节点上出现本地问题,错误状态可防止在坏节点上反复尝试操作并失败。在进行手动测试时,手动清理比某些自动清理(根据要求)更自然。

时不时地检查集群是否有错误是一个好习惯。当然,尝试修复这些问题将建立一个“良好的集群”。

相关内容