恢复误删的TiDB集群

【TiDB 使用环境】生产环境
【TiDB 版本】v4.0.7
【操作系统】Amazon Linux 2

【部署方式】云上部署 AWS
【集群数据量】TB级
【集群节点数】待确认
【问题复现路径】做过哪些操作出现的问题
之前的版本:
TiDB Operator:V1.1.6
TiDB cluster:v4.0.7

操作,升级tidb operator过程中,遇到问题,按照deepseek的提示,卸载重装,
卸载过程中删了一些东西

kubectl delete crd tidbclusters.pingcap.com tidbmonitors.pingcap.com backups.pingcap.com restores.pingcap.com
kubectl delete clusterrole,clusterrolebinding -l app.kubernetes.io/instance=tidb-operator
kubectl delete all,secret,configmap -l app.kubernetes.io/instance=tidb-operator -n tidb-admin

然后tc就没有了,tidb-cluster命名空间下没有资源了

现在TiDB Operator已经升级到了v1.6.1

【遇到的问题:问题现象及影响】
没有备份的tidb-cluster.yaml文件,但是PVC都还在,另外还有最近备份的一个tidb-cluster命名空间下的statefulset文件。
现在需要从这个pvc中恢复原来的集群,这样可以做到吗
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
暂无dashboard
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

可以恢复,把crd装上,建一个同名的实例就行了。建议先找个别的资源测试下。

1 个赞


你的 operator 版本好像有点高,不一定能支持 4.0.7 吧
把 operator 版本降下来再恢复吧。

1 个赞

是的。
先把operator的版本降到了1.4.7,再进行恢复的;
虽然没有备份的tidb-cluster.yaml,但是可以使用模板;
主要改两个地方,集群名称和组件的副本数;这些可以在之前的sts文件中找到;

最重要的是,操作前给所有的pvc做了快照

目前集群已经恢复并继续升级了

1 个赞

感谢感谢!

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