KADB集群问题调查分析

情况描述:

KADB集群数据空间使用过快

分析过程:

使用gpssh命令查看集群个节点的数据空间使用情况,定位空间使用最大的目录(文件)。在集群当前的master节点(126)上执行:

gpssh –f hostfile –e ‘df –h’ | grep ‘/data’

其中hostfile文件内容为集群所以节点的主机名

该命令将集群所有节点的’/data‘(数据目录)目录空间使用情况进行输出,从而定位空间使用最多的节点。

         确定上述信息后,登录到126节点(目前126的数据目录使用最多),分别对该节点上的master实例和segment实例空间进行查看

cd /data/kadb/dbdata/

du –sh *

上述命令打印126节点的/data目录下,master实例(对应数据目录:master),segment实例(对应数据目录:primary),master实例备份目录(master_backup)分别占用的空间大小

在125节点上同样执行上述操作,并对比两种实例使用空间情况

发现126节点的master实例备份目录比125节点大1T左右。Master实例备份目录是在master实例发生切换时 对master数据目录的备份。里面的信息在集群运行正常的情况下可以删除,从而释放数据目录的总体空间

进一步查看master和segment实例的集群运行日志(pg_log目录)空间。集群的运行日志参数设置为保留一个星期,但对每天产生的日志大小没有限制。从每天的日志文件大小看,集群的一个segment实例一天产生的日志文件大小约为800GB,是导致集群数据目录空间使用过快的原因。

查看segment实例的日志文件,发现包含大量INSERT语句的日志,并且对集权执行的每条语句的执行时间进行了记录。

根据上述情况,采取调整数据库参数的方式进行改进:

  1. 将log_statement参数的值由‘ddl’进一步调整为‘none’,日志不记录sql语句
  2. 将log_duration参数的值由‘on’调整为‘off’,日志不记录语句的执行时间

分析结论:

集群数据空间和日志空间共用一个数据目录、master实例和segment实例在节点上混合部署,导致日志占用数据的空间,master节点的备份信息占用数据的空间。最终的现象表现为数据空间不足。

针对上述情况,采取限制日志记录信息的方式,争取减少日志文件的过快增长

后续方案:

  1. 调整参数,限制日志文件记录的内容,从而减少日志占用的空间
  2. 配置数据目录的监控,检测数据目录每一个小时的数据增长量。

126节点配置定时任务:

0 * * * * /home/mppadmin/kadb/bin/gpssh –f hostfile –e ‘df –h’ | grep ‘/data’ >> /tmp/df.log

根据本步骤的检测结果,决定是否对日志采取进一步的设置。

  1. 改变目前对日志文件的设置参数,由保留一个星期但不限制文件大小,改为限制文件大小和数量。

处理结果:

经监控,数据库日志未见异常增长,监控信息如下:

数据目录空间使用率,各个节点约为12%。问题解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值