更新时间:2026-07-28 GMT+08:00
特性概述
功能定义
灰度升级是一种支持优先升级部分节点的在线升级方式。通过先选择部分节点进行灰度升级,进入灰度观察期观察新版本稳定性,再升级剩余节点的方式,实现全部升级操作。
其核心实现包含以下三个维度:
- 系统表与函数兼容性
- 针对大版本升级导致的系统表结构变更,将新/旧版本系统表结构及系统函数固化于二进制内。
- 确保新旧版本二进制均能解析并使用新旧系统表元组。
- 二进制替换策略
- 对于大版本升级和二进制升级涉及的新、旧二进制替换,优先灰度替换指定节点的二进制,观察系统运行稳定性。
- 待系统运行一定时间后,再替换剩余节点的二进制。
- 操作系统与硬件升级协同
用户场景
支持全业务操作。支持用户自定义灰度升级顺序,进行节点级滚动灰度升级。既可先升级备DN,升级成功后可主动进行主DN的切换,具备主动控制DN主备切换时机的能力。
规格约束
技术架构
图1 灰度升级技术架构
图2 灰度升级指定--auto_script参数自动生成脚本技术架构
数据库升级体系向上对接数据库运维管理平台,通过标准化升级接口及专用工具gs_upgradectl对接DN和gsql,最终依托升级脚本完成数据库升级。
指定auto_script参数升级脚本在切换二进制之后自动生成,小版本升级也会生成脚本并执行。该参数为内部升级方式过度使用参数,故未对数据库运维管理平台开放使用。
为最小化二进制切换对业务的影响,采用分阶段的二进制切换机制:
- 切换进程管理组件om_monitor和cm_agent;
- 切换不影响业务的集群管理组件cm_server和ETCD;
- 切换业务影响组件DN、CN和GTM。
父主题: 灰度升级(非透明多写)