南大通用GBase 8a MPP Cluster操作系统升级解决方案

2025-03-07ASPCMS社区 - fjmyhfvclm

在数据库产品客户服务过程中,经常遇到操作系统升级的场景,老版本操作系统可能因为停服务、新硬件等原因需要升级更高版本,数据库产品也相应要随着操作系统升级而进行升级操作。GBase 8a MPP Cluster操作系统升级解决方案主要介绍了操作系统升级前后应关注的注意事项以及操作步骤,确保数据库和数据能正常运行。本文以8a集群V952版本为例,展开相关介绍,相关注意事项,请认真阅读,避免造成数据丢失、数据库启动失败等问题。

️注意事项

(1)请保证操作系统升级后的GBase 8a安装包为新操作系统对应的安装包,并且8a版本跟升级前版本完全一致。

(2)请保证在升级操作系统之前,操作系统内部的重要文件备份。

(3)请保证升级操作系统后服务器IP地址、MAC地址不发生变化。

️流程概览

️ 升级流程如下图:

️升级步骤

升级步骤总共11步,前4步在系统升级前完成,第5步升级操作系统,6-11步为新操作系统下操作。

️(1)检查集群状态

必须保证所有节点的状态正常,且已完成集群初始化,才可以进行版本升级操作,否则需要解决故障后才能继续操作。

查看集群信息概览:gcadmin

查看集群由DDL操作产生的数据恢复信息:gcadmin showddlevent

查看集群由DML操作产生的数据恢复信息:gcadmin showdmlevent

展开全文

查看当前集群中表的分片完整恢复信息:gcadmin showdmlstorageevent

显示当前保留在gcware中所有failover信息:gcadmin showfailover

️(2)停止集群所有节点服务、刷新REDOLOG

停止集群服务gcluster_services all stop

停止所有节点集群服务后,单独启动所有节点gcwaregcluster_services gcware start

在一个gcware节点上,运行python进入Python界面后依次执行import gcwaregcware.flush_statemachine()

等待两分钟,所有gcware节点的REDOLOG刷新。

停止所有节点gcware服务gcluster_services gcware stop

️(3)备份集群相关文件

类似物理备份还原操作,除了程序部分,其它的包括数据,配置文件,运行时参数等,都需要备份。备份的原则是操作系统升级不能将备份的数据丢失。包括如下三种备份的方法,安全程度由高到低。

1、最安全的是备份到外部存储

2、其次是备份到本地非根的其它mount 分区盘

3、安全最差的是mv到另外一个目录(肯定是当前mount分区,否则mv和cp是一样的)可以cp或mv到本地在升级操作系统后能继续保留的目录,也可以是外部存储。 如不确认,请备份到外部存储。

️需要备份的文件包括如下目录下的文件

gcware配置文件

/安装目录/gcware/config

gcware数据文件

/安装目录/gcware/data

gcluster配置文件

/安装目录/gcluster/config

gcluster数据文件

/安装目录/gcluster/userdata

gnode配置文件

/安装目录/gnode/config

gnode数据文件

/安装目录/gnode/userdata

C-UDF(C语言编写的用户自定义函数)的文件,请和数据库自带的区分开。后面只还原用户自行定义的部分。

/安装目录/gcluster/server/lib/gbase/plugin/

/安装目录/gnode/server/lib/gbase/plugin/

️(4)卸载或移除原先集群

卸载可以用安装包自带的uninstall.py,也可以直接删除安装目录下的gcware、gcluster、gnode三个文件夹。

️(5)升级操作系统

️注意事项:确保前面备份的数据,不能丢失。目前已知GBase 8a 运行工具,比如gcadmin,需要python 2.7的版本,不支持python 3+。如果升级操作系统后py 2.7被卸载了,请重新安装。

️(6)安装新集群

按照标准的集群安装步骤,重新安装对应版本的集群。包括安装目录的权限检查,环境变量配置等,请参照产品手册。

若操作系统不是主流操作系统,如AlmaLinux8,可以修改gcinstall.py文件,将CheckOSType()函数这行代码注释掉,跳过操作系统检查。等自动安装脚本gcinstall.py运行完毕,进行后续步骤。

️(7)停止集群服务

停止集群服务

gcluster_services all stop

️(8)恢复集群配置及数据文件

在恢复配置文件之前需要将“/安装目录/gcware/config”中的gcware_file_info文件进行备份,备份到其余目录。恢复配置文件后还需沿用原来的gcware_file_info。

依次还原升级前备份的所有文件,将config文件以及数据文件覆盖到新集群的文件夹中,最后将上一步备份的gcware_file_info再次覆盖。

️注意:CUDF也就是plugin下的,只能恢复用户自定义的部分,不要覆盖集群自带的。可以用cp 命令中参数i(小写的i)来忽略已经存在的文件,避免覆盖。

️(9)启动集群服务

启动集群服务

gcluster_services all start

️(10)若license失效则需要重新申请license

️(11)校验新集群下的数据

全部评论