YashanDB滚动升级

YashanDB支持通过yasboot工具滚动升级已经部署的数据库,在数据库不停机的情况下,将数据库二进制文件升级到新版本。本文将以23.3.1.0版本升级到23.3.1.1版本为例介绍数据库的滚动升级方式。注意事项滚动升级适用范围:单机(

YashanDB滚动升级

YashanDB支持通过yasboot工具滚动升级已经部署的数据库,在数据库不停机的情况下,将数据库二进制文件升级到新版本。

本文将以23.3.1.0版本升级到23.3.1.1版本为例介绍数据库的滚动升级方式。

注意事项

  • 滚动升级适用范围:
    • 单机(主备)部署:主备形态部署的数据库从23.2.0.0及以上版本向版本号前三位相同但第四位不同的新版本进行升级。
    • 分布式部署:MN和DN均为主备部署的数据库从23.2.3.0及以上版本向23.2.3.100及以上且版本号前三位相同但第四位不同的版本进行升级。
  • 请完成升级前准备要求的各项工作后再进行升级。
  • 升级时会校验新旧数据库的dbcr目录是否相同,如果不相同则无法滚动升级。此时滚动升级不会执行,无需回退。
  • 升级过程需使用YashanDB内置的yasboot工具,该工具的命令选项含义及说明请查阅yasboot。
  • 若升级未成功,请执行滚动升级回退恢复环境。如果回退仍不成功,请联系YashanDB技术支持解决。
  • 升级后,需根据运行日志告警判断是否使用过时参数,告警内容请查阅参数配置中参数初始化章节示例。若使用了过时参数,需根据配置参数中对应参数的介绍判断该参数是否因改名而过时,并且是否需要将该过时参数调整为对应的新参数。若新参数未配置,则过时参数的配置值将自动转换为新参数值。

操作步骤

除特殊说明,以下步骤均在yasboot工具所在的服务器(已存在hosts.toml文件)上操作,且命令中的路径、用户、密码等需更换为实际值。

步骤1:执行全量备份

YashanDB提供两种备份的方式,分别是通过SQL语句和使用yasrman工具,如需了解更多有关备份的语法及说明请查阅备份恢复。

SQL语句方式: SQL语句执行备份需登录数据库实例进行操作,可通过执行如下语句执行全量备份:

代码语言:txt复制
BACKUP DATABASE FULL FORMAT '/home/yashan/full_20221123' TAG 'full' PARALLELISM 3;

yasrman工具方式:

使用yasrman工具进行全量备份须确保在yasrman工具所在服务器上操作,可通过执行如下命令执行全量备份:

代码语言:javascript代码运行次数:0运行复制
# 请将password@IP:port修改成设置的sys密码及对应IP地址:端口号
$ yasrman sys/password@IP:port -c "backup cluster tag 'full_1' format 'full_bak_1'" -D /home/yashan/catalog

步骤2:上传新版本安装包

创建一个空目录,该目录将作为升级安装包的临时存放路径。

代码语言:txt复制
$ mkdir ~/tmp_upgrade

将新版安装包上传至该目录中。

代码语言:txt复制
$ cd ~/tmp_upgrade
$ tar zxf yashandb-23.3.1.1-linux-x86_64.tar.gz进入升级安装包的存放目录并解压安装包。

步骤3:升级yasom与yasagent

以下操作均在升级安装包的存放目录中执行。

查看当前yasom与yasagent版本。

代码语言:txt复制
$ ps -ef | grep -E "yasom|yasagent" | grep -v grep
yashan 102280      1  0 16:24 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.3.1.0/bin/yasagent --init -c yashandb -l 192.168.1.2:1676 --host-id host0001 -k                  -d
yashan 102323      1  0 16:24 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.3.1.0/bin/yasom --init -c yashandb -l 192.168.1.2:1675 -k                  -d
# 获取到yasom和yasagent所在的bin目录,执行-h命令,当前版本为23.3.1.0
$ /data/yashan/yasdb_home/yashandb/23.3.1.0/bin/yasom -h
Usages: yasom [<flags>] <command>

yasom daemon process, version: Debug 23.3.1.0

升级yasom与yasagent。

代码语言:javascript代码运行次数:0运行复制
$ ./bin/yasboot package upgrade -t /home/yashan/install/hosts.toml -p yashandb-23.3.1.1-linux-x86_64.tar.gz
upgrade package...
install version: yashandb 23.3.1.1
host0001 100% [====================================================================]    3s
upgrade host to yasom...

参数介绍:

代码语言:javascript代码运行次数:0运行复制
-t, --toml  需要服务器配置文件hosts.toml,此处指部署旧版本时生成的hosts.toml文件
-p, --package  升级软件包的绝对路径

检查yasom与yasagent升级后的版本。

代码语言:javascript代码运行次数:0运行复制
$ ps -ef | grep -E "yasom|yasagent" | grep -v grep
yashan 103607      1  0 16:32 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.3.1.1/bin/yasagent -c yashandb -d
yashan 103650      1  0 16:32 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.3.1.1/bin/yasom -c yashandb -d
# 版本已升级为23.3.1.1

步骤4:升级数据库

以下操作均在升级安装包的存放目录中执行。

Caution: 数据库升级过程中出现任何错误,请执行滚动升级回退恢复环境,升级成功后无法回退。

查看当前数据库版本。

代码语言:javascript代码运行次数:0运行复制
$ ./bin/yasboot sql -d sys/password@192.168.1.2:1688 -s 'select version from v$instance;'

VERSION                                                          
---------------------------------------------------------------- 
Release 23.3.1.0 x86_64    
# 当前版本为23.3.1.0  

升级数据库。

代码语言:javascript代码运行次数:0运行复制
$ ./bin/yasboot cluster upgrade --cluster yashandb --rolling
type | uuid             | name                | hostid | index    | status  | return_code | progress | cost 
-------------------------------------------------------------------------------------------------------------
task | 9d0041edd55f7d4f | UpgradeYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 23   
------+------------------+---------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS

Note: 使用--keep-primary参数可以确保滚动升级后集群的主库仍为升级前的主库。

检查数据库升级后的版本。

代码语言:txt复制
$ ./bin/yasboot sql -d sys/password@192.168.1.2:1688 -s 'select version from v$instance;'

VERSION                                                          
---------------------------------------------------------------- 
Release 23.3.1.1 x86_64   
# 版本已升级为23.3.1.1    

步骤5(可选):升级后操作

  • 更新环境变量 升级操作不会修改服务器的YASDB_HOMEYASDB_DATALD_LIBRARY_PATH以及PATH等环境变量,若配置过环境变量,升级后需更新为新版本数据库相应的环境变量,若不更新直接使用yasdb/yasql等命令会继续指向旧版本数据库
  • 开启或关闭某些配置 若为顺利执行升级操作而临时调整过某些配置(例如关闭仲裁),在升级完成后应按需还原配置(例如重新开启仲裁)。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1748137574a4737096.html

相关推荐

  • YashanDB滚动升级

    YashanDB支持通过yasboot工具滚动升级已经部署的数据库,在数据库不停机的情况下,将数据库二进制文件升级到新版本。本文将以23.3.1.0版本升级到23.3.1.1版本为例介绍数据库的滚动升级方式。注意事项滚动升级适用范围:单机(

    3小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信