更新时间:2026-07-28 GMT+08:00
分享

技术原理

技术架构

图1 滚动升级技术架构
图2 滚动升级指定--auto_script参数自动生成脚本技术架构

数据库升级体系向上对接数据库运维管理平台,通过标准化升级接口及专用工具gs_upgradectl对接DN和gsql,最终依托升级脚本完成数据库升级。

指定auto_script参数升级脚本在切换二进制之后自动生成,小版本升级也会生成脚本并执行。该参数为内部升级方式过度使用参数,故未对数据库运维管理平台开放使用。

为最小化二进制切换对节点业务的影响,采用分阶段的二进制切换策略:

  1. 首先切换进程管理组件om_monitor和cm_agent。
  2. 其次切换不影响业务的集群管理组件cm_server和ETCD。
  3. 最后切换业务影响组件DN、CN和GTM。

对于实例切换,不同实例采用不同的滚动方式:

  • 一主多备实例:备机优先切换后执行主机切换。
  • 具体滚动升级方式如下:
    • CN:多轮升级,每轮单节点切换。
    • GTM/CMS:两轮升级。首轮批量升级所有备机,次轮执行主机升级。
    • DN/ETCD:多轮升级。先升级少数派节点,再升级剩余少数派节点,最后升级主节点。具体策略:初始轮次升级两个节点(各一个);当节点总数为奇数时,升级(n/2)个节点;为偶数时,升级(n/2 -1)个节点。

性能指标

  1. 单分片升级业务中断时长≤10秒。
  2. 升级最后一个分片时会中断业务2 ~ 3次。
  3. 部署形态3C1D,升级路径版本相差不超过2个C版本。
  4. 全节点升级时效:业务空载,集群状态、网络及硬件条件无异常时,一次性升级全部节点时集群默认数据库数量升级总时长在20min内。

相关文档