TiDB 版本升级的小 Tips
作者: WalterWj 原文来源:https://tidb.net/blog/b63a37f3
TiDB 版本说明
TiDB 版本定义规则
TiDB 版本的命名方式为 X.Y.Z。X.Y 代表一个版本系列。
从 TiDB 1.0 起,X 每年依次递增,X 的递增代表引入新的功能和改进。
Y 从 0 开始依次递增,Y 的递增代表引入新的功能和改进。
一个版本系列首次发布时 Z 默认为 0,后续发补丁版本时 Z 从 1 开始依次递增。
长期支持版本 (Long-Term Support Releases, LTS) 约每六个月发布一次,会引入新功能、改进、缺陷修复和安全漏洞修复。注意非 LTS 版本企业级服务不完善 (比如需要 Hotfix 解决问题)
LTS 维护周期
TiDB LTS 版本都是有维护周期的,且只有 LTS 版本才提供代码级别的修复 (hotfix)。对于 LTS 版本,我们有 3 个层面的支持:
Maintenance Support:在该版本的维护周期内,如果出现 BUG,会按照需求进行对应版本迭代,即版本 Z 位数的变更
Extended Support:可以提供企业级服务,对于在时间周期中遇到的严重 BUG,可以申请 Hotfix 补丁方式,定制出同版本修复包。
End of Life (EOL): 在 Extended 周期结束之后,PingCAP 就不对该版本提供修复及技术支持服务。遇到问题只能想办法使用 workaround 绕过或者升级,无法提供补丁方式修复
具体细节和维护时间可见:https://cn.pingcap.com/tidb-release-support-policy/
重点关注
v3.0 在 2023-09-25 已经过了 EOL,v4.0、v5.0 版本会 2024-04 月初过 EOL 周期。
v5.3 及以下,都会在 2024 过 EOL 周期。
当使用版本过了 EOL 周期后,是很难直接提供代码级别的问题修复,且由于代码较旧,问题定位相对会比较麻烦,时效性很难保证。
版本升级注意事项
由于 TiDB 版本升级是属于高风险的重大变更,为保障升级工作的顺利开展,特提供以下文档帮助客户开展升级前检查工作。
升级版本选择
检查当前版本
确定目标版本
登录 github 检查版本是否存在符合使用场景但是没有修复的 bug
推荐使用 LTS 版本最新 patch 的版本
是否为版本跨度大的升级
查官方文档确认版本升级线路是否支持
明确此次升级需求
集群健康状况
确认集群拓扑结构是否满足高可用需求
集群拓扑是否健康
硬件配置是否达标
集群使用情况
集群数据量
大表情况
表宽度,字段数量
SQL 语句 DDL\DML 执行情况 QPS
字符集等兼容情况
检查升级技术线路
原地升级
原地停机升级
原地滚动升级: 需要关注对业务的影响和组件副本
迁移升级
升级时间估算
后备计划时间估算
升级预案检查
制定应急预案
降级预案
回退方式
逃生通道
TiDB 暂不支持版本降级或升级后回退,可以使用迁移升级的方案
版本配置变更检查
检查升级前后版本系统变量、配置项差异对比
手动查询收集信息
检查维度
关注默认值对版本变化
关注使用了非默认值的变量或配置项
关注配置项发生移除或新增
关注新特性
是否有和使用相关 Issue
参考
实践案例
以下是 6.5 版本之后相比之前版本默认值有变更的部分比较核心配置,但是从低版本升级上来默认值有可能没有被正确设置。下面的设置都是最新的默认值行为可以作为参考,请结合业务情况设置。
注:如果升级的后的版本不是 LTS 版本最新 patch 的版本,请关注登录 github 检查版本是否存在符合使用场景但是没有修复的 bug,部分场景遇到 bug 可需要将参数设置为之前版本的默认参数。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/87e0e2fb3aa3a3fb20c106557】。文章转载请联系作者。
评论