openGauss数据库pg_xlog爆满问题解决

news2024/12/25 23:54:31

文章目录

  • 问题现象
  • 问题定位
  • 解决办法
  • 总结

问题现象

最近有一个之前搭的环境登不上了,好久没用想拿来测试的时候发现启动不了。启动时报错:
[Errno 28] No space left on device
在这里插入图片描述

query也不行了,提示没有空间了。
在这里插入图片描述

查询磁盘使用情况 df -h ,果然100%
在这里插入图片描述

这个环境当时安装的是主备,看了下备库的服务器,发现不知道啥时候已经被删库了,安装用户都不在了。

问题定位

进一步排查主库服务器,发现opt目录下的空间最可疑。

[root@opengauss1 /]# du  -lh --max-depth=1

根据经验直奔data/dn目录,果然就是这里 ,pg_xlog下面产生了过多日志文件。
在这里插入图片描述

看了下文件个数,有1500多个。

[root@opengauss1 pg_xlog]# ls -l  |wc -l
1591

但是pg_xlog是WAL日志,是不能直接删除的。我们在另外空闲的空间下/tmp新建目录,再挪一部分xlog过去

[omm@opengauss1 ~]$ cd /tmp/
[omm@opengauss1 tmp]$ ll
total 0
-rw-r--r-- 1 root root  0 Mar 22 11:40 ck_monitor.lock
drwxr-x--- 2 root root 40 Sep 29 10:00 his-matrixagent_job
-rw-r--r-- 1 root root  0 Mar 22 11:40 monitor.lock
dr-xr-x--- 2 root root 40 May 27  2022 pub
drwx------ 3 root root 60 May  6  2022 systemd-private-ff4a118aad534bfe95b6b390fe984558-chronyd.service-Cy8Q8X
drwx------ 3 root root 60 May  6  2022 systemd-private-ff4a118aad534bfe95b6b390fe984558-systemd-logind.service-KrDeKX
[omm@opengauss1 tmp]$ mkdir xlog_mv_322

回到 pg_xlog目录 执行迁移

[omm@opengauss1 pg_xlog]$ ls -ltr | head -n 100 | awk '{print "mv "$9  " /tmp/xlog_mv_322/"}' | sh

再尝试重新启动数据库。因为我的备库已经完全废弃了,只能指定以主库模型重启 加 -M primary参数。

[omm@opengauss1 pg_xlog]$ gs_ctl  start -D /opt/huawei/install/data/dn/ -M primary

主库启动成功。登进去查看逻辑复制槽。

[omm@opengauss1 pg_xlog]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:19 commit 0 last mr  )
NOTICE : The password has been expired, please change the password.
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=# select * from pg_replication_slots;
slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn | dummy_standby
-----------+--------+-----------+--------+----------+--------+------+--------------+-------------+---------------
dn_6002   |        | physical  |      0 |          | f      |      |              | 1/4C6B8F70  | f
(1 row)

删除失效逻辑复制槽

openGauss=# select * from pg_drop_replication_slot('dn_6002');
WARNING:  replicationSlotMinLSN is InvalidXLogRecPtr!!!
WARNING:  replicationSlotMaxLSN is InvalidXLogRecPtr!!!
pg_drop_replication_slot
--------------------------
(1 row)
openGauss=#  select * from pg_replication_slots;
slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn | dummy_standby
-----------+--------+-----------+--------+----------+--------+------+--------------+-------------+---------------
(0 rows)

查看相关参数

openGauss=#  show wal_keep_segments;
wal_keep_segments
-------------------
16
(1 row)
openGauss=# show max_size_for_xlog_prune;
max_size_for_xlog_prune
-------------------------
2147483647kB
(1 row)
openGauss=# show enable_xlog_prune;
enable_xlog_prune
-------------------
on
(1 row)
openGauss=# show archive_mode;
archive_mode
--------------
off
(1 row)
openGauss=# \q

综合看下来, max_size_for_xlog_prune参数的问题,它表示如果有备机断连且xlog日志大小大于此阈值,则回收日志。但是,默认值 给 的 太大了2048G,但是我这个环境只有40G,磁盘撑爆了。

解决办法

知道了问题,那么解决方法就是修改max_size_for_xlog_prune为4G,多余的日志 让DB自动清理。
在这里插入图片描述

[omm@opengauss1 pg_xlog]$ gs_guc reload -D /opt/huawei/install/data/dn/ -c "max_size_for_xlog_prune=4194304"

再去查看空间已经释放。
在这里插入图片描述

问题解决,主库又能继续坚持工作了。

总结

当归档或流复制发生异常时,事务日志会不断生成,如果默认值没修改,可能会造成磁盘撑爆,直接导致DB挂掉还起不来。遇到pg_xlog爆满时,先备份一部分pg_xlog日志到其他地方,删掉较早时间的日志,等有一定磁盘空间后再尝试启动数据库,然后设置合适的参数值,最后修复问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车间设备能源管理系统作用有哪些?

由于能源消耗不断的增加,对于高耗能企业要实现节能转型,淘汰落后高耗能产业,提供能源的有效利用,实现节能减排,合理利用能源,从而促进企业的经营绩效。 车间设备能源管理系统优点 1.精细化管理 可以对车…

探索【Stable-Diffusion WEBUI】的附加功能:图片缩放抠图

文章目录 (零)前言(一)附加功能(图片处理)(1.1)处理对象(Source)(1.2)缩放(Scale)(1.2.1&#xff…

【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述

【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述 【论文原文】:A Survey on Deep Learning Event Extraction Approaches and Applications 【作者信息】:Li, Qian and Li, Jianxin and Sheng, Jiawei and Cui, Shiyao and Wu, Jia and Hei,…

畅谈自然语言处理——初识NLP技术

畅谈自然语言处理——初识NLP 文章目录 畅谈自然语言处理——初识NLP一、引言二、NLP技术的定义分类三、三个发展阶段1、基于规则的算法2、基于统计的NLP算法3、基于深度学习的NLP算法 结语 一、引言 最近,一个名为ChatGPT的模型将计算机领域震撼,它以对…

Linux系统之部署webmin开源管理工具

Linux系统之部署webmin开源管理工具 一、webmin简介1.webmin简介2.webmin特点 二、本地环境介绍1.本次实践目的2.本地环境规划 三、检查本地环境1.检查操作系统版本2.检查系统内核版本 四、配置webmin的yum仓库1.编辑webmin.repo仓库文件2.查看yum仓库状态 五、部署webmin1.添加…

在docker安装Python环境提供给其他docker使用

1. 在宿主机新建一个目录2. 在app目录下新建一个Dockerfile文件本文永久更新地址: 1. 在宿主机新建一个目录 在宿主机上新建一个目录如app/,在app目录里面导入项目需要依赖的包 在项目根目录下输入命令,导出python项目所有的依赖包 pip freeze > r…

(二十二)查找算法-斐波那契算法

1 基本介绍 (1)黄金分割点是指一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618.由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇…

Android Fragment懒加载机制分析与详解

一、介绍 Fragment是Android3.0以后引进,称为碎片。它与Activity非常相似,用一个Activity中描述一些行为或者一部分用户界面,使用多个Fragment可以在一个单独的Activity中建立多个UI面板,也可以在多个Activity中使用Fragment。 Fr…

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。通常, 网络程序在下列情况下需要使用 I/O 复用技术: 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…

档案库房温湿度管理暂行规定

档案馆温湿度管理暂行规定 来源:本站 日期:2021-8-27 浏览量:1067 档案馆温湿度管理暂行规定 (1985年11月23日国家档案局 国档发〔1985〕42号通知印发) 档案馆是永久保管档案的基地,档案馆建筑是档案馆工作的基础…

用Flutter你得了解的七个问题

Flutter是Google推出的一款用于构建高性能、高保真度移动应用程序、Web和桌面应用程序的开源UI工具包。Flutter使用自己的渲染引擎绘制UI,为用户提供更快的性能和更好的体验。 Flutter使用Dart语言,具有强大的类型、效率和易学能力,基本上你…

前端实战(三):element-ui开关组件的二次封装

目录 二次封装 Switch 开关 原始效果 设计效果 实现步骤 在日常开发过程中,大多数项目主要以 vue 为主,并且现在很多公司仍在使用着 vue。但在使用element-ui组件时通常会遇到一些问题:如组件样式与设计不符合、组件不存在某个功能等等&a…

5年测试经验,自动化都不会?月薪11K都难拿....

我接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的同行。 我从事软件自动化测试已经近十年,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了解…

Spring种存取Bean的5种注解

存取Bean的五种注解 存储Bean对象两种方式1.添加一行bean2.使用注解的方式(5大注解)Controller(控制器存储)Service(服务存储)Repository(仓库存储)Component(组件存储)Configuration(配置存储)方法注解 Bean 获取Bean对象(三种)1.属性注入2.setter注入3.构造方法注入三种注入的…

自动驾驶TPM技术杂谈 ———— CCRT验收标准(测试项目)

文章目录 试验项目行车辅助跟车能力测试方法前车静止识别与响应前车低速识别与响应前车减速识别与响应前车切入识别与响应前车切出识别与响应跟随前车启停 单车道组合控制能力测试方法车道居中保持交通拥堵辅助高速驾驶辅助 换道辅助能力测试方法无干扰车换道有干扰车换道 泊车…

《面试1v1》java泛型

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 面试官:小伙子,说实话,泛型这个机制一开始我也是一头雾水,搞不太明白它到底要解决什么问题。你能不能不那么书呆子,给我普普通通地讲一讲泛型? 候选人…

真正的进步,是创业者和员工的共同进步

再伟大的事业,也是由人一点一滴创造出来的。 人,是企业中最基础的存在,下层基础决定上层建筑,管理公司企业,也是人与人之间的交流问题。 创业十余年,与市场打交道,也与人打交道。 对外&#x…

ArduPilot Kakute F7 AIO DIYF450 之GPS配置

ArduPilot Kakute F7 AIO DIYF450 之GPS配置 1. 源由2. 步骤2.1 模块预测试2.2 物理连接2.3 UART配置2.4 Compass使能2.5 GPS使能2.6 校准Compass 3. GPS & Compass配置效果3.1 Mission Planner界面3.2 QGroundControl界面3.3 ArduPilot配置修改 4. 参考资料 1. 源由 之前…

选址-路径问题(Location-Routing Problem, LRP)

今天为大家介绍的是选址-路径问题(Location-Routing Problem, LRP),首先上目录 目录 问题简介 基础模型、扩展问题及应用 算法 参考文献 1 问题简介 为了更好地了解这个问题,我们不妨当一波老板。 想象一下我们是经营一家口罩生产企业的老板&am…

RocketMQ基本概念

RocketMQ 一 引言 Message Queue(消息 队列),从字⾯上理解:⾸先它是⼀个队列。先进先出的数据结构——队列。消息队列就是所谓的存放消息的队列。 消息队列解决的不是存放消息的队列的⽬的,解决的是通信问题&#x…