共计 2287 个字符,预计需要花费 6 分钟才能阅读完成。
数据库降级自身就是存在肯定危险的操作,TiDB 如何实现安全、顺利、无感的迁徙?本文联合一个使用量过亿的用户 K8s 集群降级的案例,介绍了 TiDB 的降级工具包的应用办法,如何实现从简略的参数比对到全场景的模仿重放,依据理论需要和老本考量自主抉择搭配计划。
有了 TiDB 降级工具包,你 不用在降级抉择背后患得患失,也不必在降级过程当中放心焦虑 。 浏览本文,带你高兴降级!**
降级的苦与乐
作为 TiDB 的老用户,置信你在应用 TiDB 的时候,总有可能会遇到须要对数据库进行降级的状况。一方面是因为 TiDB 自身是个疾速迭代的产品,新版本的新个性能很好地解决理论业务中的问题;又或者是以后应用的版本遇到某个安全漏洞或 Bug,须要高质量更稳固的新版本反对。 无论是哪种状况,降级都被提上了议事日程。
然而作为数据库老玩家的你,应该很分明 降级自身就是存在肯定危险的操作,比方:新版本中存在一些新的配置参数须要你去理解和适配,配的不好可能会出问题;新版本修复了安全漏洞,严格了平安权限,有些旧版本反对的拜访模式也须要随之改写;之前一些 SQL 的执行打算好不容易的通过各种伎俩稳定下来,然而新版本也带来了不确定性。这就像你去了若指掌的餐馆点餐,忽然间发现换了一个厨师,新徒弟可能是米其林的大厨,但那道菜是不是你喜爱的口味却因人而异。总之你和我的想法一样,心愿降级或迁徙是安全的,顺利的,甚至是无感的。以至于某天业务找到你的时候不是埋怨忽然呈现的问题,而是称誉零碎最近好用了很多,这才是降级最终的目标和价值。
TiDB 的百宝箱
那如何保障你的降级是安全顺利的呢?TiDB 技术团队提供了一组功能完善的降级工具包,从简略的参数比对到全场景的模仿重放,你齐全能够依据你的理论需要和老本考量自主抉择一种最佳的搭配计划,为你的降级操作保驾护航。 这套工具包实际上也已胜利利用在了一款使用量过亿的用户 K8s 集群降级上,在之后的篇幅中咱们会介绍这个用户案例。接下来咱们先看看这些工具都是什么:
- TiDBA 通过比照降级前后版本的参数,帮忙你疾速辨认出新版本参数的变动。
- Pt-upgrade 用于 mysql/maria/aurora 等很多商业客户的降级中,通过大量实际确定是可用且牢靠的。percona consulting 团队的次要工具。该工具应用 slow query log 在降级的源集群(旧版本)和指标集群(新版本)上同步回放,以测试 SQL 兼容性。
- Plan Change Capturer(PCC) 通过检测不同版本 TiDB 的执行打算变动,帮忙你辨认性能退化的 SQL,在降级前辨认执行打算变动带来的危险。
- Workload-sim 通过应用 Database Replay 在测试零碎上运行实在的工作负载,帮忙你全面评估降级的成果。
简略来说,TiDBA 是参数比对工具,提醒你新增或批改的参数;pt-upgrade 次要解决的是兼容性和正确性问题;PCC 专门针对执行打算,解决潜在性能回退的问题;而 Workload-sim 是一份全量业务负载的拷贝,不仅能够提前发现降级潜在的问题,还能够评估降级的成果。他们所破费的资源由低到高,相应验证的成果也是从粗略到具体,你能够依据你的需要进行抉择和自由组合。
某乎的降级之旅
接下来咱们看看实战演练。案例中的 TiDB 用户是中文互联网高质量的问答社区和创作者汇集的原创内容平台,是中文最大的问答社区。抉择降级的起因是旧集群版本较早,放心遇到修复的已知问题,造成运维事变;此外客户须要将所有业务对立到雷同版本,不便对立运维治理。而待降级的集群承载其商广平台业务,是其最重要的商业集群之一,因而客户分外器重此次降级的平安保障。因而咱们举荐客户采纳 TiDBA + PCC + Workload-sim 的详尽策略,最终客户采纳了 TiDBA 和 Workload-sim 对降级进行了测试验证。
降级环境
首先咱们来看看集群的规模。
生产环境集群信息
测试环境集群信息
留神: 为了精确评估降级后危险,倡议创立和生产环境规格相似的集群进行测试。
降级流程
而后咱们来看具体的降级测试流程。
- 应用 BR 从生产集群备份全量数据
- 应用 BR 将全量数据 restore 到测试集群
- 步骤 2 操作时,同时应用流量复制工具 workload-sim 在生产环境 v4.0.9,某一台 TiDB 节点采集流量(须要确认所有 TiDB 节点业务流量平衡拜访)
- 步骤 2 实现,并且步骤 3 采集实现后,应用流量回放工具,在测试环境回放流量,收集信息
- 将测试集群从 v4.0.9 降级到 v4.0.14 指标版本,并且清空数据
- BR Restore 备份的全量数据(倡议能够齐全重建集群,不会有 empty region 的影响)
- 应用流量回放工具在测试环境 v4.0.14 回放流量,收集信息
- 比对 v4.0.9 和 v4.0.14 版本的流量回放信息
- 4.0.9 生产和 4.0.14 的测试环境,应用 TiDBA 比照参数变动
降级比对
接下来咱们来看看流量回放成果的比照。
降级前
降级后
从图中能够显著看出:降级前后,业务没有显著变动,因为是小版本的降级,是合乎测试预期的。
后记
在实现降级测试工具的比对之后三天,客户在业务低谷期对生产环境进行了降级操作,而最终理论的降级也是同样的成果,整个过程相当安稳,业务根本没有感知。看到这里或者你会说,这后果看起来不是都一样嘛?是的,小版本的降级以及正确的降级操作大概率是能顺利播种新版本一枚。不同的是,通过采纳降级工具的验证比对,再进行降级操作,你晓得降级是平安可预期的,所以你大可不必在降级抉择背后患得患失,也不必在降级过程当中放心焦虑。如果你还在忧愁纠结降级的苦与乐时,无妨来试试咱们的降级工具,让他们来帮忙你高兴降级!