19.8. 使用许多资源配置大型集群

如果要部署的集群由大量节点和许多资源组成,您可能需要为集群修改以下参数的默认值。

cluster-ipc-limit 集群属性

cluster-ipc-limit 集群属性是在一个集群守护进程断开连接前的最大 IPC 消息积压。当在大型集群中同时清理或修改大量资源时,大量 CIB 更新会一次性进行。如果 Pacemaker 服务没有时间处理 CIB 事件队列阈值前的所有配置更新,这可能会导致速度较慢的客户端被驱除。

在大型集群中推荐的 cluster-ipc-limit 值是集群中的资源数量乘以节点的数量。如果您在日志中看到"Evicting client"消息,则可能会引发该值。

您可以使用 pcs property set 命令从默认值 500 增加 cluster-ipc-limit 的值。例如,对于具有 200 个资源的十个节点集群,您可以使用以下命令将 cluster-ipc-limit 的值设置为 2000。

# pcs property set cluster-ipc-limit=2000
PCMK_ipc_buffer Pacemaker 参数

在非常大的部署中,内部 Pacemaker 消息可能会超过消息缓冲区的大小。当发生这种情况时,您会看到以下格式系统日志中的信息:

Compressed message exceeds X% of configured IPC limit (X bytes); consider setting PCMK_ipc_buffer to X or higher

当您看到此消息时,您可以增加每个节点上的 /etc/sysconfig/pacemaker 配置文件中的 PCMK_ipc_buffer 的值。例如,要将 PCMK_ipc_buffer 的值从默认值提高为 13396332 字节,请按如下所示更改集群中每个节点的 /etc/sysconfig/pacemaker 文件中没有被注册掉的 PCMK_ipc_buffer 字段:

PCMK_ipc_buffer=13396332

要应用此更改,请运行以下命令:

# systemctl restart pacemaker