电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

磁盘满方案速查

来源:金蝶云社区作者:金蝶2024-09-2316

磁盘满方案速查

# 问题描述 苍穹机器磁盘占比高或者满,轻则导致es只读不再记录日志,重则导致k8s异常业务中断,运维人员需要做好定期巡检和监控,以下总结部分苍穹部署后常见的磁盘问题解决方法 # 解决方法 ## 定位占比高的文件 首先查看当前磁盘占比,一般根目录和苍穹安装目录不能超过85% ``` df -h #如果过滤结果容器目录太多可以使用下面的语句不显示 df -h |egrep -v "docker|k8s" ``` ![1.webp](/download/0100f5c8570afd67482fb5b1bb93b7e953cb.webp) 不清楚如何定位可以从根目录开始查 ``` cd / du -sh * #从显示结果中找到占用最大的目录,切换到此目录下继续执行du -sh *,循环直到确定是什么程序占用高 ``` ![3.webp](/download/01005870f5a92d1d4961b520c8468fe07963.webp) 以下列举一些苍穹常见的磁盘占用大解决方法,示例安装路径选择的是/kingdee,现场请根据真实情况修改 ## zookeeper占用高 zookeeper目录下data占比高,里面主要是zk的快照和日志,可以配置自动清理,详细参考: [zookeeper数据导致服务器磁盘空间满处理方法](https://vip.kingdee.com/link/s/lHNQE) /kingdee/cosmic/common/zookeeper/zookeeper-3.5.9/conf/zoo.cfg 添加: autopurge.snapRetainCount=5 autopurge.purgeInterval=1 保存后重启zookeepe就会自动释放 ![4.webp](/download/0100620b0a32e7924f058898f16292329fce.webp) ## rabbitmq占用高 mq默认数据存放在/var/lib/rabbitmq/mnesia,如果此目录磁盘占用高,程序使用了mq没有关闭,或消息队列积压严重等原因导致,需要优先解决mq的问题占用自然会释放。 ![13.webp](/download/01002145a7ee0fbe46a19b91d53e0e9dff0f.webp) ## kafka占用高 kafka目录下kafka-logs占比高,里面是苍穹发送到kafka的日志数据,分为2种情况: 1. 没有开启定期清理功能,导致过期数据未清理,配置清理清理,详细参考: [kafka 官方配置文档](https://kafka.apache.org/documentation/#compaction) /kingdee/cosmic/elk/kafka/kafka_2.12-3.2.0/config/server.properties 添加: #设置日志保留48小时 log.retention.hours=48 #自动清理日志开关 log.cleaner.enable=true #日志清理检查周期(毫秒) log.retention.check.interval.ms=300000 #日志文件每个segment的大小,默认为1G log.segment.bytes=1073741824 保存重启后,kafka会标记过期的文件,在下一个清理周期后删除文件 ![5.webp](/download/0100dfedb70810bf4c29b238733efaf6ecb3.webp) 2. 开启清理的情况下占用依旧高,一般是由于苍穹日志过多导致,请参考下面es部分 ## es占用高 elasticsearch目录下esdata占比高,日志保留过多,可以先确认索引情况 curl http://127.0.0.1:9200/_cat/indices -u账号:密码 ![6.webp](/download/0100f5601e56f70f494db733ec7deeaa8e60.webp) 1. 可以通过索引名后缀的时间来判断es自动清理脚本是否正常运行,示例图片的同时存在2个月的,说明定时任务失败了,脚本/home/elsearch/autoclear.sh,手动sh执行根据报错信息修复,并重新配置elsearch用户crontab实现定期清理。 ```language #es索引自动清理脚本,默认7天可以自行修改 #!/bin/bash es_user=es账号 es_password="es密码" retain_time=`date +%Y%m%d -d "7 days ago"` function delete_indices() { time_num=`echo $1|sed 's/-//g'` if [ ${time_num} -lt ${retain_time} ];then curl -X DELETE http://127.0.0.1:9200/*$1 -u ${es_user}:${es_password} fi } curl -XGET http://127.0.0.1:9200/_cat/indices -u ${es_user}:${es_password} |awk '{print $3}' |grep '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}'|awk '{print substr($0,length($0)-9)}'|sort -n|uniq|while read line; do delete_indices $line; done ``` 2. 如果是每个索引的磁盘占用都很大(会导致kafka和es的磁盘占用同时变大),那说明苍穹每天产生的日志很多。不同场景可能不一样,但开启了sql输出肯定会出现此情况。是否开了可以在monitor中查询到: ![7.webp](/download/0100049da9c94a694ff2ba79c365221a7f79.webp) 非必要情况下建议关闭这2个值,mc-公共环境变量/集群配置信息中找到此值修改为false保存发布,确认monitor界面刷新后为false才生效。 针对当前特别大的索引,可以手动删除,紧急情况下可以删除较大索引释放资源使用: ```language curl -XDELETE http://127.0.0.1:9200/索引名 -u es账号:密码 ``` ![8.webp](/download/010037a0fd63b54c4e0eac1b2e3a354585f3.webp) > 索引名为:集群名-span-yyyy-MM-dd 是开启了monitor中调用链的功能,此功能也会产生大量数据,可以根据现场需求开或关。 ## postgresql占用高 pg占用高,可以先判断具体是哪个目录高再确定如何解决 ![9.webp](/download/010070d17774eb004de399d2e99f1419b2f5.webp) #### 截图tree仅是展示结构,现场可以按照之前du -sh * 来确定文件大小 ### 1. archivelog 归档日志 归档日志是事务日志wal归档后生成的文件,修改postgresql.conf中archive_command项可以自定义路径。 ![14.webp](/download/01002db78df7797c4fc5801a787f304190f4.webp) 关闭归档则不会有文件,开启归档的情况下会不断增长,需要自行配置清理脚本结合crontab实现定期清理。脚本可以参考示例 ```language #每天凌晨2点自动清理对应目录下建立时间超过7天的文件,仅作参考。 crontab -e #编辑当前用户的计划任务,复制下一行内容后保存退出 0 2 * * * find /kingdee/cosmic/

磁盘满方案速查

# 问题描述苍穹机器磁盘占比高或者满,轻则导致es只读不再记录日志,重则导致k8s异常业务中断,运维人员需要做好定期巡检和监控,以下总结...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信