连升三级!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,按照文中的操作步骤略作调整也可实现,考虑篇幅所限不单独罗列了。
本文内容来自于数据库领域资深技术专家赵锋老师,希望我们的文章正好能解决你的问题。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【GaussTech速递】数据库技术解读之细粒度资源管控
背景 对数据库集群内资源管控与资源隔离一直是企业客户长久以来的诉求。华为云GaussDB作为一款企业级分布式数据库,一直致力于满足企业对大型数据库集群的管理需要。 数据库可以管理的资源有计算资源与存储资源,计算资源包括CPU、内存、IO与网络,存储资源包括数据存储空间、日志存储空间与临时文件等。 从用户角度来看,资源管控通过设定阈值或者优先级限定程序对资源的使用,保证承诺服务等级协议的同时,又满足不同用户间资源隔离,达成多个租户共享数据库资源的目的。 从系统的角度来看,引入资源监控与控制的手段,可以实现资源在可控情况下被合理利用的目的,避免资源耗尽,防止系统停止响应、崩溃等情况的发生。作业优先级,可以保证作业平稳运行,避免某个作业占用资源过高时影响其他作业,并在资源富裕时,实现资源利用的最大化。除此以外,还能满足外部的期望,保证系统资源使用最大化。通过对作业控制,可以保证作业是平稳的,避免作业执行过程中出现不可控的行为。 为了解决上述目标,华为云GaussDB数据库提供了一种对数据库集群内资源进行细粒度管控的方案——细粒度资源管控。该方案在不同的管控粒度(如用户级、会话级与语句级)和不...
- 下一篇
openGauss dfx工具梳理
日志pg_log 文档链接:https://docs-opengauss.osinfra.cn/zh/docs/latest/docs/DatabaseReference/%E9%94%99%E8%AF%AF%E6%8A%A5%E5%91%8A%E5%92%8C%E6%97%A5%E5%BF%97.html 主要看的一般就是pg_log。 pg_log的记录内容、格式、级别等,都有相关的GUC进行控制。 常用的:log_min_messages、logging_module。 openGauss 系列表视图函数 文档链接1:https://docs-opengauss.osinfra.cn/zh/docs/latest/docs/SQLReference/%E5%87%BD%E6%95%B0%E5%92%8C%E6%93%8D%E4%BD%9C%E7%AC%A6.html 文档链接2:https://docs-opengauss.osinfra.cn/zh/docs/latest/docs/DatabaseReference/%E7%B3%BB%E7%BB%9F%E8%A7%86%E5...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6