本文介绍就地升级和灰度升级主要步骤,具体实践升级操作需要做很多的准备工作,主要步骤具体参考官方的升级指南:https://opengauss.org/zh/docs/3.0.0/docs/UpgradeGuide/%E5%8D%87%E7%BA%A7%E6%93%8D%E4%BD%9C.html
升级操作
1.以root身份登录节点
2.创建新包目录
mkdir -p /opt/software/gaussdb_upgrade
3.下载升级包并解压。
下载地址:https://opengauss.org/zh/download.html
4.升级目录,执行升级安装
cd /opt/software/gaussdb_upgrade/script
5.在就地升级或灰度升级前执行前置脚本gs_preinstall
./gs_preinstall -U omm -G dbgrp -X /opt/software/GaussDB_Kernel/clusterconfig.xml
6.切换至omm用户
su - omm
7.数据库状态正常时,使用如下命令进行就地升级或者灰度升级
示例一:使用gs_upgradectl脚本执行就地升级
gs_upgradectl -t auto-upgrade -X /opt/software/GaussDB_Kernel/clusterconfig.xml
示例二:使用gs_upgradectl脚本执行灰度升级
gs_upgradectl -t auto-upgrade -X /opt/software/GaussDB_Kernel/clusterconfig.xml --grey
升级验证
升级版本查询
1.以数据库用户(如omm)登录节点,source环境变量
2.执行如下命令查看所有节点的版本信息
gs_ssh -c "gsql -V"
检查升级数据库状态
1. 以数据库用户(如omm)登录节点
2.执行如下命令查看数据库状态
gs_om -t status
查询结果的cluster_state为Normal代表数据库正常。
提交升级
升级完成后,如果验证也没问题,接下来就可以提交升级。
1.以数据库用户(如omm)登录节点
2.执行如下命令完成升级提交
gs_upgradectl -t commit-upgrade -X /opt/software/GaussDB_Kernel/clusterconfig.xml
升级版本回滚
1.以数据库用户(如omm)登录节点
2.执行如下命令完成版本回滚(回滚内核代码)。回滚完成,如果需要保持内核和om代码的版本一致,可以执行一下旧包的前置命令
gs_upgradectl -t auto-rollback -X /opt/software/GaussDB_Kernel/clusterconfig.xml
说明
如果数据库异常,需要强制回滚,可以使用如下命令:
gs_upgradectl -t auto-rollback -X /opt/software/GaussDB_Kernel/clusterconfig.xml --force
opengauss 3.X 版本使用的新的方式建立互信, 如果从opengauss 2.X升级到3.X后再回滚,执行完回滚命令后在执行旧包的前置命令之前需要执行以下两步:
1.删掉集群中各个节点的 /root/gauss_om/数据库用户名(比如omm) 目录
2.去掉数据库用户的互信,需要登录集群中每个节点删掉crontab定时任务,删除~/.ssh,杀掉互信进程,删掉SSH_AUTH_SOCK,SSH_AGENT_PID两个环境变量
查看回滚之后的版本号
gs_om -V | --version
异常处理
如果升级失败,请按照如下方式进行处理:
1.排查是否有环境问题
如磁盘满、网络故障等,或者升级包、升级版本号是否正确。排除问题后,可以尝试重入升级。
2.如果没有发现环境问题,或者重入升级失败,需要收集相关日志,找技术支持工程师定位
收集日志命令:
gs_collector --begin-time='20200724 00:00' --end-time='20200725 00:00'
如果条件允许,建议保留环境。
本文分享自微信公众号 - openGauss(openGauss)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。