暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase创建备集群任务超时故障排查

IT那活儿 2025-04-02
131

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  


背景需求

一套测试环境需搭建一套1zone三节点的备集群,对新分配的三台主机做环境初始化后开始在OCP上执行创建备集群的操作(主备集群使用同一套OCP),主机资源32C125GB。


问题现象

创建备集群,执行到Wait standby cluster sync时提示子任务超时,无任何其他报错,怀疑是参数配置问题,结果出乎意料之外。


排查步骤

首先登录的主集群的OceanBase库检查是否支持创建备集群,结果无报错,说明是支持的:

随后尝试跳过或重试该任务提示任务状态为Running,只能切至OCP库后台手工修改任务状态进行重试(也可以终止任务后回滚),获取创建备集群的任务ID,操作如下:

mysql -h proxyip -P2881 -uroot@ocp_meta -p -Ac -Docp

更新后任务状态为失败,再次进行重试,20分钟后仍超时,查询官方手册,OCP版本号: 4.2.2-20240425204033负载均衡后等待后台任务的超时时间默认为20分钟,修改ocp_metadb集群balancer_task_timeout参数为60分钟后再次尝试,仍20分钟后失败,和此参数无关,准备回滚重建,重新核对集群信息,怀疑和内存参数有关,修改配置如下:

继续重建:

查看备集群的等待事件(mysql -h备集群OBserverIP -P2881 -uroot@sys -p -Ac -DoceanBase)。

select * from __all_rootservice_event_history order by gmt_create desc limit 10;

发现创建资源池报错,检查主集群资源使用情况,确实存在超过90%的zone,所以推测备集群创建同等资源规格的资源池无法成功。

最后通过调小主集群的租户资源配置后,重建备集群成功,创建完再将资源调回以前的规格,以免影响业务测试。


问题小结

经了解,这种情况其他同事也在不同的生产环境中遇到过几次,例如主集群3-3-3,备集群同配置主机,但架构是2-2-2,也出现这种情况,后面临时借用未使用的空闲机器部署完后再踢出去才解决。

归根结底还是资源配置不足所致,但本次备集群的资源配置和集群架构都是一致的,只是主集群租户资源配置超限了,竟也影响备集群的创建,可见资源配置对OB集群的影响是极其大的,建议创建备集群时配置memory_limit_percentage参数为90,默认是80,如果是空集群的话不必理会。


END


本文作者:江梦豪(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论