1.Base基础/3.Icon图标/操作/search备份
1.Base基础/3.Icon图标/操作/search备份
EN
文档
关于AntDB
快速入门
使用教程
运维
调优
工具和插件
高级服务
数据安全
参考
  • 文档首页 /
  • 部署与升级 /
  • 分布式安装部署 /
  • 数据库版本升级

数据库版本升级

更新时间:2024-07-01 14:39:42

注意:数据库版本升级需要根据业务现场进行实际规划,请联系 AntDB 交付人员协助。

本章以小版本升级为例说明数据库版本升级的主要流程。

准备工作

上传 tar 包

上传 tar 包到 adbmgr 所在主机的安装用户目录下。

解压缩 tar 包:

tar -zxvf antdb-t-ee-release-7.2.generic.*

查看集群状态

  • 登录管理节点(adbmgr),执行如下的检查:
-- 查看集群各个节点的状态均为running
monitor all; 
-- 查看各个主机上的agent状态均为running
monitor agent all;
-- 查看主备之间的流复制状态均为streaming
monitor ha;
  • 登录到计算节点(GTMCOORD或者COORDINATOR),确认应用没有 session 连接到 AntDB :
select * from pg_stat_activity where state<>'idle'

查询结果为空即可。

如果确定即使有应用的连接也不影响,那可以忽略 session 检查的步骤。

升级操作

停止集群

登录管理节点(adbmgr),依次执行如下操作:

stop doctor; -- 停止doctor
stop all mode fast;   --停止所有节点
stop agent all;  --停止所有agent

停止adbmgr

adbmgr 所在主机上命令行操作:

mgr_ctl stop -D /home/antdb/data/mgr -m fast 

注意: 如果有 adbmgr slave 存在,同样也要停止。

mgr_ctl stop -D /home/antdb/data/mgr_standby  -m fast 

备份 adbmgr 数据(可选)

注意:如果 antdb 交付人员告知此次版本替换需要初始化 adbmgr,则执行此步骤。

如果不需要初始化 adbmgr,则跳过此步骤。

adbmgr 所在主机上,在安装用户下(如 antdb 用户):

  • 备份 adbmgr 中的配置数据:
mgr_dump -p 6432 -d antdb --mgr_table -f ~/mgr_table_0818.sql
  • 备份 adbmgr 数据目录:
cp -r /home/antdb/data/mgr /home/antdb/data/mgr_0818       -- 备份整目录
du -sh /home/antdb/data/mgr*                               -- 查看备份目录和原始目录大小一致

注意替换为现场的实际目录。

备份 adbhome

adbmgr 所在主机上命令行操作:

echo $ADB_HOME
cp -r /home/antdb/app /home/antdb/app_1204
du -sh /home/antdb/app*     -- 查看备份目录和原始目录大小一致

替换新版本

升级脚本使用安装部署包里的 antdb_upgrade.sh。该脚本有以下可执行选项。

[antdb@host227 antdb-t-ee-release-7.2.18.generic.aarch64]$ sh antdb_upgrade.sh --help
`antdb_upgrade.sh` Update AntDB with the new package.
Usage: sh antdb_upgrade.sh [OPTION]

Options:
  -b, --backup         Update antdb and backup before files.

  -c, --config         Database upgrade configuration file.

  -h, --help           Display this usage info and exit.

  -V, --version        Display this tool version info and exit.
  
说明:
其中指定-b会在升级前,备份二进制文件,如果步骤三已经手动备份过了,可以不用指定-b选项
-c 选项是必选选项,指定升级的配置文件

升级前,需要配置升级文件 (setup/common/upgrade_conf.ini)。配置信息与构建环境保持一致,各个字段信息参考该文件中的说明。

注意: 该配置文件最后的换行符不可全删掉(配置文件最后要有换行符)。

## upgrade_info 配置项说明:
##
## upgrade_type 分类:
##     primary 表示只更新主节点,即当前机器节点
##     all     表示更新所有节点
[upgrade_info]
upgrade_type = primary                                    #分布式升级,选择primary只升级mgr节点,选择all升级所有节点             


## host_info 配置说明:
##
## primary_node 格式:user,ssh_ip,ssh_port,antdb_app_path,antdb_data_path,antdb_ip,antdb_port
##     user:数据库超级用户名,同时也应该是操作系统用户名         #集中式和分布式,这个都需要填写
##     ssh_ip:数据库所在主机 SSH 服务地址                    #针对集中式填写主机所在IP
##     ssh_port:数据库所在主机 SSH 服务端口                  #集中式和分布式,这个都需要填写
##     antdb_app_path:数据库程序目录                        #针对集中式,填写数据库程序目录 
##     antdb_data_path:数据库数据目录                       #针对分布式的配置,填写分布式mgr节点的data目录
##     antdb_ip:数据库监听的地址                            #针对分布式的配置,填写分布式mgr节点的IP
##     antdb_port:数据库监听的端口                          #针对分布式的配置,填写分布式mgr节点的端口
##
## standby_node 格式:user,ssh_ip,ssh_port,antdb_app_path
##     各字段与 primary_node 含义相同。
##
## 注意:
## 1、standby_node 仅用于更新集中式高可用,其它情形下不需要此信息。
## 2、如果仅更新主节点,primary_node 中填写前4个字段即可。
## 3、如果更新分布式的所有节点,primary_node 中必须填写所有字段。

[host_info]
primary_node = antdb,10.1.206.227,22,/home/antdb/app,/home/antdb/data/mgr,10.1.206.227,1234
standby_node = antdb,10.1.206.228,22,/home/antdb/app
standby_node = antdb,10.1.206.229,22,/home/antdb/app

执行升级脚本:

sh antdb_upgrade.sh -c setup/common/upgrade_conf.ini

注:也可以指定 -b 参数,备份二进制文件,这里手动备份过,可以不指定此参数。

启动 adbmgr

adbmgr 所在主机上执行:

mgr_ctl start -D /home/antdb/data/mgr

发布二进制程序

连接到管理节点 ADBMGR,进入 adbmgr 操作界面,执行如下操作:

list host;  --检查主机,配置正确
list node;  -- 检查节点,配置正确
monitor agent all;--检查agent均为not running状态

开始部署二进制文件:

deploy all; 

启动集群

连接到管理节点 ADBMGR,执行如下命令:

--启动所有主机上的agent进程
start agent all;
-- 启动所有节点
start all;   

如果集群本身需要启动 doctor,则在这步启动 doctor,如果不需要,则忽略:

start doctor;

检查集群状态:

monitor all; -- 所有节点的状态应该均为 running
monitor hal; -- 检查节点流复制情况,状态应为streaming

检查集群版本:

select adb_version();

启动 adbmgr 备节点(可选)

存在 adbmgr 备机的情况下:

mgr_ctl start -D /home/antdb/data/mgr_standby
问题反馈