GaussDB (DWS) 集群管理系列:日志压缩与回收相关问题排查

举报
CloudGanker 发表于 2021/12/25 15:47:32 2021/12/25
【摘要】 日志压缩与回收相关问题排查

GaussDB (DWS) 集群管理系列:日志压缩与回收相关问题排查

【功能原理介绍】

参考博客CM功能介绍:日志压缩与回收

【确定功能是否开启】

参考博客 CM功能介绍:日志压缩与回收

【参数调整】

确保日志压缩功能开关已打开并生效

首先参考CM功能介绍:日志压缩与回收,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效。

参数检查

参考CM功能介绍:日志压缩与回收中“配置参数”章节,检查cm配置。

如果log_max_size = 1024,并且日志所在磁盘的容量超过100GB,则可通过下面命令将该参数调大(注意是4095不是4096!):

# 8.1以及之后版本
gs_guc reload -Z cm -c "log_max_size = 4095"
# 8.1之前版本
gs_guc set -Z cmagent -N all -I all -c "log_max_size = 4095"
gs_ssh -c "ps ux | grep -v grep | grep cm_agent | awk '{print \$2}' | xargs kill -9"

【日志文件压缩检查】

确保日志压缩功能开关已打开并生效

首先参考CM功能介绍:日志压缩与回收,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效。

检查日志盘的倾斜率

执行gs_ssh -c "df -h"检查$GAUSSLOG路径所在磁盘的使用率是否倾斜。如果有使用率明显偏高的节点,则登陆并执行后续检查;否则在任意节点上均可执行后续检查。

检查空间较大的目录

进入$GAUSSLOG目录,执行du -sh *查看占用磁盘较多的目录,例如输出:

F8D11331-07D6-4965-B534-DE1412F363D8.png

说明gs_profile目录占用空间较大。

检查gs_profile目录

如果gs_profile目录较大,则进入并统计是否存在较多日志文件。

该目录具有类似下面的结构:

0ED6E15F-E36F-46B0-987F-4B3CADEEAB20.png

如果日志文件较多,并且日志切分非常频繁,则可执行下面命令关闭gs_profile下日志的生成:

# plog_merge_age主要用于OBS/IO等相关的性能日志
gs_guc reload -Z coordinator -Z datanode -N all -I all -c "plog_merge_age = 0"

关闭后,手动执行清理即可:

find . -name "*.prf" -o -name "*.prf.gz" | xargs rm -f

检查pg_audit目录

如果pg_audit目录较大以至于磁盘使用率超过80%以上,则联系华为工程师处理。

检查om目录

本小节清理的方法,可增加crontab任务的方式定期清理(一般每月执行一次即可)。

内核8.1.1以及之后的版本,如果出现上面情况,请联系华为工程师。

检查om目录下是否存在较多未压缩的日志文件,例如(忽略下图的文件大小):

99FFE403-D60A-4258-B46E-D2D291FED91C.png

如果存在上图中gs_checkperfgs_local文件较多且未压缩的情况,则参考下面命令分别将其清理:

# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除

# 清理gs_checkperf*.log和gs_checkperf*.log.gz
ls -hlt gs_checkperf*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f
ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f

# 清理gs_local*.log和gs_local*.log.gz
ls -hlt gs_local*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f
ls -hlt gs_local*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f

上图中gs_om日志也有类似情况,可参考清理。

如果snas_cm_cmd.log文件特别大,则可将其清空(不能删除!不能删除!不能删除!):

cat /dev/null > snas_cm_cmd.log

【日志文件数检查】

进入$GAUSSLOG目录,使用如下命令统计日志文件数:

find . -name "*.log" -o -name "*.gz" | wc -l

如果统计结果超过20000,请联系华为工程师。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。