连升三级!openGauss单机版从2.1.0经停3.0.0升级至5.0.0

2024-05-12 19:44

本文主要是介绍连升三级!openGauss单机版从2.1.0经停3.0.0升级至5.0.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

如前文所述,我们的小demo项目起初安装了openGauss的2.1.0版本,由于2.1.0不是长期维护(LTS)版本,所以要升级到5.0.0LTS。考虑到虽然是DEMO项目,但也有些体验用户,所以为了保障业务连续性,决定还是按照升级的方式,而不采取卸载重装的方式。本篇从2.1.0经停3.0.0再到5.0.0版本升级过程的简要总结,供朋友们参考和指导。

升级路径:

官网对于从2.1.0到5.0.0的升级路径是不保证成功的,但是对于2.0.0的升级路径是支持的,可以从2.0.0到3.0.0,也可以从2.0.0直接到5.0.0,当然3.0.0也可以到5.0.0,如下图所示:

 

参考:https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/DatabaseOMGuide/%E5%8D%87%E7%BA%A7%E5%89%8D%E5%BF%85%E8%AF%BB.html 

下面开始升级的操作过程:

1. 查看数据库版本和状态信息

gs_om -t status --detail

gsql -p 26000 -d postgres -U omm 

gaussdb –V 

2. 检查OS

gs_checkos -i A (该命令需在root用户下执行,可选执行)

3. 检查数据库和表信息

 创建了一个demo项目用的数据库,以及用到的表,表里面有部分测试数据。

 

select count(1) from device;

4. 备份数据(商用环境务必执行,内部调测环境建议执行)

因升级如果失败,存在数据库不能启动且不能回退的风险,因此强烈建议备份数据,具体备份策略可根据实际业务情况确定。

5. 创建3.0.0版本升级目录目录命名可自行确定,建议见名知意

偷懒起见,我把5.0.0的升级目录也直接创建了,放在software目录下,可根据个人情况自行制定。

mkdir gaussdb_upgrade3.0.0

6. 下载3.0.0版本软件包

   进入创建好的3.0.0的目录: 通过wget下载3.0.0的软件包,注意查看操作系统及版本,制式正确。

wget:https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/x86_openEuler/openGauss-3.0.0-openEuler-64bit-all.tar.gz 

注意尽管3.0.5是3.0.x最新的包但是由于3.0.5版本发布日期比5.0.0更晚,因此不支持3.0.5到5.0.0的升级路径。我刚开始用了这个包走了好多弯路,在HW朋友们的帮助和提醒下才后知后觉的了解到这点

7. 解压

(这部分和安装类似,就不做详细展开)

tar zxvf openGauss-3.0.0-openEuler-64bit-all.tar.gz
tar zxvf openGauss-3.0.0-openEuler-64bit-om.tar.gz

8. 执行preinstall

(这部分和安装类似,就不做详细展开)

进入script目录,执行preinstall命令,注意要用root用户执行:

./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/5.0.1/script/clustcfg/clust_config.xml

执行过程会询问是否创建omm用户,回复yes。

 

9. 修改目录权限

如不修改会提示文件无访问权限。

chmod 755 -R /opt/software/gaussdb_upgrade3.0.0/

10. 执行升级过程

关于openGauss就地升级和灰度升级的区别,主要在于灰度升级的时候业务不中断。切换至omm用户,执行升级命令,注意确认路径在3.0.0。 

 

gs_upgradectl -t auto-upgrade -X /opt/software/openGauss/5.0.1/script/clustcfg/clust_config.xml --grey 

升级成功。

11. 检查升级效果

检查数据库版本:

 检查数据库和表存在:

 

12.  提交升级

若经过3.0.0升级至5.0.0,则一定要提交升级,否则在升级5.0的时候会报错。另外需注意,提交升级之后就不能再回退至升级前的版本了。

gs_upgradectl -t commit-upgrade -X /opt/software/openGauss/5.0.1/script/clustcfg/clust_config.xml

 

13. 再次查看数据库版本和状态信息

gs_om -t status –detail

---至此,版本已成功升级至3.0.0

14. 创建5.0.0版本升级目录

(过程上需要记录,但我们偷懒在前面已经一并创建了)

mkdir gaussdb_upgrade5.0.0

 

15. 下载5.0.0版本软件包

wget:https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/x86_openEuler/openGauss-5.0.0-openEuler-64bit-all.tar.gz

仍然要确认好操作系统和版本以及制式。

16. 解压5.0.0软件包

tar zxvf openGauss-3.0.0-openEuler-64bit-all.tar.gz
tar zxvf openGauss-3.0.0-openEuler-64bit-om.tar.gz

17. 执行5.0.0 preinstall

(这部分和安装类似,就不做详细展开)

进入5.0.0的script目录,执行5.0.0的preinstall,注意要用root用户执行。

18. 修改目录权限

chmod 755 -R /opt/software/gaussdb_upgrade5.0.0/

19. 执行升级过程

(推荐灰度升级方式)

切换至omm用户,执行升级过程,确认目录:

gs_upgradectl -t auto-upgrade -X /opt/software/openGauss/5.0.1/script/clustcfg/clust_config.xml –grey

说明:命令格式和3.0.0的升级一样。 

20. 检查升级效果

检查数据库版本

 

 检查数据库和表数据

 

21. 检查无误后提交升级

gs_upgradectl -t commit-upgrade -X /opt/software/openGauss/5.0.1/script/clustcfg/clust_config.xml

22. 再次查看数据库版本和状态信息 

至此,数据库已经成功从2.1.0升级至5.0.0了,由于官网的不保证,升级之前还是很忐忑的,事实证明了openGauss实际是支持的,这是一种低调的实力。

说明:

  • 请大家忽略xml文件路径中5.0.1的干扰,整个过程和5.0.1没有关系,只是前面安装5.0.1版本时把xml文件放置在这个目录下,升级时懒得改了就没动。

  • 从2.1.0也可以越过3.0.0直接升级至5.0.0,按照文中的操作步骤略作调整也可实现,考虑篇幅所限不单独罗列了。

本文内容来自于数据库领域资深技术专家赵锋老师,希望我们的文章正好能解决你的问题。

这篇关于连升三级!openGauss单机版从2.1.0经停3.0.0升级至5.0.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

macOS升级后SVN升级

问题 svn: error: The subversion command line tools are no longer provided by Xcode. 解决 sudo chown -R $(whoami) /usr/local/Cellar brew install svn

【2.1 深度学习中的感知机是什么】

2.1 深度学习中的感知机是什么 深度学习是机器学习的一个分支,它模拟人脑的工作方式来处理数据,尤其是通过神经网络的结构来自动提取数据的特征并进行分类、回归或其他复杂的任务。在深度学习的早期发展中,许多基础概念和模型为后续的复杂网络奠定了基础。其中,**感知机(Perceptron)**是一个非常重要的基础模型,它实际上是神经网络和深度学习的前身之一。 感知机的基本概念 感知机是一种二分

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

JeecgBoot 升级springboot版本到2.6.0

1. 环境描述 Jeecgboot 3.0,他所依赖的springboot版本为2.3.5Release,将springboot版本升级为2.6.0。过程全纪录,从2开始描述。 2. 修改springboot版本号 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-pare

欧拉系统 kernel 升级、降级

系统版本  cat  /etc/os-release  NAME="openEuler"VERSION="22.03 (LTS-SP1)"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 (LTS-SP1)"ANSI_COLOR="0;31" 系统初始 kernel 版本 5.10.0-136.12.0.

Cmake之3.0版本重要特性及用法实例(十三)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧

Zookeeper集群是如何升级到新版本的

方案1:复用老数据方案 这是经过实践的升级方案,该方案是复用旧版本的数据,zk集群拓扑,配置文件都不变,只是启动的程序为最新的版本。 参考文章: Zookeeper集群是如何升级到新版本的 方案2:重新建立数据方案 该方案的思路是:先停掉一台follower的机器上的服务,然后加入一个新版本的zk(zk的数据目录是空的),然后启动新zk,之后新zk会把旧集群中的数据同步过来。之后再操作另

鸿蒙开发5.0【Picker的受限权限适配方案】

Picker由系统独立进程实现,应用可以通过拉起Picker组件,用户在Picker上选择对应的资源(如图片、文档等),应用可以获取Picker返回的结果。 类型受限权限使用的picker音频ohos.permission.READ_AUDIO,ohos.permission.WRITE_AUDIOAudioViewPicker文件ohos.permission.READ_DOCUMENT,oh