#升级
管理平台支持通过yasadm工具离线升级管理平台以及管理的主机,将相关的二进制文件替换到新版本。
# 注意事项
- 升级前需要对管理平台和管理主机执行一次备份,具体操作请查阅备份与恢复。
- 升级过程中会重启相关进程,服务器和托管数据库的监控数据会短暂缺失。
- 请完成升级前准备要求的各项工作后再运行升级。
- 升级成功后,需先确认管理平台运行正常,再开放用户业务。
- 若升级未成功,请运行升级回退。若回退不成功可尝试再次回退,多次回退仍不成功请联系技术支持解决。
- 升级过程须使用新升级包中的yasadm工具,该工具各命令选项含义及说明请查阅yasadm。
# 升级前准备
# 步骤一:获取新版本安装包
请与技术支持确认当前在用管理平台版本是否可直接升级到新版本。目前从23.1.2.100版本开始,支持升级到新版本。
# 步骤二:确认安装目录空间
离线升级会创建一个临时目录($HOME/ycm_{旧版本号}{时间戳},$HOME/ycm-agent{旧版本号}_{时间戳})作为备份目录,该目录包含当前管理平台和ycm-agent的备份文件。请确保升级操作用户拥有足够的存储空间,默认剩余存贮磁盘空间最小为4G。
# 步骤三: 确认升级方式
管理平台支持SSH和rpc两种不同的升级方式,升级管理平台管理的服务器:
SSH升级方式(推荐):为默认的升级方式,通过SSH连接服务器执行升级操作,该方式需要提供服务器的SSH用户和密码。
rpc升级方式:升级前,在服务器上部署升级agent进程,通过rpc连接升级agent执行升级操作,该方式需要开放升级所需的rpc端口。升级完成后,升级agent会被清理掉。无法提供服务器SSH用户和密码时,可以通过该方式升级。
不同的升级方式对应的检查如下:
SSH方式升级
通过SSH方式升级时,需使用SSH和SFTP服务,请检查各ycm-agent主机的SSH服务是否已开启并允许升级操作用户远程登录。
可通过如下命令检查SSH服务是否已开启:
$ systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-04-26 14:32:52 CST; 3 months 6 days ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 6372 (sshd)
CGroup: /system.slice/sshd.service
└─6372 /usr/sbin/sshd -D
可通过如下命令检查升级中是否能操作用户远程登录:
使用当前用户SSH连接到当前服务器,SSH可以使用密码或者密钥免密:
$ ssh 用户名@ip -p SSH端口
按照命令提示输入密码,查看是否能够成功连接上当前SSH服务器。
rpc方式升级
通过rpc方式升级时,需使用到升级端口,请检查各ycm-agent服务器用于升级的端口是否可用。默认的升级端口为9072。可通过以下命令进行检查:
# 返回结果有Connection refused,表示该端口没有被占用,可以作为升级的端口
$ telnet ip 端口 # 例如:telnet 192.168.1.2 9072
# 若未安装telnet,执行以下命令
$ sudo yum list telnet* # 列出telnet相关的安装包
$ sudo yum install telnet-server # 安装telnet服务
$ sudo yum install telnet.* # 安装telnet客户端
# 步骤四:检查进程
升级前请确保管理平台和ycm-agent主机的各个进程状态正常,可通过如下命令检查进程状态:
# 检查管理平台的进程
$ sudo /data/install/ycm/monit/monitctl run
Monit 5.29.0 uptime: 20h 35m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name │ Status │ Type │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ AchorBase │ OK │ System │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ ycm │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ yashandb_exporter │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ yas-hcs-api │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ promtail │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ prometheus │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ loki │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-ycm │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-yashandb_exporter │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-yas-hcs-api │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-promtail │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-prometheus │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-loki │ OK │ Program │
└─────────────────────────────────┴────────────────────────────┴───────────────┘
# 检查ycm-agent的进程
$ sudo /data/install/ycm-agent/monit/monitctl run
Monit 5.29.0 uptime: 20h 35m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name │ Status │ Type │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ AchorBase │ OK │ System │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ ycm-agent │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ promtail │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ node_exporter │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-ycm-agent │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-promtail │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ hold-node_exporter │ OK │ Program │
└─────────────────────────────────┴────────────────────────────┴───────────────┘
# 步骤五:确认后端数据库的类型
请查看安装目录etc/ycm.yaml
文件中的DB相关配置,确认管理平台后端数据库的类型。