该升级步骤,绕过用root用户预检查,变为手动执行升级的预安装,全部升级步骤均为omm用户进行。
一.配置信息
操作系统 X86:红旗7.6
当前数据库版本 opengauss 1.1.0
升级目标版本 opengauss 2.0.1
二.操作步骤
1.压缩包准备
上传压缩包,压缩包可在openGauss官网进行下载
https://opengauss.org/zh/download.html
将 openGauss-2.0.1-CentOS-64bit-all.tar.gz 压缩包上传至/home/omm下
cd /home/omm
tar -zxvf openGauss-2.0.1-CentOS-64bit-all.tar.gz
进入解压目录
cd /home/omm/openGauss-2.0.1-CentOS-64bit-all
解压om.tar.gz
tar -zxvf openGauss-2.0.1-CentOS-64bit-om.tar.gz
解压64bit.tar.gz
tar -xvf openGauss-2.0.1-CentOS-64bit.tar.bz2
2.检查xml文件
cat /home/omm/single.xml
3.升级前检查数据库版本
[omm@node1 ~]$ gsql --version
gsql (openGauss 1.1.0 build 392c0438) compiled at 2020-12-31 20:07:42 commit 0 last mr
4.手动执行新版本预安装
4.1先在主库进行操作
复制新包中om和server包到tool目录
目标目录:/opengauss/tool 数据库安装之后的tool目录
目前是老版本,将tool目录备份为tool_bak,并新建tool目录,
[omm@node1 ~]$ cd /opengauss
[omm@node1 opengauss]$ mv tool tool_bak
[omm@node1 opengauss]$ mkdir tool
将新版本的包复制到tool目录下
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/lib /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/openGauss-2.0.1-CentOS-64bit.sha256 /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/openGauss-2.0.1-CentOS-64bit.tar.bz2 /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/script /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/simpleInstall /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/upgrade_sql.sha256 /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/upgrade_sql.tar.gz /opengauss/tool/
[omm@node1 ~]$ cp -r /home/omm/openGauss-2.0.1-CentOS-64bit-all/version.cfg /opengauss/tool/
检查版本
cd /opengauss/tool
cat version.cfg openGauss-2.0.1 92.299 ed0ed871
压缩tool下目录内容
tar -cvjf openGauss-Package-bak_ed0ed871.tar.gz ./*
//压缩包名与version.cfg中第三行对应,为新包的server的提交id
创建数据库安装目录
cd /opengauss/app
mkdir app_ed0ed871 //目录名与version.cfg中第三行对应,为新包的server的提交id
4.2到其他几个备库全部进行如下操作:
将所有备机的tool文件全部备份,然后将主库的新的tool目录拷贝过来。并在备机创建安装目录。
cd /opengauss
mv tool tool_bak
mkdir tool
拷贝压缩包
scp omm@主库ip:/opengauss/tool/openGauss-Package-bak_ed0ed871.tar.gz omm@从库ip:/opengauss/tool
备机,解压压缩包
cd /opengauss/tool
tar -xf openGauss-Package-bak_ed0ed871.tar.gz
创建数据库安装目录
cd /opengauss/app
mkdir app_ed0ed871
5.升级操作
注意,灰度升级,数据库需要处于启动状态,不可以关闭
/home/omm/openGauss-2.0.1-CentOS-64bit-all/script/gs_upgradectl -t auto-upgrade -X /home/omm/single.xml --grey
最后提示执行gs_upgradectl -t commit-upgrade -X /home/omm/single.xml 表示升级成功
6.升级验证
升级前
[omm@node1 ~]$ gsql --version
gsql (openGauss 1.1.0 build 392c0438) compiled at 2020-12-31 20:07:42 commit 0 last mr
升级后
[omm@node1 ~]$ gsql --version
gsql (openGauss 2.0.1 build d97c0e8a) compiled at 2021-06-02 19:37:17 commit 0 last mr
[omm@node1 ~]$ gsql -p 26000 postgres -r
gsql ((openGauss 2.0.1 build d97c0e8a) compiled at 2021-06-02 19:37:17 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=#
升级成功!
7.提交(测试无误后,进行提交操作)
如果升级成功,提交操作需要在进行业务测试之后,进行提交操作。
su -omm
gs_upgradectl -t commit-upgrade -X /home/omm/single.xml
8.回滚
如果升级失败,正常情况会自动回滚,不需要进行此步骤,在排查问题后,可继续升级操作。如果最后显示回滚失败,则需要如下手动回滚步骤。
gs_upgradectl -t auto-rollback -X /home/omm/single.xml