9.12. 随机发生 fencing
如果您发现某个节点随机发生 fence,请检查以下情况。
- 造成 fence 的根本原因总是因为某个节点丢失 token,就是说它无法与集群中的其他节点沟通,并停止返回心跳。
- 任何情况下,如果某个系统不在指定的 token 间隔中返回心跳都会导致出现 fence。默认情况下 token 间隔为 10 秒。您可以在
cluster.conf
文件 totem 标签的 tokem 参数中以毫秒为单位将其指定为所需值(例如:设定为totem token="30000"
即为 30 秒)。 - 请确定网络可正常工作。
- 确定该集群用于内部节点间沟通的接口没有使用捆绑模式 0、1 和 2 以外的模式。(从红帽企业版 Linux 6.4 开始支持捆绑模式 0 和 2。)
- 设法确定该系统是否为 "freezing" 或者内核 panicking。设置
kdump
程序看看您是否可以从这些 fence 之一中得到一个 core。 - 确定不会出现错误地归咎于某个 fence 的情况,例如因为某个存储失败弹出仲裁磁盘,或者由于一些外部因素造成类似 Oracle RAC 的第三方产品重启某个节点。这些信息日志通常对确定这样的问题非常有帮助。无论何时 fence 节点或者重启节点,标准的操作都应该是查看从发生重启/ fence 时起该集群中所有节点的信息日志。
- 对于可能导致系统如预期响应心跳的硬件错误要彻底检查系统。