查看原文
其他

openGauss 数据库从 3.0.0 到 3.0.1 升级实践

酷哥 JiekeXu DBA之路 2024-03-03

openGauss 在 2022 年 9 月 30 日新出了 3.1.0 版本。想必有很多小伙伴已经跃跃欲试了。也有小伙伴反馈不知道如何升级或在升级过程中遇到一些问题,因此,本文将为大家详细介绍如何从 openGauss 数据库 3.0. 0升级到 3.1.0。

升级流程

升级准备

升级操作

升级验证

提交升级

►►►

升级流程





►►►

升级前必读

用户根据 openGauss 提供的新特性和数据库现状,确定是否对现有系统进行升级。


当前支持的升级模式为就地升级、灰度升级和滚动升级。升级方式的策略又分为大版本升级和小版本升级。版本号不变的升级方式为小版本升级,否则就是大版本升级。升级软件包的版本号在升级文件压缩包中的 version.cfg 的第 2 行查看。当前版本的版本号在 $GAUSSHOME/bin 下面 upgrade_version 文件的第 2 行查看。


用户挑选升级方式后,系统会自动判断并选择合适的升级策略。


就地升级:升级期间需停止业务进行,一次性升级所有节点。

灰度升级:灰度升级支持全业务操作,也是一次性升级所有节点。(openGauss1.1.0 版本之后的版本支持该功能)

滚动升级:基于灰度升级,支持升级指定节点,支持部分节点升级。(openGauss3.1.0 版本之后的版本支持该功能)


升级约束官网文档可查看:https://opengauss.org/zh/docs/3.1.0/docs/UpgradeGuide/%E5%8D%87%E7%BA%A7%E5%89%8D%E5%BF%85%E8%AF%BB.html

具体就不再一一列举,主要就是升级期间不要做增删改,生产和商业环境务必按照要求执行。


►►►

升级前准备

1. 检查升级前版本

[omm@pekphisprb70593 ~]$ gsql --version
gsql (openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:34 commit 0 last mr

2. 查看数据库节点磁盘使用率,低于 80% 时再执行升级操作。

[omm@pekphisprb70593 ~]$ df -hFilesystem      Size  Used Avail Use% Mounted on/dev/vda3        35G  7.0G   26G  22% /devtmpfs        3.9G     0  3.9G   0% /devtmpfs           3.9G   12K  3.9G   1% /dev/shmtmpfs           3.9G   49M  3.8G   2% /runtmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup/dev/vda1       976M  117M  793M  13% /boottmpfs           783M     0  783M   0% /run/user/0

3. 以数据库用户(如omm)登录节点,执行如下命令查看数据库状态,确认cluster_state   : Normal。

[omm@pekphisprb70593 ~]$ gs_om -t status
-----------------------------------------------------------------------
cluster_name    : opengSingle
cluster_state   : Normal
redistributing  : No
-----------------------------------------------------------------------

4. OS 参数检查

以 root 用户执行如下命令对服务器的 OS 参数进行检查。检查服务器的 OS 参数的目的是为了保证数据库正常通过预安装,并且在安装成功后可以安全高效的运行。详细的检查项目请参见《工具参考》中的“服务端工具 > gs_checkos”工具。

gs_checkos -i A

5. 在官网获取新的版本安装包:


https://opengauss.org/zh/download/


6. 手动备份

根据需要多一重备份,可在升级前自己先建个表,验证升级后是不是正常。

►►►

升级操作

1. root 用户创建新包目录。

mkdir -p /opt/software/gaussdb_upgrade

2.将需要更新的新包上传至目录 “/opt/software/gaussdb_upgrade” 并解压,把之前旧版本使用的 cluster_config.xml 也拷贝过来。

3. 修改属主

[root@pekphisprb70593 software]# chown -R omm:dbgrp gaussdb_upgrade/

4. 进入安装包解压出的 script 目录下,在升级前执行前置脚本 gs_preinstall。

cd /opt/software/gaussdb_upgrade/script./gs_preinstall -U omm -G dbgrp -X /opt/software/gaussdb_upgrade/cluster_config.xml
这里可能会出现报错,可根据提示重新编译 python,补充 CFLAGS=-fPIC ,cd 到 Python 安装包目录下。
./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPICmakemake install

重新执行 gs_preinstall 命令成功。

[root@pekphisprb70593 script]# ./gs_preinstall -U omm -G dbgrp -X  /opt/software/gaussdb_upgrade/cluster_config.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[omm] (yes/no)? no
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
Warning: Installation environment contains some warning messages.
Please get more details by "/opt/software/gaussdb_upgrade/script/gs_checkos -i A -h pekphisprb70593 --detail".
Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
Setting user environmental variables.
Successfully set user environmental variables.
Setting the dynamic link library.
Successfully set the dynamic link library.
Setting Core file
Successfully set core path.
Setting pssh path
Successfully set pssh path.
Setting Cgroup.
Successfully set Cgroup.
Set ARM Optimization.
No need to set ARM Optimization.
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.

5. 切换至 omm 用户,使用如下命令进行就地升级或者灰度升级。

gs_upgradectl -t auto-upgrade -X /opt/software/gaussdb_upgrade/cluster_config.xml --grey
[omm@pekphisprb70593 script]$ gs_upgradectl -t auto-upgrade -X /opt/software/gaussdb_upgrade/cluster_config.xml --grey
Static configuration matched with old static configuration files.
The authenticity of host 'pekphisprb70593 (fe80::f816:3eff:fee3:12fb%eth0)' can't be established.
ECDSA key fingerprint is SHA256:yOyJOqmNfoKjxATR/5n3JNeEQDqH2BVAKz/Sxr27clA.
ECDSA key fingerprint is MD5:42:8f:e9:f1:88:6e:18:c0:d0:68:6a:97:30:0b:d0:77.
Are you sure you want to continue connecting (yes/no)? yes
omm@pekphisprb70593's password:
omm@pekphisprb70593's password:
Successfully set upgrade_mode to 0.
Checking upgrade environment.
Successfully checked upgrade environment.
Start to do health check.
Successfully checked cluster status.
Upgrade one node 'pekphisprb70593'.
NOTICE: The directory /opt/huawei/install/app_02c14696 will be deleted after commit-upgrade, please make sure there is no personal data.
Performing grey rollback.
omm@pekphisprb70593's password:
omm@pekphisprb70593's password:
No need to rollback.
The directory /opt/huawei/install/app_02c14696 will be deleted after commit-upgrade, please make sure there is no personal data.
Installing new binary.
copy certs from /opt/huawei/install/app_02c14696 to /opt/huawei/install/app_4e931f9a.
Successfully copy certs from /opt/huawei/install/app_02c14696 to /opt/huawei/install/app_4e931f9a.
Successfully backup hotpatch config file.
Sync cluster configuration.
Successfully synced cluster configuration.
Switch symbolic link to new binary directory.
Successfully switch symbolic link to new binary directory.
Switching all db processes.
Check cluster state.
Cluster state: [ Cluster State ]
cluster_state : Normal
redistributing : No
current_az : AZ_ALL
[ Datanode State ]
node node_ip port instance state
-------------------------------------------------------------------------------
1 pekphisprb70593 10.x.x.218 15400 6001 P Primary Normal
Create checkpoint before switching.
Switching DN processes.
Ready to grey start cluster.
Grey start cluster successfully.
Wait for the cluster status normal or degrade.
Successfully switch all process version
The nodes ['pekphisprb70593'] have been successfully upgraded to new version. Then do health check.
Start to do health check.
Successfully checked cluster status.
Waiting for the cluster status to become normal.
.
The cluster status is normal.
Upgrade main process has been finished, user can do some check now.
Once the check done, please execute following command to commit upgrade:
gs_upgradectl -t commit-upgrade -X /opt/software/gaussdb_upgrade/cluster_config.xml
Successfully upgrade all nodes.

中途根据提示多次输入 omm 用户的密码,最后提示 successfully  upgrade all nodes. 就可以了。

►►►

升级验证

以数据库用户(如 omm)登录节点,source 环境变量,执行如下命令查看所有节点的版本信息。

[omm@pekphisprb70593 script]$ gsql --version
gsql (openGauss 3.1.0 build 4e931f9a) compiled at 2022-09-29 14:19:24 commit 0 last mr

以数据库用户(如 omm)执行如下命令查看数据库状态,查询结果的 cluster_state 为 Normal 代表数据库正常。

[omm@pekphisprb70593 script]$ gs_om -t status
-----------------------------------------------------------------------
cluster_name    : opengSingle
cluster_state   : Normal
redistributing  : No
-----------------------------------------------------------------------

原来的数据也在,新建表查询也正常。

opengauss_db=# select * from test1;
id
----
1
(1 row)

►►►

提交升级

升级完成后,如果验证也没问题,接下来就可以提交升级,需要注意的是,一旦提交操作完成,则不能再执行回滚操作。

以数据库用户(如 omm)执行如下命令完成升级提交。

gs_upgradectl -t commit-upgrade  -X /opt/software/gaussdb_upgrade/cluster_config.xml
至此,升级完成。

全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

❤️ 欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!

————————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————————



Oracle 表碎片检查及整理方案

OGG|Oracle GoldenGate 基础

2021 年公众号历史文章合集整理

2020 年公众号历史文章合集整理

Oracle 19c RAC 遇到的几个问题

OGG|Oracle 数据迁移后比对一致性

利用 OGG 迁移 Oracle11g 到 19C

OGG|Oracle GoldenGate 微服务架构

Oracle 查询表空间使用率超慢问题一则

国产数据库|TiDB 5.4 单机快速安装初体验

Oracle ADG 备库停启维护流程及增量恢复

Linux 环境搭建 MySQL8.0.28 主从同步环境

继续滑动看下一个

openGauss 数据库从 3.0.0 到 3.0.1 升级实践

向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存