首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【YashanDB监控运维平台(YCM)】高可用部署离线升级

【YashanDB监控运维平台(YCM)】高可用部署离线升级

原创
作者头像
用户11441800
发布2025-06-23 16:37:20
发布2025-06-23 16:37:20
2720
举报

除特殊说明,以下步骤均在yasadm工具所在的环境上操作,命令中的路径、用户、密码、端口等需更换为实际值。

支持以下两种方式升级高可用部署的主备管理平台:

一键升级主备管理平台

一键升级所有的主备管理平台,以及管理的服务器。若要使用该升级方式,必须将所有备管理平台所在服务器添加到管理平台中。在升级服务器ycm-agent时,将服务器上面的备管理平台一起升级。

Note: 从 23.2.10.100 版本开始,部署主备管理平台时,会默认将其服务器添加到管理平台中,之前的版本,需要手动将其添加到管理平台中。

该升级步骤需要在部署主管理平台的服务器上执行,其余和单节点管理平台升级步骤相同,具体步骤请查阅单节点部署离线升级。

先升级主管理平台,后依次升级备管理平台

该方式需要执行多次升级命令,先升级主管理平台以及管理的所有服务器,后依次本地升级备管理平台。具体步骤请查阅下文。

本文以从23.2.6.100升级到23.2.7.100为例。

升级主管理平台

Note: 为了防止升级过程中发生主备切换,请停止所有备管理平台(如果有多个备管理平台,请依次执行多次)。 在部署备管理平台的服务器上,停止备管理平台:/{备管理平台安装路径}/ycm/monit/monitctl run stop -g ycm

SSH升级方式(推荐)
步骤一:上传新版本安装包
  1. 在部署管理平台的服务器上,创建一个空目录,该目录将作为升级安装包的临时存放路径。
代码语言:javascript
复制
$ mkdir ~/upgrade

Copied!

  1. 将新版安装包上传至该目录中。
  2. 执行如下命令,解压安装包。
代码语言:javascript
复制
$ cd ~/upgrade
$ tar -zxf yashandb-cloud-manager-23.2.7.100-linux-x86_64.tar.gz

Copied!

步骤二:生成配置文件

本步骤须在升级安装包的临时存放目录中执行。

  1. 执行如下命令,进入升级安装包的临时存放目录:
代码语言:javascript
复制
$ cd ~/upgrade/ycm

Copied!

  1. 执行如下命令,生成主机信息的配置文件。
代码语言:javascript
复制
# 在当前目录下,生成ycm_host.toml
$ sudo ./scripts/yasadm host gen -u yasmanager -p password -i /opt/ycm --port 22

Copied!

简单参数介绍:

代码语言:javascript
复制
-u, --username    平台服务器的SSH用户
-p, --password    平台服务器用户的SSH密码
-i, --install-dir 平台的安装路径
--port            平台服务器的SSH端口

Copied!

  1. 根据实际需求修改配置文件信息。
代码语言:javascript
复制
$ vim ycm_host.toml
...
[[hosts]]
host_id = "host-5e99117d"
manage_ip = "192.168.1.2"
agent_user = "yasmanager"
port = 22
ssh_user = "yasmanager"
ssh_pwd = "123456"
...
[[hosts]]
...

Copied!

步骤三:执行离线升级

Caution: 升级失败后不支持再次升级,只能回退。

本步骤须在升级安装包的临时存放目录中执行。

  1. 执行如下命令,进入升级安装包的临时存放目录:
代码语言:javascript
复制
$ cd ~/upgrade/ycm

Copied!

  1. 执行升级命令。
代码语言:javascript
复制
# 通过ssh方式升级

$ sudo ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yasdb_home --role primary

Copied!

简单参数介绍:

代码语言:javascript
复制
-i, --install-dir     管理平台的安装路径
-t, --toml            被托管服务器信息的配置文件
--imp-exp-install-dir 安装有imp和exp的yashandb客户端路径,用于备份平台后端yashandb的数据
--role primary        升级主管理平台

Copied!

步骤四:查看升级后版本

打开浏览器访问并登录管理平台,单击右上角用户头像,单击【关于】,查看升级后的版本。

rpc升级方式
步骤一:上传新版本安装包
  1. 在部署管理平台的服务器上,创建一个空目录,该目录将作为升级安装包的临时存放路径。
代码语言:javascript
复制
$ mkdir ~/upgrade

Copied!

  1. 将新版安装包上传至该目录中。
  2. 执行如下命令,解压安装包。
代码语言:javascript
复制
$ cd ~/upgrade
$ tar -zxf yashandb-cloud-manager-23.2.7.100-linux-x86_64.tar.gz

Copied!

步骤二:生成配置文件

本步骤须在升级安装包的临时存放目录中执行。

  1. 执行如下命令,进入升级安装包的临时存放目录:
代码语言:javascript
复制
$ cd ~/upgrade/ycm

Copied!

  1. 执行如下命令,生成被托管服务器的配置文件。
代码语言:javascript
复制
# 在当前目录下,生成ycm_host.toml
$ sudo ./scripts/yasadm host gen -i /opt/ycm --rpc-port 9072

Copied!

简单参数介绍:

代码语言:javascript
复制
-i, --install-dir 管理平台的安装路径
--rpc-port        管理平台服务器的升级RPC端口,用于RPC升级方式,默认为9072

Copied!

  1. 根据实际需求修改配置文件信息。
代码语言:javascript
复制
$ vim ycm_host.toml
...
[[hosts]]
host_id = "host-5e99117d"
...
upgrade_rpc_port = 9072
[[hosts]]
...

Copied!

步骤三:执行离线升级

Caution: 升级失败后不支持再次升级,只能回退。

本步骤须在升级安装包的临时存放目录中执行。

  1. 执行如下命令,进入升级安装包的临时存放目录:
代码语言:javascript
复制
$ cd ~/upgrade/ycm

Copied!

  1. 执行升级命令。
代码语言:javascript
复制
# 通过rpc方式升级

$ sudo ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yasdb_home --rpc --role primary

Copied!

简单参数介绍:

代码语言:javascript
复制
-i, --install-dir     管理平台的安装路径
-t, --toml            被托管服务器信息的配置文件
--rpc                 通过rpc方式进行升级,默认为ssh方式
--imp-exp-install-dir 安装有imp和exp的yashandb客户端路径,用于备份平台后端yashandb的数据
--role primary        升级主管理平台

Copied!

步骤四:查看升级后版本

打开浏览器访问并登录管理平台,单击右上角用户头像,单击【关于】,查看升级后的版本。

升级备管理平台

该步骤需要在部署备管理平台的服务器上执行。

Note: 备管理平台升级包需要和主管理平台升级包的版本相同。

步骤一:上传新版本安装包
  1. 在部署管理平台的服务器上,创建一个空目录,该目录将作为升级安装包的临时存放路径。
代码语言:javascript
复制
$ mkdir ~/upgrade

Copied!

  1. 将新版安装包上传至该目录中。
  2. 执行如下命令,解压安装包。
代码语言:javascript
复制
$ cd ~/upgrade
$ tar -zxf yashandb-cloud-manager-23.2.7.100-linux-x86_64.tar.gz

Copied!

步骤二:执行离线升级

Caution: 升级失败后不支持再次升级,只能回腿。

本步骤须在升级安装包的临时存放目录中执行。

  1. 执行如下命令,进入升级安装包的临时存放目录:
代码语言:javascript
复制
$ cd ~/upgrade/ycm

Copied!

  1. 执行升级命令。
代码语言:javascript
复制
$ sudo ./scripts/yasadm upgrade -i /opt/ycm --lib-dir /home/yashan/yasdb_home/lib --role standby

Copied!

简单参数介绍:

代码语言:javascript
复制
-i, --install-dir     管理平台的安装路径
--lib-dir             YashanDB客户端的lib路径
--role standby        升级备管理平台

Copied!

步骤三:查看升级后版本

进入备管理平台的安装目录,通过version.toml配置文件查看升级后的版本。

代码语言:javascript
复制
# 进入备管理平台的安装目录
$ cd /{备管理平台安装目录}/ycm

# 打开version.toml文件查看升级后的版本

$ cat etc/upgrade/version.toml
...
version = "23.2.7.100" # 升级后的版本

[[upgrade]]
source_version = ["23.2.6.100"]
path = "23.2.6.100"
...

Copied!

升级回退

Note: 升级成功后不支持回退,只有升级失败才允许回退。

管理平台升级过程中可能因为命令错误、配置文件错误及版本错误等原因导致升级失败,此时请运行升级回退恢复升级前环境。

  1. 执行如下命令,进入升级安装包的临时存放目录:
代码语言:javascript
复制
$ cd ~/upgrade/ycm

Copied!

  1. 执行升级回退命令。
代码语言:javascript
复制
# 主管理平台回退
$ sudo ./scripts/yasadm rollback -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yasdb_home

# 备管理平台回退
$ sudo ./scripts/yasadm rollback -i /opt/ycm --lib-dir /home/yashan/yasdb_home/lib

Copied!

简单参数介绍:

代码语言:javascript
复制
-i, --install-dir      管理平台的安装路径
-t, --toml             被托管服务器信息的SSH配置文件
--imp-exp-install-dir  安装有imp和exp的yashandb客户端路径,用于恢复平台后端yashandb数据
--lib-dir               YashanDB客户端的lib路径

Copied!

Note

  • 允许升级回退失败后再次回退。
  • 若多次回退均失败,请联系管理平台技术支持解决。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一键升级主备管理平台
  • 先升级主管理平台,后依次升级备管理平台
    • 升级主管理平台
      • SSH升级方式(推荐)
      • rpc升级方式
    • 升级备管理平台
      • 步骤一:上传新版本安装包
      • 步骤二:执行离线升级
      • 步骤三:查看升级后版本
    • 升级回退
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档