为保障云数据库 GaussDB业务的持续稳定运行,某省银行对其GaussDB管理平台(TPOPS)进行了版本升级。本次升级旨在解决历史版本中的已知问题,并引入新的功能特性。目标是将平台从 24.1.30 版本升级至 24.7.32 版本。

升级流程示意图
|
任务 |
预计耗时 |
|
升级前准备 |
60分钟 |
|
升级操作 |
120分钟 |
|
验证升级结果 |
20分钟 |
在执行升级操作前,请务必确认以下事项,以避免因环境问题导致升级中断或失败:
· 业务低峰期执行: 为了减少升级对系统的影响,请尽量选择在业务量较低的时间窗口(如夜间或周末)进行升级操作。
· 确保主机状态正常: 升级过程依赖稳定的网络环境以向各主机分发软件包。请确保所有主机处于正常运行状态,且在升级过程中不能发生断电、断网或缩容等异常情况。
· 禁止文件操作: 升级脚本会检测各节点主机的特定文件状态,任何手动操作文件都可能干扰升级判断流程。因此,升级期间禁止在节点上进行除升级外的任何文件操作。
· 禁止配置变更: 在升级过程中,禁止进行任何业务配置更改操作。这包括但不限于角色、主机名、服务、 template、网络、主机、hostcfg、证书、虚拟机及域名的配置变更或扩容。此类操作可能导致业务数据丢失或其他不可预知的错误。
· 限制节点活动: 升级期间,不允许在升级节点上进行除升级外的任何操作。
五、升级影响
|
类型 |
阶段 |
具体信息 |
严重程度 |
|
升级过程中对现行系统的影响 |
升级执行阶段 |
无影响。 |
无 |
|
|
升级完成阶段 |
无影响。 |
无 |
|
对业务的影响 |
- |
用户感受到大约 20秒的停顿,期间云数据库GaussDB管理平台(TPOPS)业务不可用。 |
一般 |
|
对网络通信的影响 |
- |
无影响。 |
无 |
当前仅支持微服务包、数据包、
GaussDB实例安装包的升级以及docker-service包的自升级。
操作步骤以
/data/docker-service目录为例,请在docker-service实际所在目录执行操作。
1.完整升级过程,预计耗时40分钟左右。
2.升级前置检查要求系统根目录(/)可用磁盘空间大于1GB,docker-service目录所在磁盘可用空间大于15GB,系统可用内存大于1GB,管理面节点之间的时间差小于30s。
3.升级至24.7.32版本后,Web端的访问地址为https://\{EIP}:8002/gaussdb/#/login,其中访问端口变更为8002端口。
4.如需支持IPv6登录,IPv6地址应配置在node1_ip、node2_ip、node3_ip对应网卡上,且地址范围为Global全局可见,请参考A.6 配置并启用IPv6(可选)章节进行升级节点的IPv6地址配置。
5.云数据库GaussDB管理平台升级完成后,已有实例的版本不会发生变化。
以 root用户登录待升级的云数据库GaussDB管理平台(TPOPS)的任一节点。
执行以下命令,删除历史残留的升级目录。无历史残留的升级目录,可跳过该步骤。
mkdir /pkgsbak
cp -r /data/docker-service/pkgs/* /pkgsbak
mkdir -p /data/docker-service/upgrade
将新的
docker-service包上传到升级目录(/data/docker-service/upgrade),并执行以下命令解压。
tar -xvf DBS-docker-service_24.7.32.202412312148.99528814_all.tar.gz
执行以下命令,进入待升级安装包的上传路径。
cd /data/docker-service/upgrade/docker-service/pkgs
只需上传待升级的安装包即可,全量安装包如下所示:
DBS-GaussDBConsole-Server_24.7.32.0.924990758866176.tar.gz
DBS-DBMind-Manual_24.7.32.0.20241227130310.tar.gz
DBS-GaussDB-Kernel_24.7.32.0.924990758866176.tar.gz
DBS-GaussDB-Server_24.7.32.0.926488844066816.tar.gz
DBS-MetaDB_Centralized_505.1.0.B026.20241225175735.tar.gz
DBS-GaussDB-driver_24.7.32.0.927365643668480.tar.gz
DBS-GaussDB-Kylin-Kernel_24.7.32.0.924990758866176.tar.gz
GaussDB_OS_PATCH_24.7.32.0.20241231204011.zip
DBS-Platform-Server_24.7.32.0.925928352459584.tar.gz
执行以下命令,进入到升级脚本所在路径并执行升级命令。
cd /data/docker-service/upgrade/docker-service
sh appctl.sh upgrade_all
升级过程中禁止手动退出。
完整的升级过程大约
40分钟。
回显出现如下信息时,说明升级完成。
Upgradation progress to 192.168.0.3 [
/
] ==> 100.00% Upgraded successfully to ip=192.168.0.3 all ips have completed upgrade Upload sftp packages done for 192.168.0.1
请登录「云数据库 GaussDB管理平台-任务中心」查看安装包上传任务状态
Welcome to TPOPS: https://\{EIP}:8002/gaussdb/#/login EIP: Elastic IP address of any TPOPS node
在 TPOPS管理平台界面进行手工全备

手工全备操作截图 1

手工全备操作截图 2

手工全备操作截图 3
逻辑备份命令示例:
gs_dump -U root -W **** -f /var/chroot/home/nfs/4d755ddb-be65-4b49-9360-f08b7b11b5dc/gs_dump_backup/gzdb.dmp -p 8000 gzdb -F c
gs_dump -U root -W ****! -f /var/chroot/home/nfs/4d755ddb-be65-4b49-9360-f08b7b11b5dc/gs_dump_backup/gzdb_datateam.dmp -p 8000 gzdb_datateam -F c
gs_dump -U root -W **** -f /var/chroot/home/nfs/4d755ddb-be65-4b49-9360-f08b7b11b5dc/gs_dump_backup/gzdb_devteam.dmp -p 8000 gzdb_devteam -F c
gs_dump -U root -W **** -f /var/chroot/home/nfs/4d755ddb-be65-4b49-9360-f08b7b11b5dc/gs_dump_backup/gzdb_netteam.dmp -p 8000 gzdb_netteam -F c
cp gaussdb.conf /var/chroot/home/nfs/4d755ddb-be65-4b49-9360-f08b7b11b5dc/gs_dump_backup
步骤
1
登录云数据库
GaussDB
管理平台(
TPOPS
)
。
步骤
2
单击左侧目录
"实例管理",进入"实例列表"页面。
步骤
3
选择待升级的实例,单击
"更多 > 版本升级"。
步骤
4
选择升级方式为
"灰度升级",操作方式为"升级待观察",选择"升级可用区"以及目标版本。

选择灰度升级和升级待观察的界面截图
步骤
5
输入
"YES"字样并单击"确定"。
待全部
AZ升级之后处于待观察阶段,可以提交升级。
步骤
6
满足提交升级条件后,再次选择该实例,单击
"更多 > 版本升级"。
步骤
7
选择升级方式
"灰度升级",操作方式"提交升级"以及目标版本。
步骤
8
输入
"YES"字样并单击"确定",提交升级。

提交升级操作界面截图
在升级完成后,如遇特殊情况,运维人员可执行回退操作。
升级实施期间,如果出现业务面大面积故障(例如:业务网络中断、存储读取失败或业务无法访问等现象),可以触发回退。
升级实施流程出现错误,且无法在计划的时间窗内完成升级,可以触发回退。
回退需要经过客户与技术支持工程师的共同决策后,再启动回退。

回退流程示意图

回退注意事项
开始回退前,必须将升级生效后的业务配置更改操作(角色、主机名、服务、 template、网络、主机、hostcfg、证书、虚拟机、域名的配置变更、扩容)恢复到升级前配置,否则会造成业务数据丢失或其他不可预知的错误。
以 root用户登录待回退的云数据库GaussDB管理平台(TPOPS)的任意一个节点。
执行以下命令创建回退目录,并将待回退版本的
DBS-docker-service*.tar.gz包上传到回退目录(/data/docker-service/rollback),并解压。
rm -rf /data/docker-service/rollback
mkdir -p /data/docker-service/rollback
cd /data/docker-service/rollback
tar -xvf DBS-docker-service*.tar.gz
将全量回退的安装包上传到回退目录的安装包存放目录下(
/data/docker-service/rollback/docker-service/pkgs)。
cp /pkgsbak /* /data/docker-service/rollback/docker-service/pkgs
执行以下命令完成回退前的准备动作。
cd /data/docker-service/rollback/docker-service
sed -i 's@\\[NOTICE]
Upgrade@\\[NOTICE]
Rollback@g' action/mainAction/distribute.sh
sed -i '/prepare_pkgs/d' appctl.sh
sed -i '/local old_render_args/,+24d' appctl.sh
sed -i '/backup\/config\/user_edit_file.conf/i \cp -raf ${upgrade_path}\/backup\/package\/cloud\/common\/render\/render_args.yml ${old_path}\/package\/cloud\/common\/render' appctl.sh
sed -i "/'rollback')/a\ scp_precheck_files" appctl.sh
sed -i '/
function rollback_check_influxdb() {/,/
}/c\function rollback_check_influxdb() {\n service=InfluxDB \n update_status '\''done'\''\n}' action/init/pre_check_status.sh
sed -i "s@render/1_node_render.yml@render/temp/1_node_render.yml@g" appctl.sh
sed -i "s@render/3_node_render.yml@render/temp/3_node_render.yml@g" appctl.sh
sed -i "/main_render_args.json.bak/d" appctl.sh
sed -i "/upgrade\/me/a find /opt/cloud/DBS_Component/platform-data/ -type f -name "aps*" | xargs rm -rf \\\\\\" action/mainAction/platform_data_install.sh
sed -i '/upgrade-gaussdb-data/a sed -i "/install_sdk_rpm/a\\\\\nfind /opt/cloud/DBS_Component/GaussDB-data/ -type f -name aps* | xargs rm -rf "
action/mainAction/install.sh' action/mainAction/gauss_data_install.sh
分别登录
influxdb的安装节点并执行以下命令,关闭influxdb的用户认证。
sed -i "s/https-enabled = true/# https-enabled = true/g" /etc/influxdb/influxdb.conf
sed -i "s/auth-enabled = true/# auth-enabled = true/g" /etc/influxdb/influxdb.conf
systemctl restart influxd
执行以下命令,进行回退。
cd /data/docker-service/rollback/docker-service
sh appctl.sh rollback_all
如果升级观察时,因为业务原因需要回退,或使用升级待观察方式升级失败时,可参考如下内容手动执行升级回退操作。
步骤
1
登录云数据库
GaussDB管理平台(TPOPS)。
步骤
2
单击左侧目录
"实例管理",进入"实例列表"页面。
步骤
3
选择待回退的实例,单击
"更多 > 版本升级"。
步骤
4
选择升级方式
"灰度升级",操作方式"升级回退"以及回退版本。

升级回退操作界面截图
步骤
5
输入
"YES"字样并单击"确定"。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70051047/viewspace-3183859/ ,如需转载,请注明出处,否则将追究法律责任。