TiDB集群数据迁移有什么推荐方案?v6.1集群的数据可以迁移到v8.5集群吗?

【TiDB 使用环境】生产环境
【TiDB 版本】 v6.1
【操作系统】centos 7
【部署方式】机器部署
【集群数据量】1T以上
【集群节点数】 pd,tidb :3,tikv:4
【问题复现路径】
目前集群节点在美国,美国的机房准备全部退掉,准备迁往新加坡集群:
1.准备新加坡机房新部署一样的集群,将美国机房的数据再同步迁移到新加坡机房集群,有什么推荐的迁移步骤?
2.目前美国机房的集群使用的是v6.1版本,如果新加坡机房部署最新的v8.5集群,从v6.1集群迁移数据到v8.5版本的集群是否有问题?
3.有没有必要从v6.1升级到v8.5?v8.5对比v6.1的优势的是什么?

方法很多,能停机的话,你可以使用br

https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-overview/#tidb-备份与恢复概述

不能停机或者不想停机,那就扩容缩容也能达到迁移数据的效果。就是跨机房肯定有流量费用。还有就是可能需要一些placement rule相关的知识。保证数据迁移前,不要有leader出现在其他机房上。

这个介绍的很详细。

https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-overview/#兼容性

br迁移的话,看br的兼容性这段内容。
如果是扩容缩容来迁移的话。等于是在同一个集群内的迁移,集群版本不会变。

优势太多了,7.1支持资源管控就是特别重要的一个版本。后面还有dll分布式执行框架,向量搜索一堆特性。
详细内容自行阅读下面这个链接。

https://docs.pingcap.com/zh/tidb/stable/basic-features/#tidb-功能概览

1 个赞

参考官方文档就行了,别搞这么多花样


他怎么问,我怎么答的,没搞花样吧 :sweat_smile:

1 个赞

首先在新加坡部署新集群,如果又新特性需求可以直接部署8.5,为了稳妥也可以继续部署6.1,然后br或者dumpling+lightning先全量同步数据,后面用ticdc同步实时数据过来,在业务停机时间,切换业务对接到新加坡集群即可。
当然,最好是整个测试环境先演练一下

目测不能用br备份还原,只能用dumpling+lightning的方式了

2 个赞

dumpling出来在load到新集群

1 个赞

dumpling+lightning全量同步数据,然后用ticdc同步实时数据过来。这方式稳妥,方便测试,校验数据,还可以进行业务功能测试。

逻辑导出再导入,主库调整gc时间,然后配ticdc同步

不停机迁移方案,我这边迁移很多次了,最大数据量30TB。

使用placement-rule方式迁移:
1、给集群tikv打标签,分为美国、新加坡

2、扩容新加坡tikv节点

3、扩容副本(通常跨区带宽费用很高,要分批扩容region副本)
3.1 扩容副本1,此时美国3,新加坡1
3.2 扩容副本2,此时美国3,新加坡2

4、副本主从切换:
切换region-leader到新加坡,并且新加坡3、美国2

5、下线美国副本
5.1 缩容美国副本,只留新加坡
5.2 缩容美国tikv,完成存储扩容,剩下tidb、pd迁移就很简单了。

另tiflash迁移会比较麻烦,要停机,不然打满带宽。

1、上述方案是迁移

2、升级也是一个大事,如果业务简单可以迁移完再升级,个人感觉俩事放一起,太复杂。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。