#高可用部署离线升级
除特殊说明,以下步骤均在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升级方式(推荐)
# 步骤一:上传新版本安装包
- 在部署管理平台的服务器上,创建一个空目录,该目录将作为升级安装包的临时存放路径。
$ mkdir ~/upgrade
将新版安装包上传至该目录中。
执行如下命令,解压安装包。
$ cd ~/upgrade
$ tar -zxf yashandb-cloud-manager-23.2.7.100-linux-x86_64.tar.gz
# 步骤二:生成配置文件
本步骤须在升级安装包的临时存放目录中执行。
- 执行如下命令,进入升级安装包的临时存放目录:
$ cd ~/upgrade/ycm
- 执行如下命令,生成主机信息的配置文件。
# 在当前目录下,生成ycm_host.toml
$ sudo ./scripts/yasadm host gen -u yasmanager -p password -i /opt/ycm --port 22
简单参数介绍:
-u, --username 平台服务器的SSH用户
-p, --password 平台服务器用户的SSH密码
-i, --install-dir 平台的安装路径
--port 平台服务器的SSH端口
- 根据实际需求修改配置文件信息。
$ 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]]
...
# 步骤三:执行离线升级
Caution:
升级失败后不支持再次升级,只能回退。
本步骤须在升级安装包的临时存放目录中执行。
- 执行如下命令,进入升级安装包的临时存放目录:
$ cd ~/upgrade/ycm
- 执行升级命令。
# 通过ssh方式升级
$ sudo ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yasdb_home --role primary
简单参数介绍:
-i, --install-dir 管理平台的安装路径
-t, --toml 被托管服务器信息的配置文件
--imp-exp-install-dir 安装有imp和exp的yashandb客户端路径,用于备份平台后端yashandb的数据
--role primary 升级主管理平台
# 步骤四:查看升级后版本
打开浏览器访问并登录管理平台,单击右上角用户头像,单击【关于】,查看升级后的版本。
# rpc升级方式
# 步骤一:上传新版本安装包
- 在部署管理平台的服务器上,创建一个空目录,该目录将作为升级安装包的临时存放路径。
$ mkdir ~/upgrade
将新版安装包上传至该目录中。
执行如下命令,解压安装包。
$ cd ~/upgrade
$ tar -zxf yashandb-cloud-manager-23.2.7.100-linux-x86_64.tar.gz
# 步骤二:生成配置文件
本步骤须在升级安装包的临时存放目录中执行。
- 执行如下命令,进入升级安装包的临时存放目录:
$ cd ~/upgrade/ycm
- 执行如下命令,生成被托管服务器的配置文件。
# 在当前目录下,生成ycm_host.toml
$ sudo ./scripts/yasadm host gen -i /opt/ycm --rpc-port 9072
简单参数介绍:
-i, --install-dir 管理平台的安装路径
--rpc-port 管理平台服务器的升级RPC端口,用于RPC升级方式,默认为9072
- 根据实际需求修改配置文件信息。
$ vim ycm_host.toml
...
[[hosts]]
host_id = "host-5e99117d"
...
upgrade_rpc_port = 9072
[[hosts]]
...
# 步骤三:执行离线升级
Caution:
升级失败后不支持再次升级,只能回退。
本步骤须在升级安装包的临时存放目录中执行。
- 执行如下命令,进入升级安装包的临时存放目录:
$ cd ~/upgrade/ycm
- 执行升级命令。
# 通过rpc方式升级
$ sudo ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yasdb_home --rpc --role primary
简单参数介绍:
-i, --install-dir 管理平台的安装路径
-t, --toml 被托管服务器信息的配置文件
--rpc 通过rpc方式进行升级,默认为ssh方式
--imp-exp-install-dir 安装有imp和exp的yashandb客户端路径,用于备份平台后端yashandb的数据
--role primary 升级主管理平台
# 步骤四:查看升级后版本
打开浏览器访问并登录管理平台,单击右上角用户头像,单击【关于】,查看升级后的版本。
# 升级备管理平台
该步骤需要在部署备管理平台的服务器上执行。
Note:
备管理平台升级包需要和主管理平台升级包的版本相同。
# 步骤一:上传新版本安装包
- 在部署管理平台的服务器上,创建一个空目录,该目录将作为升级安装包的临时存放路径。
$ mkdir ~/upgrade
将新版安装包上传至该目录中。
执行如下命令,解压安装包。
$ cd ~/upgrade
$ tar -zxf yashandb-cloud-manager-23.2.7.100-linux-x86_64.tar.gz
# 步骤二:执行离线升级
Caution:
升级失败后不支持再次升级,只能回退。
本步骤须在升级安装包的临时存放目录中执行。
- 执行如下命令,进入升级安装包的临时存放目录:
$ cd ~/upgrade/ycm
- 执行升级命令。
$ sudo ./scripts/yasadm upgrade -i /opt/ycm --lib-dir /home/yashan/yasdb_home/lib --role standby
简单参数介绍:
-i, --install-dir 管理平台的安装路径
--lib-dir YashanDB客户端的lib路径
--role standby 升级备管理平台
# 步骤三:查看升级后版本
进入备管理平台的安装目录,通过version.toml
配置文件查看升级后的版本。
# 进入备管理平台的安装目录
$ 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"
...
# 升级回退
Note:
升级成功后不支持回退,只有升级失败才允许回退。
管理平台升级过程中可能因为命令错误、配置文件错误及版本错误等原因导致升级失败,此时请运行升级回退恢复升级前环境。
- 执行如下命令,进入升级安装包的临时存放目录:
$ cd ~/upgrade/ycm
- 执行升级回退命令。
# 主管理平台回退
$ 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
简单参数介绍:
-i, --install-dir 管理平台的安装路径
-t, --toml 被托管服务器信息的SSH配置文件
--imp-exp-install-dir 安装有imp和exp的yashandb客户端路径,用于恢复平台后端yashandb数据
--lib-dir YashanDB客户端的lib路径
Note:
- 允许升级回退失败后再次回退。
- 若多次回退均失败,请联系管理平台技术支持解决。