探索BI系统搭建的必要性与AI技术的应用潜力
656
2022-05-28
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 *查看占用磁盘较多的目录,例如输出:
说明gs_profile目录占用空间较大。
检查gs_profile目录
如果gs_profile目录较大,则进入并统计是否存在较多日志文件。
该目录具有类似下面的结构:
如果日志文件较多,并且日志切分非常频繁,则可执行下面命令关闭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目录下是否存在较多未压缩的日志文件,例如(忽略下图的文件大小):
如果存在上图中gs_checkperf和gs_local文件较多且未压缩的情况,则参考下面命令分别将其清理:
# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除 # 清理gs_checkperf*.log和gs_checkperf*.log.gz ls -hlt gs_checkperf*.log | awk 'NR>1{print
# 时间戳从新到旧的方式列出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
}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print# 时间戳从新到旧的方式列出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
}' | 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# 时间戳从新到旧的方式列出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
}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f ls -hlt gs_local*.log.gz | awk 'NR>1{print# 时间戳从新到旧的方式列出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
}' | 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,请联系华为工程师。
EI企业智能 Gauss AP 数据仓库服务 GaussDB(DWS)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。