openGauss集群数据盘迁移,生产实战

2024-09-03 01:12

本文主要是介绍openGauss集群数据盘迁移,生产实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、
高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理微信:jem_db
QQ交流群:587159446
公众号:IT邦德

半导体等核心MES制造执行系统是设备数据采集、设备联网管理、质量管理等数字化的制造核心应用软件。这不也就刚刚 ,国产数据库openGauss突发数据磁盘爆满,主备集群宕机,以下是故障紧急处理的全流程,分享给大家!

1.故障现象

由于半导体某制造业产能提升,原有部署的openGauss数据分区空间不足,直接造成openGauss集群宕机,造成核心应用故障,影响生产。

手动启动集群的时候已经发现无法启动,此时排查服务器分区使用情况,发现数据文件所在的磁盘分区/根目录使用已经到达100%

此时发现备库也无法使用,处于修复状态

2.故障处理

此时唯有停机进行数据文件分区的迁移,以下为处理的过程

2.1 挂载新的分区

通过LVM管的方式,在主备库挂在了/u01分区用于openGauss数据盘,后面进行迁移。

LVM 的全名是 Logical Volume Manager,
中文可以翻译作逻辑卷轴管理员。之所以称为“卷
轴”可能是因为可以将 
filesystem 像卷轴一样伸长或缩短之故吧!
LVM 的作法是将几个实体的
partitions或disk
通过软件组合成为一块看起来是独立的大磁盘VG,
然后将这块大
磁盘再经过分区成为可使用分区LV, 
最终就能够挂载使用了

2.2 停集群迁移

--此步操作为停集群
[omm@gaussdb1 ~]$  gs_om -t stop
Stopping cluster.
=========================================
Successfully stopped cluster.
=========================================
End stop cluster.
--此部操作为迁移openGauss数据路径新建/u01分区的数据使用目录,记得授权哈
mkdir -p /u01/openGauss/data/dn
chmod 775 /u01 -R
chown omm:dbgrp /u01 -R--记住omm用户下带权限拷贝
cp /openGauss/data/dn 
/u01/openGauss/data/dn -r

2.3 修改配置文件

openGauss安装前的配置文件非常重要,一定在安装后记得保存,防止后期集群变更使用。

以下只要修改安装部署使用的XML文件配置
红色部分,替换原有的路径/openGauss/data/dn
为现在的/u01/openGauss/data/dn即可

2.4 重构cluster_config配置

因为这套集群是CM管理的方式,需要找到cluster_config配置文件,搬移数据库后修改配置路径再启动。

在主库通过以下命令重构集群配置,并分发给备库
gs_om -t generateconf 
-X XMLFILE --distribute注:XMLFILE就是安装集群的配置文件

以上命令执行后实际文件是修改的
$GAUSSHOME/bin/cluster_static_config
它是一个二进制文件,通过strings可以查看
我们发现主备库的集群配置都更新了
数据文件统一更新为了
/u01/openGauss/data/dn

2.5 重新启动集群

[omm@gaussdb1 ~]$ gs_om -t start
Starting cluster.
======================================================================
Successfully started primary instance. Wait for standby instance.

3.恢复后续工作

3.1 业务连接中断处理

数据库恢复后发现有一些报表业务,
短链接出现页面无法展示数据的问题,后台报以下错误
### Error querying database.  
Cause: org.postgresql.util.PSQLException: 
FATAL: terminating connection due to administrator command
原因如下;
长连接但是长期不用,然后第一次做sql 
就报错会话超时了
确定长连接用的中间件,
有定期空闲后去select做一下
下保活的机制即可。
本次是将
session_timeout 改为 0 关掉后
故障恢复了

3.2 统计信息处理

业务恢复后发现部分查询界面无法出结果,因为是做了数据盘的迁移,需要做一次全库的统计信息即可

openGauss统计信息会自动收集,10min一次,
死元祖超过10%的阈值才会满足触发条件收集统计信息,
生产环境可以改小点。--重点关注的参数如下:
autovacuum_mode
autovacuum_naptime
autovacuum_analyze_scale_factor

处理的办法就是给全库做了一下统计信息的收集

核心的大表数据也根实际吻合了

4.总结

通过这一次故障我们发现,其实在国产库数据库的使用过程中,必不可少的会有一些故障,这是正常的。我们需要的是完善的处理机制,需要的是大量的案例供我们的用户参考使用,希望这次故障的处理能帮助到大家!

这篇关于openGauss集群数据盘迁移,生产实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131603

相关文章

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1