Txsql生成的coredump文件造成docker目录满了

  无法启动, 服务异常
内容纲要

概要说明


近期发现如下txsql问题,曾在多个项目中出现:
问题现象:
每隔几秒/usr/bin/txsql/tools会生成一个core.xxx的coredump文件。
具体原因比较复杂, 可以参考 http://172.16.1.168:8090/display/TRAN/TxSQL+Todo+List+2019.6
如果放任增长的coredump文件不管可能会造成 /var/lib/docker 目录被coredump文件塞满。最终造成txsql甚至整个集群服务的崩溃。

详细说明


该问题的影响版本涉及到当前发布的所有使用txsql的产品版本。如:
TDH 7.0.1及之前版本
TDH 6.2.2及之前版本
TDH 6.0.2及之前版本
TDH 5.2.4及之前版本
TDH 5.1.6及之前版本
ArgoDB 2.1.3及之前版本
另外部分独立发布的组件:Guardian,Aquila,Manager HA都会使用到txsql,具体版本信息会陆续补充到AIOps文章中。

解决方案

为避免生产事故,针对以上集群先提供一种workaround方案 。
替换txsql启动文件boot.sh
操作步骤参考:

1、docker create transwarp/txsql:transwarp-6.0.2-final

2、docker cp 3642ce5f:/usr/bin/boot.sh boot.sh

3、在 boot.sh 文件中加上 ulimit -c 0

#!/bin/bash
ulimit -c 0
function echoWithTimestamp()
{ local ts=$(date “+%Y%m%d %H:%M:%S”) echo “$ts” “$1” }

4、将 boot.sh 替换镜像的 /usr/bin/boot.sh, 注意可执行权限问题

5、另外需要改对应txsql的metainfo, 在readinessProbe上面加上 ulimit -c 0
file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。